現代の企業のIT部門をもってしても、堅牢(けんろう)な分散型システムを開発するのは困難だ。コンテナ(アプリケーションの実行に必要な要素をまとめた環境)管理ソフトウェアの「Docker」は、このような分散型システムの基本コンポーネントを標準化し、構成と管理の複雑さを軽減した。
IT部門は、市販業務アプリケーションの配布を簡略化する目的でDockerを導入することが少なくない。さらにコンテナのプロビジョニング(配備)や監視を支援する「コンテナオーケストレーション」ツールを使用すると、開発者はPaaSと同様のアプローチで、Dockerのコンテナとして新しいエンタープライズアプリケーションを導入できるようになる。
クラウドベンダーが提供しているコンテナオーケストレーションツールには、Amazon Web Services(以下、AWS)の「Amazon EC2 Container Service」(以下、Amazon ECS)、Googleの「Google Container Engine」、Microsoftの「Azure Container Service」などがある。各サービスは企業にとって、さまざまな長所と短所を備えている。
Amazon ECSは他のAWSのサービスと密接に連携して、セキュリティ対策やストレージ、ログ記録、拡張性を実現する。各サービスのイベントやトリガーに反応し、コンテナやアプリケーションのパフォーマンスを監視しながら、新しいインスタンスを起動したり、終了したりする。AWSリソースの自動構築ツール「AWS CloudFormation」とも密接に連携し、開発者はAWS CloudFormation用のテンプレートを作成して、コンテナの動作を細かく調整できる。
全てのインフラをAWSへ集約した企業は、Amazon ECSを使用してアプリケーションを迅速に導入できる可能性が高い。だが全面的にAmazon ECSのツール群に依存すると、ベンダーロックインの問題が生じる恐れもある。一方でAWS以外のインフラで運用しているシステムがある場合、例えばAmazon ECSを使ってプライベートクラウドで実行しているアプリケーションやSaaSのイベントに対処するのは難しい。他のコンテナオーケストレーションツールの併用が必要になるだろう。
Google Container Engineは、Dockerコンテナのクラスタリソース管理ツール「Kubernetes」をエンジンとして実装したコンテナオーケストレーションツールだ。Googleは「Gmail」「Google検索」「Googleマップ」など、高い拡張性を誇る同社アプリケーションをコンテナで動作させており、Google Container Engineにもそのノウハウを生かしている。
ナイキ vs アディダス Z世代の心をつかむアプローチの違い
有名人や人気ファッションブランドとのコラボに加え、環境や社会問題への取り組みなど、...
求心力のある変革ビジョンに必要な「PECの工夫」
変革ビジョンの策定に当たっては、その内容もさることながら「決め方や伝え方」に心を配...
マーケティングDXをけん引するリーダーの役割
デジタルツールとデータを活用することで優れた顧客体験を提供するマーケティングDXの推...