Amazon EC2 Container Service (ECS)と「リソース・プール」

AWS

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

Auroraと合わせて、今回のRe:Inventの一連の発表の、多分、もう一つの目玉。AWSさんのblogから。http://bit.ly/1EAKagH  「ECSは、スケーラブルでフォールトトレラントで、マルチテナントであり、クラスター管理の詳細の全ての面倒をみてくれます。ちなみに、クラスターといっても恐れることはありません。ここでいうクラスターとは単に、コンテナ化された複数アプリケーションをホストするための、コンピューター、ストレージ、ネットワークのリソースプールのことを指しています。」

Amazonが、EC2/S3を発表したのは、2006年の「Web 2.0サミット」の場だったのだが、その時、Jeff Bezosは、その最大の意義をこう語っていた。

「Web上の高度に分散したソフトウェアの開発作業では、開発者は、プログラムのサイズにかかわらず、仕事の70%を、保守作業やビジネス上の差別化に結び付かない仕事に費やしている。このシステムが革命的なのは、それが、開発者に、本来集中すべき仕事に集中させ、その仕事を片付けるやり方を変えるということである。」

僕は、クラウドのサービスを利用する技術と、クラウド・サービスを提供する技術は別のものだと考えている。ただ、リソース・プールを管理する技術は、クラウド・サービス提供側の中核技術だ。

もうだいぶ前になるが、情報処理学会誌に「クラウドの成立過程とその技術的特徴について」という文章を書いたことがある。その中で、次のように書いた。

「EC2/S3のようなサービス提供ができるためには、ネットワーク上に分散して存在している物理的なディスクや物理的なサーバを、仮想化して論理的に管理して、稼働していないものはリソース・プールに登録して、変動する要求に応じて動的にそこからリソースを取り出して仕事を割り当てて、スケーラブルなサービス提供を保障しなければならない。Amazon のEC2/S3のサービス開始は、クラウドを支えるこうした課題の重要性に、皆の眼を向けさせた。」

残念ながら、こうした技術に「皆の眼」が向いたわけではなかったのかもしれない。日本では、クラウド・サービスの提供技術は発達しなかった。

ただ、クラウド提供技術とクラウド利用技術は、いつまでも截然と分離しているわけではないのかもしれない。今回のECSは、クラウド・サービス提供の中核技術の一部をユーザーが、自由に利用できるようになったと考えることもできる。(もっとも、クラウドのインフラ技術自身も、日進月歩で変化しているはずなので、そう簡単ではないのだが。)

まあ、僕は、今は、熱心なクラウド技術ウォッチャーではないのだが、AuroraにしろECSにしろ、Amazonは、クラウド技術の中核をしっかりと押さえているのは確かだと感じた。さすがなものだ。

クラウドという言葉が広がるきっかけとなり、かつ、AmazonのEC2/S3の初披露の場ともなった、2006年の Web2.0サミットで、Jeff Bezosが、開口一番にのべたのは、次の言葉だった。

私は、AmazonをWebサービスの会社として語るためにここに来た」

若い人には、むしろ、わかりにくいかもしれない。ただ、当時、Amazonは、ネットで主要に本(e-bookではない)を売るe-Commerceの会社だったのだ。

Amazonのシステムは、単に、Amazonの開発者をシステム管理の膨大な雑務から解放しただけではなかった。Amazonは、そこで生まれた開発者のリソースと、柔軟にScale-outする自らのインターネット・クラウドの余力を、エンタープライズ・クラウド・サービスとして、外部に提供することに成功したのである。AWSの誕生である。

ずいぶん昔のようにも感じるけど、まだ、10年は、たっていないんだ。

ちなみに、クラウドの誕生を告げる「歴史的」といっていい、この2006年の「Web 2.0 Summit」で、Googleの講演のタイトルは、"A Secret Google Discovered, Along the Way"という思わせぶりなものだった。講演者は、Marissa Mayer、現在のYahooのCEOである。