Web 2.0の特徴とされる「永遠のベータ」。その典型的サービスの1つと見られていたアマゾンのクラウドサービス「Amazon Web Services」(以下、AWS)が2008年10月23日、ついにベータの冠を取って正式サービスとなった。同時に99.95%のアップタイムを保証するSLA(サービス品質保証契約)の提供も開始した。
クラウドコンピューティングの狭義の定義として「PaaS」(Platform as a Service)を使えば、現在急速に技術・サービスの拡張を続けているビッグプレーヤーは、グーグル、アマゾン、マイクロソフト、セールスフォースの4社だろう。
PaaSとは、ハードウェアやOSとは無関係に、インターネット上のサーバ群を使ってソフトウェアを実行するプラットフォームを実現、提供するサービスのことだ。もちろん上記の4つのほかにも、セールスフォースの同系列としてネットスイートもあるし、Ruby on Railsのランタイムをクラウド上で提供する「Engine Yard」のようなベンチャーもある。しかし、クラウドコンピューティングの先頭をひた走っているのは、やはり上記の4社。中でもアマゾンだろう。
細かいことを言えばアマゾンのAmazon EC2は、AMIというOSイメージを含むバイナリデータをインスタンス化して用いるため、ほかのサービスとは様子が異なる。より裸の、ネイティブに近い、サーバ環境を提供するサービスといえる。ただ、AWSがEC2以外にも多数ある複合的サービスの組み合わせであること、OracleやRed Hatなどサードパーティベンダが公式サポートを表明しているほかベンチャー企業が周辺ツール開発をハイピッチで作るなどエコシステムが立ち上がりつつあることなどを考え合わせると、AWSは単純な仮想専用サーバのようなホスティングサービスとはまったく異なるものと考えるべきだだろう。
例えばロード負荷に合わせてサーバのインスタンス数を増減させる自動スケーリングは、現在利用可能なサービス(EC2、Amazon SQS)の組み合わせだけで可能だし、AWSチームは今後のEC2の機能拡張のプランとして、「ロードバランス」「自動スケーリング」「モニタリング」「管理コンソール」の提供を発表している。インスタンスの起動や終了などを含む操作ができる管理コンソールについては、すでにFirefox向けのプラグイン「Elasticfox」が利用できる。
すでに書いたようにアマゾンは10月23日、大きな発表を2つ行っている。SLA提供の発表と、Amazon EC2上でのWindowsサーバ対応の発表だ。2008年8月20日に発表した「Amazon Elastic Block Store for Amazon EC2」と合わせて、この3つはAWSのエンタープライズ領域への浸透という点で大きな転回点を形成することになりそうだ。
可用性や信頼性は、オンプレミス型のサーバを運用している企業ユーザーにとって、クラウド移行に対して慎重、あるいは懐疑的な態度を取る最大の理由だろう。これがSLAの提供で変わってくるだろう。これまで同社Amazon S3では2007年10月から99.9%のSLAを提供していたが、これに加え、Amazon EC2でも99.95%のSLAの提供を発表した。
Windowsサーバへの対応もエンタープライズ利用では大きな意味を持つ(現時点ではWindows Server 2003 R2のみで2008対応は未定)。業務システムで良く利用されるASP.NET、ASP.NET AJAXなどが、そのままクラウド上で利用できるようになるからだ。SQL ServerのExpress版およびStandard版がそのまま使え、しかも負荷に合わせてインスタンスを増やすことができるのもメリットだろう。Express版で1時間0.125ドルから、Standard版で1時間1.1ドルからと手軽で、夜間など利用していない時間に課金されることもない。アマゾンはすでに、EC2のインスタンスとしてWindowsサーバを起動したり、ストレージへデータを書き出すためのC#向けライブラリも提供している。
アマゾンが2008年8月に発表した「Amazon Elastic Block Store」(EBS)は、EC2から利用できるブロックレベルでのストレージサービスという一見地味なサービスだが、企業ユーザーや開発者にとってはきわめて大きな意味を持つだろう。
Amazon EBSは1GBから1TBまでのディスクボリュームを作成し、Amazon EC2上のインスタンスからマウントできるストレージサービスだ。1つのEC2インスタンスから複数のボリュームをマウントできる。複数ボリュームをマウントすれば、RAID 0のストライピング構成も可能という。
これらのボリュームは、OSからはブロックデバイスとして扱うことができ、フォーマットすれば各種のネイティブファイルシステムとして利用できる。つまり、今までにAmazon EC2に欠けていたSANあるいはローカルストレージと考えられる。
正確にいえば、Amazon EC2単体でもローカルストレージは利用できる。インスタンスのサイズによって160GBから1.7TBまでのディスク容量がある。しかし、このストレージはインスタンス消滅時に消えるため、アプリケーションのインストールは起動イメージに対して新規イメージ作成という形になるし、ファイルやDBに書き出したデータはインスタンス終了時にバックアップし、起動時にリストアする必要があった。おそらく異なるデータセンター間で数十GBから数百GBのデータを転送することになり、これは起動時間の点から現実的ではなかった。Amazon EBSはマウントしてもすべてのデータを読み込まず、必要になったときに読み込む遅延読み込みというアプローチを採用している。このため、Amazon EBSによって現実的な処理時間でファイルシステムをマウントして利用できるようになる。
これまでAWSではストレージサービスとして汎用の「Amazon S3」(Simple Storage Service)や「Amazon SDB」(SimpleDB)を提供していたが、S3はHTTPで利用する“Web向け”のストレージサービスだし、SDBは簡易データベースで、開発者がローカルストレージに期待するようなファイル保存、アプリケーションインストールの方法を提供するものではない。新規にWebアプリケーションを開発する場合にはこれでもいいが、既存アプリケーション、特にRDBMSが絡んだアプリケーションのクラウド上への移行というシナリオは、Amazon EBSなしでは考えづらい。
ISVにもAmazon EBSの意義は大きい。例えばLinux、MySQL、Apacheなどを組み合わせたソリューションを単一のバイナリイメージで提供し、Amazon EC2向け仮想アプライアンスとしてサポートビジネスを行うということも可能だ。すでにOracle、Red HatはEC2上でのOSやミドルウェアのサポートを開始しているため、“クラウド上でSI”という分野が出てくる可能性もあるだろう。
Amazon EBSの利用価格については、安いのか高いのかまだよく分からない。利用料金は1GB当たり1カ月0.1ドル。これはボリュームを作成し、破棄するまでかかる。このほか100万回のI/Oリクエストに対して0.1ドルかかる。サーバの使い方によって課金が大きく異なるため費用の概算するのは難しそうだ。アマゾンが挙げる例は、100GBの中規模のデータベース、秒間I/Oが100回の場合には1カ月でストレージに10ドル、I/Oに26ドルかかる計算になるという。
Amazon EBSはデータセンター内の複数サーバで冗長化されているため、一定のデータ保護レベルを保っているが、スナップショット機能を使ってAmazon S3にバックアップイメージを保存することもできる。これは差分バックアップで、前回のスナップショット作成時から変更されたデータだけが転送される。
すでに書いたようにOracleやRed Hat、MySQLなどがAmazon EC2上での公式サポートを表明している。こうしたベンダに加えて、新興のベンチャー企業が興味深いサービス(ライブラリ)を提供している。
AWSでいちばんの注目株は「RightScale」だ。Amazon EC2をはじめとするクラウドサービス向けの管理ソリューションを提供し、サポートビジネスを展開している。アマゾンが発表した今後のバージョンアップによる提供機能に含まれる「自動スケーリング」「監視&警告」「ロードバランス」「管理コンソール」の機能をWebアプリケーションとして提供しているほか、サービスのエンジンとなるRubyライブラリをオープンソースで公開している。
RightScaleのサービスを利用すれば、あらかじめ用意されたテンプレートやスクリプトを使って任意のアプリケーション構成のシステムを手軽に用意できる。Amazon EC2は素のままではコマンドベースの操作が必須であるほか、AMIイメージとして用意されているシステム構成以外のものを動的に生成するようなことができない。RightScaleが提供するのは、こうしたAmazon EC2の使い勝手の悪さを改善する上位層の管理ソフトウェアだ。
RightScaleやAWSチームが繰り返し引用するクラウドの成功事例がある。日本語的響きを持つ「Animoto」というベンチャー企業は、Amazon EC2、S3、SQSを使って構築されたWebサービスだ。複数の静止画像を音楽とともにアップロードすると、独自のアルゴリズムに基づいて音楽に合わせて写真が切り替わる動画を作成してくれるサービスだ。
2007年3月に創業したばかりのこのベンチャーは、2008年4月にFacebookプラットフォーム向けに同名のWebアプリケーションを公開。特に最初の体験用動画をユーザーの画像を使って自動生成するようにしてからは人気に火が付き、ある月曜日に2万5000ユーザーだったものが火曜日に5万ユーザー、3日後の木曜日には25万ユーザーと10倍に増えるという爆発的なスケールアップとなったという。Amazon EC2のインスタンス数も50から100の間だったものが金曜日には3400にまでふくれあがった。このときピーク時には毎分40ものインスタンスがRightScaleのシステムによって動的に設定、起動を続けたという。
Animotoのシステム構成は単純なスケールアウトではない。レンダリングを行うべき画像や楽曲データへのポインタを含むキューはAmazon SQSを使い、また画像をFlickrやFacebookからフェッチするべき画像もSQS上のキューとして管理してあるという。このキューの状態により実際のレンダリングを行うインスタンス群の増減を行う。Animotoが無事にスケールアップした理由は、最初からクラウドを念頭にシステムをスケーラブルに作ってあったことが勝因だろうが、そのために必要なツールをアマゾンではなくサードパーティーのベンチャーが提供していた、という構図だ。
ちなみに、この“異変”に気付いたAWSチームがAnimotoにコンタクトを取り、クラウドサービスの華々しい成功事例として引用されることになった。またその後、Animotoはアマゾンからの出資も得て、晴れて2008年10月22日にプロ写真家向けとして有料サービスを開始している。
AWSのプラットフォーム上にさまざまな新興ベンチャーがサービス・技術を展開している。
例えばJavaや.NET向けにスケーラブルなアプリケーションプラットフォームを提供する「GigaSpace」もAmazon EC2向けのソリューションとして利用可能だ。GigaSpaceは、クラウド上のJavaや.NETのランタイムを、1つの巨大なスケール自在なものに見せるソフトウェア層を「GigaSpaces eXtreme Application Platform」(XAP)として提供している。そして、XAPを含むEC2向けAMIのイメージを公開している。
あるいはシステム監視ソリューションのHypericはクラウドのサービスレベルを監視するサービス「CloudStatus」を提供している。CloudStatusは現在AWSの各サービス、Google App Engineの基本APIのパフォーマンスを時々刻々とモニターしている。いまは2つのクラウドだけを監視している形だが、CloudStatusはプラグイン対応になっており、今後ほかに監視すべきクラウドサービスが登場すればHypericか、ユーザー自身がプラグインを開発して追加することになるだろう。
「Elastra」はMySQLやPostgreSQLなどのデータベースや、アプリケーションサーバのTomcatをシングルノードまたはクラスタ/レプリケーション構成でAWS上にディプロイし、監視・運用できるサービスを提供しているだ。課金もアマゾンではなく、Elastraに支払う形で、ワンストップサービスを実現している。
少し毛色は違うが、「SubCloud」はAmazon S3上に暗号化ファイルシステムを作り、EC2インスタンスのLinuxからマウントできるソフトウェアのライセンスを企業ユーザー向けに129ドルで販売している。
非常に興味深いのは、Amazon EC2のAPIを扱うサービスやソフトウェア、あるいは開発者が増えた結果、これが一種のOSS界のクラウドサービスの標準APIとなる可能性があることだ。企業ではないが、UCサンタバーバラ校が進めるクラウド向けクラスタソフトウェア「Eucalyptus」は、Amazon EC2と同様の機能を提供するOSS実装だが、APIをAmazon EC2に似せて作ってあるという。事実上、EucalyptusはAmazon EC2のフリーソフトウェア実装といえそうだ。
こうした実装が出てくるのも、すでにEC2がクラウドサービスではもっとも成功し、エコシステムができつつあるからにほからなない。
立て続けにクラウド関連の発表があったので、グーグルとマイクロソフトにも触れておきたい。
グーグルは10月30日、企業向け有償サービスの「Google Apps Premier Edition」で99.9%のアップタイムを保証するSLA提供を発表した。エンタープライズ市場への取り組みを見せているが、コンシューマ向けSaaSで圧倒的存在感を示すグーグルも、法人市場となると存在感は小さい。さらに同社のPaaSと呼べる「Google App Engine」となると、エンタープライズ市場での存在感は皆無だ。Web 2.0に祝福された言語とはいえサポート言語がPythonだけでは、ほとんどの企業ユーザーには使えない。コンシューマ向けにスケーラビリティの高いソーシャル系サービスを作るとか、メディア系企業がWebサイトを置くといった用途には向くが、開発言語ががらりと変わるような形でのオンプレミス型からクラウド型への移行という不連続面を超えることができるのは、これからアプリケーションを作ろうという若いベンチャー企業だけだろう。Google App Engineでは今後、開発言語を追加するとアナウンスしているが、言語名はもちろん具体的な話は何も出てきていないのが現状だ。Google App Engineはリリースがあと3年早ければもっと注目を集めたかもしれないが、セールスフォースがJavaライクな開発言語やビジュアル開発環境、アプリケーション交換マーケットの展開で多くの企業ユーザーを惹きつけているのと対照的だ。
オンプレミスとクラウドの不連続面をやすやすと超えられそうなのが、マイクロソフトが10月27日に発表したクラウドサービス「Windows Azure Platform」だ。Windows Serverをベースにクラウド向けに手を入れたサーバOS「Windows Azure」を使い、.NETのランタイムやSQL Server相当のサービスを稼働させるクラウドを開発者・ユーザーに開放する。
AWSがEC2やS3、EBSといった小さなサービスの組み合わせ、さらにサードパーティベンダまで巻き込むボトムアップ方式でクラウド環境を作り出してきたのに対して、マイクロソフトは“神の一撃”でクラウドの世界をわれわれの眼前に広げて見せた格好だ。クラウド向けOS、スケーラブルなランタイムやサービス群を一気にそろえたばかりでなく、他社の後塵を拝していたSaaS関連との連携も見据えたコンシューマ向けサービスのレイヤ(Live Services)、エンタープライズ向けサービスのレイヤ(SharePoint Services、Dynamics CRM Services)までクラウドに載せると宣言してしまった。SaaSでは課金やライセンスで不明点が多く残るとはいえ、Webブラウザ版のオフィスまで出すのだという。
もちろん2009年下半期というリリース予定時期に、いったいどれだけのサービスがそろっているのかは不明だし、そもそも今現在何が動いているのかもよく分からない。ハードウェア投資については、過去1年でワシントン州やテキサス州にデータセンターを開設したほか、今後シカゴやダブリンにも高密度のデータセンターを構築中であるとしているが、こうしたこととWindows Azure Platformの完成度とは直接関係がない。皮肉な言い方をすれば、まだ“きれいで大きな風呂敷を広げた”だけだ。ただ、マイクロソフトの資金力や開発力、それにWindows Azure Platform構想の説得力を考えると、今後の動向は目が離せない。グーグルが「Django」という読み方もよく分からないPython向けWebアプリケーションフレームワークを担いでいる間に、Visual Studioで開発を行う膨大な数の業務アプリケーション開発者が、マイクロソフトのクラウドにアプリケーションを移行させる可能性がある。同社が提案するとおり、一気に移行というのではなく、移行させたい部分から徐々にという現実的なシナリオならば、クラウドコンピューティングに慎重な企業も取り組みやすいだろう。
Copyright © ITmedia, Inc. All Rights Reserved.