コンテナ・オーケストレーションは、コンテナのプロビジョニング、導入、ネットワーキング、基準化、可用性、およびライフサイクル・マネジメントを自動化します。 今日、Kubernetesが最も人気のあるコンテナ・オーケストレーション・プラットフォームであり、Amazon Web Services(AWS)、Google Cloud Platform、 IBM Cloud、そしてMicrosoft Azureなど、パブリック・クラウド・プロバイダーのトップ企業の数々が、Kubernetesの管理されたサービスを提供しています。 その他のコンテナ・オーケストレーション・ツールには、Docker SwarmやApache Mesosなどがあります。
コンテナ は、あらゆる環境でコードを実行するためにアプリケーション・ソース・コードをすべての オペレーティング・システム (OS)ライブラリーや 依存関係 と組み合わせる、軽量で実行可能なアプリーション・コンポーネントです。
コンテナを作成する能力は数十年にわたって存在していますが、それが広く利用可能になったのは2008年で、 Linux がコンテナ機能をその中核に据えた時からです。さらに、広く使用されるようになったのは Docker オープンソース コンテナ化プラットフォームが2013年に発表されてからです。 (Dockerは非常に人気があるため、「Dockerコンテナ」と「コンテナ」は同じ意味で使用されることがよくあります。)
より資源効率が良く、 仮想マシン (VM)より移植しやすいため、コンテナ(より具体的には、コンテナ化された マイクロサービス または サーバーレス 機能)は、現代の クラウドネイティブ アプリケーションの デファクト 計算 単位になっています。 (コンテナーの利点の詳細については、以下のインタラクティブ・データを参照してください)
少数の場合、コンテナの導入や管理は手動で簡単に行えます。 しかし、ほとんどの組織で コンテナ化されたアプリケーション の数は急速に増えており、それらをスケールで(特に、 継続的組み込み/継続的デリバリー (CI / CD)または DevOps パイプラインの一部として)管理することは オートメーションなしでは不可能です。
コンテナ・オーケストレーションを取り入れ、 コンテナ化されたアプリケーション とサービスの 導入 と実行にかかるオペレーション・タスクを自動化しましょう。 最新の IBM の調査 (PDF、1.4MB)によると、 コンテナを使用する開発者の70%がコンテナ・オーケストレーション・ソリューションを使用しており、そのさらに70%はフルマネージド(クラウド管理された)コンテナ・オーケストレーション・サービスを組織内で使用していると報告しています。
ツール間の方法論の違いや能力差はありますが、コンテナ・オーケストレーションは基本的に3つのステップからなります(反復アジャイルや DevOps パイプラインの一部である場合は、プロセスが循環することもあります)。
多くの コンテナ・オーケストレーション・ツール は、 宣言型 の構成モデルをサポートしています:開発者が希望する構成状態を定義する 構成ファイル を書き( YAML また JSON 内で、使用するツールに応じて)、オーケストレーション・ツールはインテリジェンスを用いてファイルを実行し、構成状態を実現します。 構成ファイル は通常
オーケストレーション・ツールはコンテナ(そしてレジリエンシーのためにコンテナのレプリカも)のホストへの導入をスケジュールし、CPU能力、メモリー、または 構成ファイル の中に指定されたその他の条件や制約に基づいて、最良のホストを選択します。
コンテナがデプロイされると、オーケストレーション・ツールはコンテナ定義ファイル(主にDockerfile)に基づいて コンテナ化されたアプリケーション の ライフサイクル を管理します。 これに含まれるのは
コンテナ・オーケストレーションの主な利点が オートメーション であることは明らかですが、 それは膨大な コンテナ化されたアプリケーション を管理する上での手間や複雑さを大幅に削減してくれるからだけではありません。 オペレーションを自動化することで、オーケストレーションはアジャイルや DevOps アプローチをサポートし、チームが開発とデプロイを急速に繰り返して新機能や改善のリリースを早めることを可能にします。
加えて、オーケストレーション ツールのインテリジェンスは、コンテナ化の固有の利点の多くを向上 または拡張 することができます。 例えば、 宣言型 構成に基づく自動化されたホスト・セレクションとリソースの 割り振りは、コンピューティング・リソースの利用効率を最大化します。自動化された正常性モニタリング及びコンテナの再配置は、可用性を最大化します。
前述の通り、 Kubernetes は最も人気がある コンテナ・オーケストレーション・プラットフォームです。 コンテナ エコシステム内の他のツールと組み合わせることで、 Kubernetes は企業が生産性の高い Platform-as-a-Service(PaaS) を提供することを可能にします。これは、インフラストラクチャおよび運用に関連するタスクと クラウドネイティブ アプリケーション開発周辺の問題の多くに対処します。これにより、開発チームはコーディングとイノベーションに集中することができます。
Kubernetesが他のオーケストレーション・ソリューションに勝っているのは、以下の分野においてより包括的かつ洗練された機能性を含んでいるからです:
コンテナは アプリケーションの最新化 と ITインフラストラクチャー最適化に適しています。 Kubernetesなどの オープンソース 技術上に構築された IBM クラウドのコンテナサービスは、 クラウドネイティブ アプリケーションの開発、そしてプライベート・クラウドや パブリック・クラウド 、 オンプレミス ITインフラストラクチャーの最高の機能を統合したオープンなハイブリッド・クラウドへの道のりを用意し、加速させてくれます。
次のステップに進んでください。
すぐに開始するために、 IBM Cloudアカウントのための サインアップ をします。