米Amazon Web Servicesは、米ネバダ州ラスベガスで開催中の年次イベント「AWS re:Invent」2日目の基調講演で、コンテナサービス「Amazon EC2 Container Service」を提供すると発表した。コンテナサービスとして最近注目を浴びている「Docker」のサポートを表明した。
Dockerの最高経営責任者(CEO)を務めるBen Golub氏が登壇。「Dockerは破壊的なテクノロジ」と述べた
実際のところ、これまでもAWSユーザーの多くが、1つの「Amazon Elastic Compute Cloud(EC2)」上にDocker Engineや軽量なLinux版コンテナサービスを載せ、その上で複数のコンテナを運用するという使い方をしていた。
だが、従来は複数のインスタンスにまたがってコンテナを利用する場合は、コンテナごとに適正なリソースを割り当てたり、コンテナを稼働させるインスタンスを設定および監視したりするために、追加開発などが必要だった。
発表したEC2 Container Serviceにより、コンテナを支えるサーバ部分であるEC2のインスタンスを複数並べ、サーバリソースを共有するクラスタ構成にし、その上にDocker Engineを載せられるようにした。
ユーザーが実行したいアプリケーションを指定すれば、ロードバランシングなど他のさまざまな作業は同サービスが自動で処理する。アプリケーションの要求やユーザーのシステム構成への方針などに応じて、望ましいインスタンス構成を見つけてくれるとしている。
EC2でDockerを利用できるようにする新サービスを発表
Dockerのようなコンテナサービスが求められる背景には、アプリケーションの構築の考え方が、1つの大規模なものをつくるという従来型のものから、小さく細かなサービス、いわゆるマイクロサービスと呼ぶ手法へと急速に移りつつあるという事情がある。かつてのサービス指向アーキテクチャ(SOA)やWebサービスの流れをくむとも言われており、多数の細かなサービスをREST APIを使って組み合わせて構築する手法だ。
アマゾン データ サービス ジャパンのエバンジェリストを務める玉川憲氏は「Amazon.comのウェブサイトは巨大に見えるが、レビュー機能など細かなマイクロサービスが組み合わさってできている」と話す。
基調講演で紹介された米国の通販サイト「GILT」では、AWS上でのDocker導入前は、旧来型の7つのアプリケーションを運用しており、アプリケーションの開発から導入にかかる期間は週単位だったという。Docker導入後は、300のマイクロサービスで構成し、各機能の開発から導入にかかる期間は分単位になったとしている。
マイクロサービスのように細かい単位で多数の機能を稼働させる手法と、OSレベルまで共通した環境の上に多数のコンテナを稼働させるコンテナサービスはかなり親和性があるという。
AWSとしてコンテナサービスは成長のカギと位置づける
EC2 Container Serviceにおけるオートスケールについて、現状はまだ、EC2を自動で追加するというところまでは実装していないという。玉川氏は「そうしたニーズが出てくることは間違いなく、将来的には実装することになる」との見方を示した。
「コンテナを使ったアプリケーション構築手法がどこまで広がるか楽しみにしているが、インターネットやメディア業界に広がるのは確実と見ている」と玉川氏。現状は、いわゆる日本の大企業にはあまり導入の動きはないが、開発効率の高さから期待できるとのこと。東京リージョンでも近日中にサービスを開始する予定としている。
EC2 Container Service自体の利用料はかからない。