
4.4
コンテナ
73
イートスポットを見失ってしまう。
コンテナは、ひとつのサービス、アプリケーション、ジョブをパッケージングするための方法だと考
えるようにすべきだ。アプリケーションとその依存コンポーネントをパッケージングするとともに、ホ
ストシステムが実行環境を管理するための標準的な方法を提供する強化版の RPMだと考えるのである。
複数のプロセスを実行する単一のコンテナではなく、それぞれがひとつずつのプロセスを実行する
複数のコンテナを目指そう。これらのプロセスは、独立した疎結合のエンティティになる。そうする
と、コンテナはマイクロサービスアーキテクチャにぴったりと適合するようになる
*
。
この考え方で作られたコンテナは、恐ろしく早く起動する。こうすると、日常的なデプロイ、再デプ
ロイ、マイグレート、アップグレードが簡単になるので、特に長期にわたって実行されるサービスプロ
セスで役に立つ。しかし、高速な起動が可能なことから、コンテナはジョブとして実行されるプロセ
スにも適している。スクリプトは、実行するために必要なすべてのものを含むコンテナイメージとして
パッケージングし、ひとつ以上のマシンで並列実行できる。
コンテナは、インフラストラクチャ全体での効率のよいリソース管理に向けた発展の新たな段階であ
る。仮想化は、VMを追加、削除して、分単位で負荷に合わせて能力をスケーリングできるようにした
という点でひとつの段階を築いた。コンテナは、秒単位で能力をスケーリングできるようにして
†
、その
次の段階を築いたのである。 ...