先日のブログ記事で、Microsoftは、Azure Container Instancesという新しいコンテナサービスを紹介した。Microsoftはこのサービスを、次のように位置づけている。
VMインフラストラクチャ管理を必要としない、簡便かつ迅速なコンテナの提供。
マイクロサービスとDevOpsの興隆により、コンテナの採用が増えている。マイクロソフトの計算サービス担当ディレクタであるCorey Sanders氏は、コンテナを使用するメリットを次のように説明している。
コンテナは幅広く受け入れられたオープン標準であるため、プラットフォーム間やクラウド間での移植性が向上します。
Microsoftには現在、Azure Container Services(ACS)という名称のコンテナプラットフォームがある。ACSはMesosphere DC/OSやKubernetes、あるいはDocker SwarmといったオーケストレーションツールをAzureサービスに導入するための、コンテナホスティングソリューションを提供するものだ。
Azure Container Instance(ACI)サービスは、オーケストレーションの概念やプログラミングモデルの学習を必要としない、よりシンプルなエクスペリエンスを提供する。ACIを使用することでコンテナのデプロイが簡単になり、ユースケースの開発やテストに早く着手できるようになる。VMとは違ってリソース消費量に予測性があるため、バースティングやスケーリングに使用することも可能だ。
Azureのサポートするさまざまなコンテナテクノロジと合わせて、Microsoftは今回の新サービスを次のように位置付けている。
出典: https://azure.microsoft.com/en-au/services/container-instances/
Azure Container Instancesでは、コンテナのプロビジョニングに関して、さまざまな粒度と頻度の選択が可能になっている。Sanders氏の説明によれば、
Azure Container Instancesのインスタンスは、それぞれが単一のコンテナです。数秒で起動し、秒単位で課金されます。さらに、多彩なサイズを提供し、メモリ容量とvCPU数が別々に選択可能であることにより、アプリケーションをインフラストラクチャに完全に適合させることができます。コンテナに対して必要以上に時間課金されたり、あるいは必要以上のGBを利用するようなことはありません。
ACIは、Azureエコシステム内ではファーストクラスのオブジェクトとみなされており、RBAC(Role-Based Access Control)を含む数多くのAzureの機能を利用することができる。コンテナ個々の課金の割り当てにタグを利用することも可能だ。その一方で、Azure Container Instanceは直接公開されているため、仮想マシンを管理する必要はない。あるいは、Sanders氏の表現によれば、
クラウドで動作する、コンテナの中の、ごく普通のコードに過ぎません。
ACIのプロビジョニングは、Azure CLI(Command Line)ツールのコマンドひとつで実行することができる。
出典: https://azure.microsoft.com/en-us/blog/announcing-azure-container-instances/
コンテナに必要なコア数とメモリ容量のコントロールは、前述のcontainer create文で指定可能なパラメータによって行なうことができる。
出典: https://azure.microsoft.com/en-us/blog/announcing-azure-container-instances/
Azure Container Instancesはシンプルさを念頭に設計されており、オーケストレーションエンジンの代替を意図してはいない。それを示すものとしてMicrosoftでは、Azure Container InstancesにKubernetesクラスタをデプロイ可能にするACI Connector for Kubernetesを、オープンソースとしてリリースしている。このアプローチのメリットについて、Sanders氏は次のように説明する。
これにより、VMインフラストラクチャを管理する必要なく、かつポータブルなKubernetes APIのメリットも引き続き活用しつつ、Kubernetesによってオーケストレーションされたコンテナの稼働が、オンデマンドかつほぼリアルタイムに可能になります。さらには、同じK8クラスタ内でVMとコンテナインスタンスを同時に利用できるようになり、双方のメリットを最大限に活用することができます。
Kubernetesのデプロイが実現するアジリティを活用することにより、他のクラウドプロバイダでは類を見ないような、ACIとACSモデル間の移行も可能になっている。
Azure Container Instancesは現在、Linuxコンテナ用の公開プレビュー版が提供されている。Windowsのサポートは今後数週間内に公開される予定だ。
この記事を評価
- 編集者評
- 編集長アクション