K8s 5分講座#03 コンテナの利点

Monta

今日のテーマは「コンテナの利点」についてだ。

はかせ
はかせ

K8sの前提知識、第3弾ですね、お願いします!

もんた
もんた
1

開発と運用

従来の開発→運用引継ぎ

開発と運用の分離というのを知っているかな?

はかせ
はかせ

もちろんです!開発者がアプリケーションを開発、その後運用チームに引き継がれ、本番環境へのデプロイと管理を行うことですよね。

もんた
もんた

その通り、開発と運用の権限を同一エンジニアが持っていると、本番環境でプログラムやDBの改変をできてしまうから、担当や権限を開発と運用で明確に分けるというものだ。

はかせ
はかせ

運用チームが機械的に対応できるように、手順書とか用意して引き継ぐんですよね。いやーアレが大変なんだ…。。

もんた
もんた

苦労しているな。開発者はセットアップやインストール、設定方法や前提条件など、細かく指示をする必要があるんだよな。逆に運用チームは手順外の対応はご法度はっとだったりする。

はかせ
はかせ

ですね。運用チームは自分たちで開発した訳ではないので当然内容については詳しくないですし、トラブル時は開発・運用で協力して解決していくことが多いです。

もんた
もんた

コンテナの開発→運用引継ぎ

コンテナの場合、基盤のセットアップに関わる大部分は、アプリケーションのイメージを作成するDockerファイルのような形で開発者が行えるようになった。

はかせ
はかせ

手順書を作る代わりに、セットアップをしたDockerファイルを開発者が作るんですね!

もんた
もんた

このアプリケーションのイメージは、どのコンテナ・プラットフォームでも実行でき、どこでも同じように実行されることが保証されている。

はかせ
はかせ

開発環境で動くこと確認出来たら、本番環境でも同じように動作するよ、と言うことですね。

もんた
もんた

そういうことだ。運用チームは単にそのイメージを使ってアプリケーションをデプロイできるようになった。

はかせ
はかせ

運用チームはイメージを変更しないので、開発と運用の分離も満たしているのですね!

もんた
もんた
2

コンテナとイメージの違い

今出てきた、イメージって何者なんですか?

もんた
もんた

イメージはコンテナを作成するために使用されるパッケージやテンプレートのことを指す。そのイメージをもとに作られた実行インスタンスはコンテナと呼ばれる。

はかせ
はかせ

そうか!開発環境で作ったテンプレートを本番環境で使うだけで、開発環境で稼働しているファイル自体をそのまま本番環境に持って行くわけではないのですね。

もんた
もんた
今日のポイント
  • 従来型の開発では、運用者に手順書を引き継いでデプロイ・管理をしてもらっていた
  • コンテナの場合は、デプロイの前提となる設定やセットアップをイメージとして引き継ぐことができる
  • イメージは、コンテナを作成するテンプレートであり、環境を跨いで使える
Coffee Break

放課後

私、運用チームで仕事してたことがあるんですよ。その時は朝礼で、運用ミスあるあるを回避するための訓示を全員で唱和していましたね…。

もんた
もんた

ちょっと知識があると自己判断で手順に無い作業をしようとしてしまうからな。運用チームでそれはNGなんだ。

はかせ
はかせ

本番環境で「ついうっかり」は信用失いますからね…気を付けます~。

もんた
もんた
次の講義はこちら
K8s 5分講座#04 オーケストレーション
K8s 5分講座#04 オーケストレーション
ABOUT ME
もんた
もんた
システムエンジニア歴15年、2児の父。
ITの世界に飛び込んで以来、仮想サーバ・ネットワーク・データベース・クラウド・コンテナ等、
様々な分野の業務に携わりながら、異動のたびに何度も”初心者”になり、学習を繰り返す。

会話形式でサラッと読み進められるIT技術講座を展開中。
読みやすいのに気づいたら基礎から応用まで身に付いている!そんな記事が目標です。
記事URLをコピーしました