
88
5
章 主要なインフラストラクチャサービス
ジュールに基づいて)。サービスのなかには、それらのジョブを自分で管理できるものがある。たとえ
ば、CIサーバーは、エージェントプロセスを実行する一連のサーバーにジョブを分散させることがで
きる。cronのようにオペレーティングシステムのスケジューラを使うものもある。しかし、cronは分散
ジョブ用には設計されていない。分散ジョブの管理は、一部のコンテナオーケストレーションツールが
提供している機能である。
5.5.4
コンテナオーケストレーションツール
Dockerなどのコンテナシステムの急成長にともない、コンテナオーケストレーションツールが生ま
れた。これらのほとんどは、コンテナホストのプールのためにエージェントを実行し、新しいコンテナ
インスタンスを実行するホストの選択、エラーを起こしたインスタンスの交換、インスタンス数の増
減によるスケーリングなどの処理を自動的に行う。ツールのなかには、サービスディスカバリ、ネット
ワークのルーティング、ストレージ、スケジュールを指定したジョブの実行、その他の機能も提供する
ものがある。
2016 年始めの時点では、利用できるツールの数はまだ増加している。ツールによってアプローチ
は異なり、コンテナ管理の異なる側面に重点を置いている。ツールの例としては、Fleet、Docker
Swarm、Kubernetes、Mesos、Nomadなどが挙げられる。CloudFoundry、Deis、OpenShiftなど
のPaaS ...