2009年10月3日土曜日

連邦政府のクラウド推進計画(3)
-Data.govからNASA Nebulaまで-

連邦政府のクラウドシリーズ最終回は、その他の事例を見ていこう。

◆ Data.gov

まずData.gov。 このサイトは、連邦政府のCIO Vivek Kundra氏が就任後、実行した3つ(Apps.gov、Data.gov、Federal TI Dashboard)のうちの1つ。勿論、連邦政府のクラウドの柱となるApps.govが目玉だ。そして、このData.govはApps.govに近 々移行が予定されている。Data.govは、政府系機関が持つ情報を市民向けに開示する目的で作られた。画面から解るように、①生データ(Raw Data Catalog)、②分析ツール(Tool Catalog)、③地域別データ(Geo Data Catalog)がカタログとして提供される。これを用いてユーザーとなる市民や団体は、自由な加工や分析が出来る。対応するデータには、連邦政府提供の ものと州政府のものがあり、5月末に本番開始、州政府のデータは、現在、カリフォルニア州、ユタ州、ワシントンDC、今後、段階的に拡大が予定されている。



◆ Fedral IT Dashboard

次にFedral IT Dashboardを紹介しよう。
こ のサイトは、連邦政府の主要機関(国防省-DOD、国土安全保障省-DHS、商務省-DOC、財務省-Treasury、運輸省-DOT、司法省 -DOJ、退役軍人庁-VA、農務省-USDA、エネルギー省-Energy、その他-Others)のIT投資についてビジュアルに見ることができる。 上部にある5つのタブ(Home、Investments、Data Feeds、Analysis、FAQ)のうち、Data Feedsを用いると、独自のスナップショット画面の作成ができ、それを保存したりWebにあげることが出来る。


ま た、Analysisには「Trends」と「Current Year」のオプションがあり、Trendsでは複数省庁を選択した比較や傾向分析が可能だ。Current Yearのオプションを使うと、今年度の総IT投資がどの省庁のどのようなサービスに使われるのかという総マップ(下図)が表示される。




◆ DoD Forge.mil

さて、3つ目は、米国防関連の情報処理機関DISA(Defense Information Systems Agency)が主導するForge.milだ。 このサイトは昨年10月からスタート、現在は軍用のSourceForgeにあたるSoftwareForgeが利用できる。この SoftwareForgeは、国防省DoD(Department of Defense)仕様のセキュリティー基準に合わせ、DoD内のオープンソース開発を促進するものだ。利用にあたっては、DoD Common Access Card (CAC) かDoD 認定の ECA (External Certificte Authority)発行の PKI 証明書が必要。現在、利用はDoDコミュニティーに限定されているが、いずれは関連ベンダーまで広がる模様だ。開発後のソースコードは公開が予定されてい る。

DISAのクラウド推進計画DISA Cloud Computing Initiativeが始まったのは昨年始めのこと。大事な国防対応のクラウドはどのような技術で構築すべきかがポイントとなった。仕事柄、特定のベン ダーに依存することなく、かつ独自性のあるシステムでなければいけない。それには出来るだけオープンソース製品を利用してカスタマイズし、全てを自らの手 の内に置くことだ。しかしながら、機密第一の国防とオープンソースの距離は遠い。まずは、これまでのような選任チームではなく、DOD内のコミュニティー に開発の輪を広げたオープンソース開発に慣れることだ。こうしてSourceForgeが始まった。

第1弾となったSoftwareForgeは、DoDのFirewall内でクラウドを利用したオープンソース開発を促進する。その結果を見極め、次のクラウド化へ向かう。



◆ NASA Nebula Cloud Computing Platform

最後に紹介するのはNASA Nebulaだ。
Nebula は、シリコンバレーのNASA Ames Research Centerで開発されているクラウドシステムである。無限の仮想マシンが星となった星雲を意味するNebulaとはいかにもNASAらしい。このシステ ムは、DISAのオープンソース戦略をさらに進め、各種のオープンソースをシームレスに結合して、セルフサービス方式で利用するもの。機能的には、これま での仮想マシンを 大きく超えるHigh Capacity Computingを目指し、CPUだけでなく、ストレージやネットワークの仮想化も計画している。


Nebulaの提供するサービスは、IaaS/PaaS/SaaSの3つ。
下図の下段部がIaaSの構成部分で、仮想マシンを作り出す仮想サーバー、その上に仮想マシンを連結させるメッセ-ジングのRabbitMQとシステム内検索にSolrの採用が予定されている。また、ファイルシステムは2つに対応。ひとつは2007年にSun Microsystemsが買収したCluster File Systems開発の並列大規模分散ファイル処理Lustre(Luster File System)、もうひとつはクラスタリングされたMySQLだ。そして、プロビジョニングはU.C. Santa Barbaraで開発されているEucalyptusだ。Eucalyptusは、Amazon Web Service(AWS)と互換APIを持つことから、これを使えば全てのAWSツールの利用やEC2からの移行が簡単にできる。



上図の上段部がPaaSとSaaSにあたる。
PaaSは開発や実行環境を整備したプラットフォームであり、SaaSは主としてWebアプリケーションを実行する。Nebulaではアプリケーション開発言語をJavaとPythonに絞り、Python FrameworkにはDjangoを 採用。Nebulaに限らず、クラウドで稼動させるWebアプリケーションの厳密な開発は容易ではない。例えば、対応するブラウザやOSの幾つかのバー ジョンなどを組み合わせたテストをしなければならない。このためNebulaでは、並列処理のグリッド技術を用いたテストツールCelenium GRIDを組み入れ、これによって、並列組み合わせテストが実行する。そして本番にあたっては、Webサーバーの高速化を促すアクセラレータVarnishも組み込まれている。


こうして提供が始まったNebulaは、現在のところ、ユーザー限定のβ版だ。
アプリケーションは、NASAアクティビティーに関連する外部との教育やコミュニケーションがメインだ。例えば、アマチュア天文学者が撮った高解像度写真のアップロード、 月面衝突探査機エルクロスLCROSS( Lunar CRater Observation and Sensing Satellite)のサイトが稼動中だ。このLCROSSサイトは、天文学ファンとNASAの科学者がインフォーマルな作業をする共同サイトである。 LCROSSのミッションとは、月面の水の存在を探し出すこと。そのために月面に探査機を衝突させ、その際に舞い上がるダストを高解像度画像として撮影 し、それを解析して水の存在を確認する。9月30日に発表された最終情報では、ターゲットとなるクレータがカベウス(Cabeus)に変更になり、衝突実 行日は10月9日早朝(PST)となった。

Nebulaの構成要素はすべてオープンソース。
それらをシームレスに結合すること で、素晴らしいクラウドが登場した。①GSAのクラウド(Apps.gov)は一般省庁向けでインフラのコスト削減を狙い、②DISAのクラウドは国防シ ステム開発の効率化を目指し、③NASAクラウド(Nebula)は科学分野で世界中の科学者やアマチュア天文学者との連携を図る。これら3つのクラウド の成長を見守りたい。