
ハードウェアを全く考慮せずにコンテナを展開できるMicrosoftのAzure Container Instancesが一般提供開始
トム・クレイジット著

コンテナがサーバーレスになるのはいつでしょうか?この質問はインフラマニアにとっては荒らしの餌のように聞こえるかもしれませんが、現在一般提供されている Microsoft の Azure Container Instances は、クラウドネイティブ ソフトウェア開発における 2 つの主要なトレンドを融合したものです。
Azure Container Instancesは、MicrosoftがCloud Native Computing Foundationへの参加を決定した昨年7月に初めて発表されました。お客様からのフィードバックを受けて、誰でもお試しいただけるようになりました。Azureのコンテナ担当プリンシパルプロダクトマネージャーであるゲイブ・モンロイ氏は、ACIにより、Azureのお客様はコンテナ化されたアプリケーションにおいて、「サーバーレス」コンピューティングの2つのメリット、つまり「インビジブルインフラストラクチャ」と「秒単位の課金」を享受できると述べています。
「パブリッククラウドに新しいコンピューティングプリミティブが導入されるのは、それほど珍しいことです」とモンロイ氏は述べた。彼が言及しているのは、ACIが基盤となるハードウェアインフラストラクチャから独立して実行される仕組みだ。つまり、顧客はコンテナを実行する場所を指定して仮想マシンを起動する必要がないのだ。
ここ数年、コンテナへの関心が急速に高まっています。その理由の一つは、企業が既存のインフラ投資からより高いパフォーマンスを引き出せることにあります。これは、10年前に仮想マシンが同様の効果を発揮したのと同様です。しかし、最近まで、パブリッククラウドでコンテナを実行するには、コンテナを実行する仮想マシンを指定する必要があり、仮想マシンは速度が遅く、1時間フルに必要かどうかに関わらず、時間単位で課金されていました。

ACIを使えば、仮想マシンを起動する必要がないため、10~20秒でアプリを起動できます、とモンロイ氏は言います。アプリの実行が終了したら、同じように素早くシャットダウンできるため、Microsoftへの支払いはアクティブだった時間分のみとなります。これは、Instagramの有名人がアプリやサービスへのリンクを投稿し、大勢の人がアクセスし始めた場合など、「バースト」ワークロードに最適です。
これは真の意味での「サーバーレス」ではなく、エンタープライズテクノロジーのバズワードが実際に意味を持つものです。ここ1年ほどで、サーバーレスコンピューティングへの関心は、サーバーレスコンピューティングと同等、あるいはそれ以上に高まっています。サーバーレスコンピューティングは、秒単位の課金とインビジブルなインフラストラクチャを組み合わせながら、開発者がイベントや関数を中心とした全く異なる方法でアプリを開発することを可能にします。
ACIを使用すると、コンテナ向けアプリケーションは他のコンテナサービス向けと同様に作成できますが、アプリ用のハードウェアをプロビジョニングする手順を省略できます。これは重要な点です。予期せぬ需要の発生時に十分なハードウェアサービスを割り当てないとアプリに問題が発生する可能性があり、また、ハードウェアを過剰にプロビジョニングして需要が低迷すると、コストが無駄になる可能性があります。
ACIは、昨年のAWS re:Invent 2017で発表され、米国東部リージョンで利用可能なAmazon Web ServicesのFargateに類似しています。ACIと同様に、Fargateはクラウドでコンテナを実行するプロセス全体から複雑さを軽減します。
Microsoft のバージョンは、昨年 12 月にテキサス州オースティンで開催された Kubecon で発表された仮想 kubelet を通じて Kubernetes もサポートしており、AWS は 2018 年後半にマネージド Kubernetes サービスを Fargate と統合する予定です。
2018 年にソフトウェア開発戦略を将来にわたって確実に実行する最善の方法については、それが可能だと仮定した場合、より広範な議論が残っています。
コンテナはポータビリティを約束しますが、大規模環境での管理には依然として高度なスキルが必要です。サーバーレスコンピューティング、つまりFunctions as a Serviceは、大規模なソフトウェア開発に関する全く新しい軽量な考え方であり、IBMやOracleがかつて認識していたようなクラウドプロバイダーへの依存を強める可能性もあります。
既にコンテナに投資しているなら、ACIやFargateのようなツールは非常に理にかなっています。しかし、コンテナの導入を検討し始めたばかりなら、コンテナを完全に諦めてサーバーレスコンピューティングに投資した方が良いという声が高まっています。数年後には、どちらが正しかったのかが明らかになるでしょう。
(編集者注: この投稿は、AWS Fargate の仕組みを明確にするために更新されました。 )