2009年6月3日水曜日

Java One 2009とSun Open Cloud Platform

6月2日から5日まで今回が最後となるかもしれないJavaOne 2009がモスコーンセンターで開催された。サンフランシスコは、この日、うす雲で肌寒く、OracleによるSun買収の今後を暗示するかのようだった。JavaOne自身も初日恒例のGeneral Sessionでは総合司会だったJohn Gage氏が昨年6月に退社し、今年はGaming部門Chief EvangelistのChris Melissinos氏が担当、また昨年まで殆どのプレゼンを仕切り、Software部門のオープンソース化を進めてきたSVPのRich Green氏も昨年11月の大規模レイオフに合わせる形で退社、今年はCEOのJonathan Schwartz氏自ら1時間以上の長丁場を仕切った。その後、Co-Founderで長年CEOを勤めた現会長のScott McNealy氏が登壇してこれまでのJavaOneを振り返り、最後にOracleのLarry Ellison氏が登場、敬虔なJavaファンのデベロッパーで埋まった会場からはため息が漏れた。


さてSun Open Cloud Platformについては、今年、3月18日、マンハッタンのCommunityOne EASTで発表されたが、JavaOne開幕の前日の6月1日に平行開催されたCommunityOne WESTでその後の情報が流された。9時から始まったCommunityOneは大盛況。イントロはSunのクラウドチームを率いるSVPでChief Sustainability OfficerのDavid Douglas氏、次いで詳細はCTOのLew Tucker氏、いつものコンビである。

説明によると、現在、α版として限定公開されているSun Open Cloudはこの夏にはβとなり一般公開される。このCompute ServiceとStorage Serviceから構成されるCloud Computingは唯一、大手ITベンダーとして真っ向からAmazonEC2に立ち向かうサービスとなる。そしてAmazonが仮想マシンの提供であるのに対し、Sunの場合はそれより広大な仮想データセンターの提供が目標だ。

詳細説明では、この目的に沿って、Sun Open Cloudには、ブラウザベースのビジュアルなコンフィギュレーターがあり、これを使ってVirtual Data Centerのコンフィギュレーションを組むことが出来る。このコンフィギュレーター画面の左わきには各種のVirtual Machineやアプライアンスなどのコンポーネントがパレットに用意され、中央のキャンバスにドラッグ&ドロップしながら絵を描く要領で構成を作ることが出来る。パレットのアイコンには、HadoopやFirewallなどもあって、より実践的なシステム化が可能だ。このHadoopは、高信頼性分散ファイルシステムGoogle File Systemのオープンソース版となるもので、Yahoo!が開発、その後、Apacheに寄贈されて改良作業が進み、これを使えばGoogle並みの高信頼システム構築が可能となる。この種のコンフィギュレーター手法は、RightScaleや3Teraなどでも見られるが、Sunのコンフィギュレーターはよりスマートだ。コンフィギュレーターは当初、UC Santa BarbaraのオープンソースEucalyptusベースかと思われていたが、実際は今年1月にSunが買収したQ-LayerのVirtual Data Center製品である。構成可能なサーバーOSは、勿論、この日、発表された新しいOpenSolaris 2009.06、UbuntuやFedora、OpenSUSEなど各種のLinux、そしてWindowsサーバーがβ版では公開される予定だ。

次に気になるProject CarolineやHydrazineとの関係だが、両氏のプレゼンでは言及されなかった。しかしその疑問は、次に続いたTed Leung氏のプレゼンとデモ会場での質疑でかなりすっきりした。Leung氏の“Programming Laungages & Cloud”のセッションで、彼はSunの考えるレイヤーを右図のように説明した。この4層構造では、最下層がInfrastructure aaSとなり、SunのCompute ServiceやStorage Serviceはここにあたる。勿論、Amazonが何と言おうとEC2/S3もIaaSである。Virtual Data CenterのOSやミドルウェア構成を定義するのはStack aaS層でVirtual Machine Imageが該当する。Google AppEngineやHerokuなどは、その上のPlatform aaS層だ。余談だがherokuとは、Ruby on Railsのアプリケーション開発に便利なブラウザー内で完結する開発実行環境である。Google AppEngineがPHPとJavaを得意とするのと同じ要領だと思えば良い。4層の最上位は、ご存知、Software aaS層でSalesforceなどのアプリケーションが位置する。デモ会場での回答ではProject CrolineはPlatform aaSに該当するが、初期に定義されたVirtual Machine Imageをプログラム内からのAPIでダイナミックに再構成できることから、Stack aaSと連動すると考えると解りやすいとのことであった。JavaFXなどで各種のデバイスとアプリケーションを同期化するProject HydrazineやHadoopなどもPaaS層に位置すると考えてよいだろう。

SunのStorage Serviceについてはデモ会場で面白い話を聞いた。Amazon S3のAPIを正式版でも提供するという。だとすると、Sun Open CloudではS3インターフェースのプログラムがそのまま実行できる。つまり、AmazonからSunへの移行が可能だということだ。また、Webサーバー上の分散ファイルシステムであるWebDAVもサポートする。そして、PaaS層にはHadoopがのり、その上でPythonやJavaが動くことになれば、Google AppEngineからの乗り換えも出来るかもしれない。このようにSunのOpen Cloudは後発メリットを生かして、レイヤーを整理し、総合的な対応を計画している。AmazonやGoogleにとってはやっかいな相手となるが、これまでの小規模システム化から、データセンターとまでとは言わなくても、より大規模なシステム化が出来ることは間違いなさそうである。