Microsoft は、スケーラビリティとオーケストレーションよりも速度と使いやすさを重視したコンテナを展開する新しい方法である Azure Container Instances のプレビューをリリースしました。
Azure コンテナー インスタンスで実行される Web アプリケーション
同社は既にAzure Container Serviceを提供しているのに、なぜ新たな選択肢が必要なのでしょうか?その狙いは、インフラストラクチャをさらに抽象化することで導入を簡素化することです。既存のContainer Serviceは、DC/OS、Kubernetes、Swarmなどの管理システムによるオーケストレーション用に構成されたVM(仮想マシン)のクラスターを作成することで機能します。
Container Service は設定の自動化をうまく行いますが、VM へのパッチ適用など、扱いにくい問題もあります。また、コンテナ化されたテストアプリケーションをすぐに起動したいだけであれば、比較的重いソリューションとなります。
新しいAzure Container Instances (ACI) は、より小さく、より高速で、より使いやすくなりました。現在はAzure Cloud Shellからのみご利用いただけます。以下のコマンドでコンテナインスタンスを作成できます。
az コンテナー作成
実行するコンテナ イメージ、必要な仮想 CPU の数、メモリの量、IP アドレスがパブリックかプライベートかを指定します。
コンテナは当然VM上で動作しますが、その詳細と管理はサービス側で処理されます。これはマルチテナントサービスですが、Microsoftは「コンテナ内でもアプリケーションはVM内と同様に分離されている」と保証しています。
VM ベースのコンテナを作成するよりも起動時間が短くなります。
この新しいサービスはAzure Container Serviceの置き換えを意図したものではありません。Azure Container Serviceは、オーケストレーターと組み合わせて使用できる、よりスケーラブルなデプロイメントを求める場合には依然として適しています。ただし、MicrosoftはKubernetes用のACIコネクタもリリースしているため、同じKubernetesクラスター内でVMコンテナとACIコンテナの両方を使用できます。
プレビュー段階にある別のAzureサービス、Web App on Linuxと重複する部分があります。Web App on Linuxでは、コンテナをAzure Web Appsとしてデプロイでき、スケーリング機能も容易です。ACIと同様に、Web Appsはデプロイに使用するVMの管理負担を軽減します。Azure上でコンテナを稼働させる最も迅速な方法としては、依然としてACIが勝っています。
上記の 3 つのオプションはすべて、同じ Azure Container Registry からコンテナー イメージをデプロイできます。
ACI は現在 Linux コンテナーのみをサポートしていますが、Azure Compute のディレクターである Corey Sanders は、Windows コンテナーのサポートが「今後数週間以内」に提供されることを約束しています。
Microsoftはまた、Linux FoundationのプロジェクトであるCloud Native Foundation(CNCF)にプラチナメンバーとして参加することを発表しました。これは、Google、IBM、RedHat(「AWS以外ならどこでも」という意味)と並ぶ15社のメンバーの1社です。CNCFは、マイクロサービス指向のコンテナパッケージアプリケーションの推進に注力しています。
改めて、Microsoftは、Azureクラウド上でWindowsとLinuxのどちらを実行しているかは問わないと明言しています。ACIは、サービスが宣伝どおりに機能することを前提とすれば、コンテナ化されたアプリケーションを手間をかけずに迅速に展開、テスト、そして解体できる手段として、非常に有用であるように思われます。
詳細については、こちらをご覧ください。®