Archive for the ‘オープンソース’ Category

「Firefox OS」 を読み解く~ Mozillaエバンジェリストの視点

Saturday, July 27th, 2013

第三のモバイルOSであるFirefox OSを搭載したスマートフォンは、スペインTelefonicaから出荷されている。下の写真は、Madrid (スペイン) のショールームで、Firefox OSを搭載したZTE Openが販売されている様子である。 (写真はRobert Nymanのブログ「Firefox OS devices officially released!」から引用。)

g327_firefox_os_develop_01

何のためにブラウザーでスマホを開発?

Firefox OSは、HTML、CSS、JavaScriptなど、オープン・ウェブ標準技術で開発されたスマートフォン向け基本ソフトである。Firefox OS開発のニュースを読んだとき、ブラウザー・ベースのスマートフォンで何ができるのか、どんな意図があるのか、という疑問が先に立った。iPhoneとAndroidが強固な市場を築いており、第三のOSは参入の余地は無いのでは、というのが率直な感想であった。Firefox OSは、シンプルな構造で、製品開発の意図を理解するのは難しい。このレポートでは、Robert Nymanの協力を得て、開発者の視点で、Firefox OSを読み解く。Nymanはスェーデン在住のMozilla Technical Evangelistで、Firefox OS開発に当初から携わってきた。このレポートでは同氏のブログ「The Launch Of Firefox OS – My Thoughts And Some History」を参照した。ここには、Firefox OS開発思想や製品の狙いが述べられており、Firefox OSを正しく理解するための、必読のブログである。

フィーチャーフォンを意識して開発された

Nymanは、冒頭で、「Firefox OSは、iPhoneやAndroid上位機種と競合するものではない」と述べている。Firefox OSは、iOSやAndroidと並列に評価されるが、この対比は正しくなく、目指している市場が異なる。「Firefox OSは、新興国向けに、低価格でスマートフォンを提供すること」を目指すと述べており、Firefox OSはフィーチャーフォンを意識して開発されている。一方、開発者に対しては、閉じられた開発環境ではなく、「完全にオープンなモバイル基盤を提供し」、だれでも自由に開発に参加できるチャンスを提供するとしている。

ウェブからスマホ・ハードウェアを操作

Nymanは「AppleのiPhone開発手法は間違っている」とも指摘している。開発者はSafariブラウザー向けにウェブ・アプリを開発することを期待していたが、ウェブ・アプリからは「カメラなどハードウェア機構にアクセスできない」という制約があった。Mizillaは、2011年8月、HTML5技術でスマートフォンを開発するため、WebAPIプロジェクトを開始した。WebAPIとはデバイスのハードウェア機構にアクセスするためのAPIで、HTML5コードからスマートフォンの電話やカメラなどを操作できる。WebAPIはFirefox OSの中核機能で、W3Cによる標準化作業が進められている。下のテーブルはWebAPIの種類と標準化作業進捗状況を示したものである。つまり、Firefox OSでは、ウェブ・アプリからスマートフォン・ハードウェア機構を操作できるようになり、ウェブ技術でOS開発が可能となった。

g327_firefox_os_develop_02

そもそもアプリは必要なのか

Nymanは、スマートフォンにアプリは必要なのか、と問いかけている。「ウェブがあればそれで充分で、わざわざウェブをアプリに焼き代える必要はない」としている。これは、ニュースを読む際に、スマートフォンでモバイル・ウェブにアクセスすればよく、わざわざニュース・アプリをダウンロードして、記事読む必要はないという議論である。例えば、USA Todayを読む際に、iPhoneのSafariブラウザーでモバイル・ウェブ(w.usatoday.com) にアクセスする方式 (下のスクリーンショット左側) と、 USA Today for iPhoneというアプリを利用する方式 (同右側) では、その差異は無い。無ければ、モバイル・ウェブを使うべきと主張している。

HTMLをスマホ・アプリに移行

アプリ開発は、通常、iOSやAndroidなど、複数OS向けに行われる。多くの企業では、開発コスト削減のため、「PhoneGapなどのツールを使い、HTML5コードをiOSやAndroidネイティブ・コードに変換」する。PhoneGapとは、オープンソース・ソフトウェアで、HTML5、JavaScript、CSSで記載されたウェブ・アプリを、iOSやAndroidなど、異なる基本ソフトで稼働させる機能を持っている。平たく言うと、ウェブサイトをアプリにラッピングする機能を提供する。BBCが、ロンドン・オリンピックで、PhoneGapを使ってBBC Olympicsアプリを生成したことでも有名である。ウェブで開発されたコードをわざわざスマートフォン向けに変換している。Nymanは、「モバイル・ウェブサイトで充分な機能を提供できれば、アプリ開発は不要である」と述べている。

g327_firefox_os_develop_03

勿論、スマートフォン向けにアプリが必要なケースは多々ある。この事例として、「リッチなインターフェイスを提供したり、ローカルにデータを保存する場合など」を挙げている。これらのケースでは、Firefox OS向けにアプリを開発して、配布する必要がある。アプリがトレンディであるが、是が非でもアプリを開発する必要はなく、ウェブとスマートフォンで機能分担すべきと主張している。

Firefox OSOpen Webを目指す

これら議論の背後には、Open Webを守っていく、という決意が読み取れる。Open Webとは確たる定義は無いが、標準仕様に沿って、コンテンツを自由に掲載・閲覧できるウェブを意味する。インターネット・ブームを契機に、Open Webで文化が花開き、Web 2.0などの造語が生まれた。その後、iPhoneが登場し、利用者はアプリに惹きつけられた。標準仕様の世界から、AppleやGoogleが定めた独自仕様の世界に引き込まれた。オープンなウェブを標榜するGoogleも、Androidで固有なエコシステムを築いてきた。Open Webの旗手であるMozillaは、Firefox OSで、流れを引き戻し、再び標準世界の構築を目指している。

Firefox OSに勝算はあるのか

Firefox OSで、ウェブに自由を取り戻せるのか、Nymanにズバリ尋ねた。Google ChromebookとFirefox OSは、ウェブベースのOSということで共通点が多い。Chromebookは人気がないが、Firefox OSの勝算を尋ねると、「Chromebookが不振な理由はアプリが揃っていないため」と分析している。つまり、Firefox OS成功のためには、アプリの品ぞろえが鍵を握る。次に、Facebookアプリは性能問題で、HTML5からネイティブ・コードに切り替えた。この点に関しては、「Facebookアプリの性能問題はUIWebViews (Safariの一機能) に起因し、HTML5の問題ではない」とし、Firefox OSは充分な性能を提供できるとの見解を示した。つまり、Firefox OSの成功は、開発者のエコシステムを拡大し、クールなアプリを生み出すことにかかっている。

g327_firefox_os_develop_04

大手キャリアがFirefox OSを採用した理由

キャリアはFirefox OSをどう評価しているのか、興味深いビデオがある。これは、「Firefox OS for developers: the platform HTML5 deserves – Getting Started」という題名で、MozillaのChris Heilmann (上のスクリーンショット右側) がTelefonicaのDan Appelquist (同左側) にインタビューしたものである。この中でAppelquistは、Firefox OSを搭載したスマートフォンで、開発エコシステムが広がることへの期待を表明している。Appelquistは、Firefox OS機能で、他社と差別化を図る必要があると述べている。その機能とは、Firefox OSがHTML5など、オープン・ウェブ技術で開発されていることで、開発者は既存の知識やツールで、アプリ開発に容易に参加できるため、この利点を活用すべきと述べている。Appelquistは、特に、ウェブ技術でデバイスのハードウェア機構にアクセスできるWebAPIを高く評価している。Firefox OSでは制約が無くなっただけでなく、WebAPI仕様をW3Cへ提案し、標準化作業を進めていることも明らかにしている。キャリアとしては、一企業の仕様に依存するのではなく、国際標準を採用したい、ということを意味している。

g327_firefox_os_develop_05

(Mountain Viewに拠点を置くMozillaオフィスビル外観。Google本社のすぐ近くで、ビジネスだけでなく、地理的にも近い関係。)

沈滞しているモバイル市場を活性化

Firefox OSは、閉じられた世界に向っているモバイル技術を、オープン・ウェブに引き戻すことを目指している。Firefox OS開発環境はオープンで、エコシステムが広がり、斬新な技術が生まれることが期待される。Firefox OSは、iPhoneやAndroidと直接競合するものではなく、フィーチャーフォン市場をターゲットとしている。新興国が主要市場あるが、これからはアメリカや日本などの先進国も対象となる。スマートフォン市場では、iPhoneのイノベーションが止まり、Androidは独自色が出せなくて苦悶している。この沈滞ムードを打ち破るためにも、Firefox OSへの期待が高まる。

【技術解説】

基本操作とアプリの種類

Firefox OSは、HTML、CSS、JavaScriptなど、オープン・ウェブ標準技術で開発された基本ソフトである。利用者はデバイスを起動し、アイコンにタッチして、アプリを起動する。下のスクリーンショット (この章の出展はいずれもMozilla) 左側は、Music Gridで、音楽アプリを起動し、アルバムを閲覧している様子である。希望のアルバムにタッチすると音楽が再生される。同右側はVideo Playerで、サムネールにタッチすると、ビデオが再生される。ボタン操作はiOSやAndroidと変わらないが、Firefox OSで稼働するアプリは、HTML5などウェブ技術で開発されている。Firefox OSが提供しているアプリは二種類あり、それぞれ、Hosted AppとPackaged Appである。Hosted Appはサーバ側で稼動するウェブ・アプリで、Packaged Appはデバイスにインストールして使用する。

g327_firefox_os_develop_06

App Manifestとは

Firefox OSは、アプリのメタデータともいえる、App Manifest (下のスクリーンショット) を導入している。App ManifestはJASONファイルで、アプリをインストールし実行する環境を定義する。App Manifestで定義する内容は、アプリ名称、内容説明の他に、アプリの場所、使用するアイコン、ユーザの許可などを指定する。

g327_firefox_os_develop_07

App Manifest のlaunch_pathというコマンドで、アプリをサーバで実行するのか (Hosted App)、デバイスで実行するのか (Packaged App) を定義する。ウェブサイトでは、実行場所は常にウェブサーバで、App Manifestが、Firefox OSアプリとウェブサイトを区別する。

WebAPIとは

Firefox OSは、ハードウェア機構にアクセスするためのプロトコールとして、WebAPIを提供している。アプリはWebAPIを使って、カメラや加速度計などのハードウェア機構や、住所録などのデータにアクセスする。下のスクリーンショットは、「WebTelephony API」という電話操作のAPIを使って、123456789番にダイヤルしている様子である。ハードウェア機構にアクセスできるAPIをRegular APIと呼んでいる。その中で住所録にアクセスするAPIなど、厳格なセキュリティが要求されるものをPrivilleged APIと呼ぶ。更に、カメラなどデバイスの重要機能にアクセスするAPIは、Certified Appと呼ばれている。下のWebTelephony APIはこれに相当し、Mozilla開発者だけがこのAPIを利用できる。

g327_firefox_os_develop_08

第三のモバイルOS 「Firefox OS」の実力を検証する

Friday, July 19th, 2013

第三のモバイルOSであるFirefox OSを搭載したスマートフォンが、相次いで、大手キャリアから発表された。2013年7月1日に、スペインTelefonicaは、Firefox OS搭載のスマートフォンZTE Openを発表した。

g326_firefox_os_webapp_01

7月11日には、ドイツDeutsche Telekomが、Firefox OSを搭載したAlcatel One Touch Fire (上の写真、出展はいずれもMozilla Corp.) をヨーロッパで販売することを発表した。発表翌日から、T-Mobile Polandのオンライン・ストアで販売が開始され、15日からは、ポーランドの850の小売店舗で販売が始まった。Firefox OSはブラウザー・ベースの基本ソフトで、スマートフォンではネイティブ・アプリではなく、ウェブ・アプリが稼働する構造である。果たしてウェブ・アプリだけでスマートフォンを使いこなせるのか、Mozillaサイトで公開されている情報を中心に、その実力を検証する。

ウェブ・アプリだけで構成されるスマホ

Firefox OSは、HTML、CSS、JavaScriptなど、オープン・ウェブ標準技術で開発された基本ソフトである。システムは、Linuxカーネル上にウェブ・ブラウザーが乗り、この上でウェブ・アプリが稼働する構成である。デバイスを起動すると、Home Screen (下のスクリーンショット左側) が表示され、下段のアイコンにタッチしてアプリを起動する。同右側は、アプリをグリッド状に登録したページ (Icon Gridと呼ばれる) である。このページには、カメラ、住所録、カレンダー、時計、ビデオ、音楽などのアプリが登録されている。下段には、電話、メール、ブラウザー、SMSアプリが登録されており、一見して、Androidスマートフォンと大差がない。

g326_firefox_os_webapp_02

Firefox OSの場合、これらはウェブ・アプリで、アイコンはウェブサイトへのリンク、又は、ダウンロードしたアプリへリンクする機能を提供する。ウェブサイトへのリンクは、URLへのショートカットをアイコンに実装した形である。上の事例では、カレンダーやメール・アイコンがこれに相当する。これらは通常のウェブ・アプリで、サーバ側で実行されるため、Hosted Appと呼ばれる。Firefox OSでは、ウェブ・アプリをファイル形式にまとめ、これをデバイスにダウンロードして利用できる。上の事例では、電話やカメラ・アイコンなどがこれに相当する。これらウェブ・アプリは、デバイスのハードウェア機構にアクセスし、ローカルで処理を実行する構造で、Packaged Appと呼ばれる。

基本機能はウェブ・アプリで提供されている

電話アイコンにタッチするとDialerアプリが表示され(下のスクリーンショット左側)、このアプリで電話をかける。同右側はContactsアプリで、デバイスに格納している名前や住所を表示する。Dialerアプリがデバイスの通信機構にアクセスし、Contactsアプリがデバイスのストレージからデータを読み込む。これらアプリは、HTML5などオープン・ウェブ技術を使って開発されている。

g326_firefox_os_webapp_03

iOSやAndroidでは、それぞれのOSに固有な言語とフレームワークでアプリ開発を行うが、Firefox OSではHTML5やJavaScriptなど、標準技術を採用している点が、最大の特徴である。iOSアプリを開発するためにはObject-Cを、Androidアプリを開発するためにはJavaを学ばなくてはならないが、Firefox OSでは、HTML、CSS、JavaScriptなど、ウェブサイトを開発する知識があれば、すぐにアプリ開発ができる。

g326_firefox_os_webapp_04

Firefox OSは、ウェブ・アプリで、現行スマートフォンが提供している基本機能をカバーしている。上のスクリーンショット左側は、Gallery Filterというアプリで、撮影した写真を加工することができる。撮影した写真に対して、露出補正や写真トリミングなどを施すことができる。同右側はGalleryというアプリで、撮影した写真をアルバム形式で表示する。地図アプリは、Nokiaが制作したHERE Mapsアプリ (下のスクリーンショット右側) を利用。Firefox OSで基本機能は提供しているものの、ウェブ・アプリはブラウザー上で稼働するため、ネイティブ・アプリと比較して、性能面でハンディを背負っている。

g326_firefox_os_webapp_05

アプリをダウンロードするときは、Marketplaceアプリ (上のスクリーンショット左側) を起動する。App Storeと同じ要領で、希望のアプリをダウンロードする。前述の通り、Hosted Appでは、ウェブサイトへのリンクが張られるだけで、Packaged Appでは、実際にファイルがダウンロードされる。

Firefox OSのアイディアは、既にGoogle Chromebookで実現されている。ラップトップのChromeブラウザーでウェブ・アプリが稼働する構造である。毎日使っているが、基本的なタスクはこれで充分である。Firefox OSの場合も同様に、今後どこまで利用者の要求に応え、アプリの種類と幅を拡充できるかが、成功のカギを握る。

小型人工衛星を操作するベンチャー・ビジネス

Tuesday, April 30th, 2013

【進化するエンタープライズ・モバイル (2)】 先週に引き続き、企業向けモバイルの最新動向を、DEMO Mobileカンファレンスからレポートする。今週は、小型人工衛星を打ち上げ、その制御を一般に公開しているビジネスを考察する。

g317_nanosatisfi_01

センサーを搭載した小型人工衛星

この事業を行っているのは、NanoSatisfi (ナノ・サティスファイ) という、San Francisco (カリフォルニア州) に拠点を置くベンチャー企業で、小型人工衛星を開発し、その制御を個人や企業に開放している。NanoSatisfiが開発している小型人工衛星は、ArduSat (オーデュサット) という名称で、外観は上の写真の通りである。大きさはほぼ10センチ四方で、重さは1.3Kgである。ArduSatは、多数のセンサーを搭載し、地上からこれらを操作して、様々な実験を行うことができる。ArduSatが搭載しているセンサーは、加速度計、ジャイロスコープ、ガイガー・カウンター、放射温度計、カメラなどである。カメラは解像度が1.3Mピクセル、焦点距離が6ミリ、画角が60度で、想定される飛行高度から400km四方の撮影ができる。搭載されたセンサーはPayload Board (下の構成図の青色のボード) で制御される。このボードはArduinoというコントローラで構成され、上述のセンサーやカメラを制御する。Arduinoはオープンソース・ハードウェアで、開発コミュニティで幅広く利用されている。

g317_nanosatisfi_02

個人や企業が宇宙開発に参加

NanoSatisfiはArduSatを制御するアプリ   (Apps In Orbit) を開発している。このアプリはPayload Boardと連携し、ArduSatに搭載したセンサーを操作し、各種実験を行う。一般利用者は、開発されたアプリを使って、ArduSatを操作することができる。また、NanoSatisfiは開発環境を公開しており、利用者が独自のアプリを開発することもできる。宇宙開発に関心のある個人や企業や大学は、NanoSatisfiのサイトでアプリを開発して利用する。利用者は専用サイト (ArduSat Control Center ) で登録を行い、ここでアプリ開発から試験までを行う。アプリ開発が完了すると、この専用サイトから飛行中のArduSatに命令を送信し、センサーやカメラの操作を行う。利用者はArduSatの位置をモニターし、観測データをダウンロードする。ダウンロードしたデータや写真などを解析して、ミッションを遂行する手順となる。

ArduSatプログラムへの日本企業の参加

NanoSatisfiは、ArduSatの利用方法について、様々なアイディアを提案している。その一つが教育で、分光器を使って太陽光を観察したり、衛星から地上の写真撮影を行い、地上の形状を認識するなどの教育プログラムを示している。また、放射線量を測定し、それがどこからやって来るのかを分析するプログラムや、カメラや分光器を使って地上の雲を観測し、個人が天気予報を行うプログラムなど、学校向けの教育プログラムを提案している。

g317_nanosatisfi_03

NanoSatisfiのCEOであるPeter Platzerは、DEMO Mobileカンファレンス (上の写真) でプロトタイプを手にして、ArduSatの機能を説明した。後日、Platzerから、NanoSatisfiの事業計画やロードマップなどを聞いた。Platzerは、ArduSatのプラットフォームはオープンであり、日本企業や技術者の参加を呼びかけた。Platzerは、「日本企業がスポンサーとなり、1万人の学生に、ArduSatを操作する機会を提供できる」と、企業が学校教育に貢献する方式を紹介した。また、「高性能センサーを開発している日本企業が、このプロジェクトに参加して、製品をArduSatに搭載することで、日本の技術力を世界に示すことができる」とも説明した。NanoSatisfiは、ArduSat二機を、2013年8月に、打ち上げる予定である。Platzerは、「ArduSat二機は、日本のロケットであるH-IIBのペイロード (こうのとり4号機) によりISS (国際宇宙ステーション) に運搬される」と、打ち上げ計画を説明した。ArduSatは、「ISSからロボットアームにより、軌道上に放出される」手順となる。その後は、こうのとり5号機、更に、アメリカの民間ロケットであるSpaceXによりISSに輸送される計画である。

g317_nanosatisfi_04

オープンな宇宙開発

ArduSatはCubeSat (キューブサット) という規格の小型人工衛星である。CubeSatは、10センチ四方の形状で、重量が1.33Kg未満のものを1U規格と定義している。これを連ねた2U及び3U規格がある。この規格は、スタンフォード大学等が制定し、各国の大学が宇宙開発に参加できることを目指している。日本の大学も参加しており、2012年10月に、ISSからCubeSat五機が放出 (上の写真) されている。アメリカでは、SpaceXのように、民間企業が宇宙開発ビジネスに参入して、成果を上げている。ベンチャー企業も宇宙を目指しており、NanoSatisfiは、小型人工衛星をプラットフォームとする事業を模索している。ArduSatは、上述の通り、オープンソースの制御装置から構成され、開発基盤を公開している。Androidスマートフォンで、斬新なアプリが登場しているように、ArduSatという人工衛星プラットフォームで、キラー・アプリが登場するのか、宇宙開発も我々の手の届くところまで降下してきた。

10分でインストールできるクラウド

Friday, May 11th, 2012

新興企業が新技術を紹介するカンファレンスであるUnder the Radarでは、クラウドを主要テーマに、新しい視点からのクラウド・インフラ技術が紹介された。

g264_piston_cloud_01

Piston Cloud Computingという企業

カンファレンスで一番注目を集めたのが、Piston Cloud Computingというベンチャー企業である。同社はSan Franciscoに拠点を置き、オープンソースのクラウドであるOpenStackを商用製品として提供している。この製品はPiston Enterprise OS (PentOS、ペントス) と呼ばれ、OpenStackでクラウドを構築するために必要なコンポーネント全てを含んでいる。利用者はPentOSをコモディティー・ハードウェアにインストールして、プライベート・クラウドを構築する。PentOSの特徴は、10分間でクラウドをインストールできることである。PentOSはUSBメモリー・スティック (Piston CloudKeyという製品名) で配布され、利用者は、これをパソコンに挿入して、初期設定を行なう。上の写真 (出展はいずれもPiston Cloud Computing) がその様子を示しており、白色のUSBメモリー・スティックがPiston CloudKeyである。 パソコンでディスクの中のcloud.confというファイルを開いて、クラウド導入の初期設定 (サーバ数の指定やID・パスワードの設定など) を行なう。更に、PentOSディレクトリを開き、バリデーション・ツールを起動し、OSの整合性を確認する。

g264_piston_cloud_02

次に、実際にクラウドをインストールするラックマウント・サーバで、最上部に設置されているネットワーク・スイッチに、Piston CloudKeyを挿入する。上の写真がその様子で、Arista Networks社のネットワーク・スイッチにPiston CloudKeyを差し込んでいるところである。そしてネットワーク・スイッチの電源を入れると、PentOSのインストール処理が始まる。システムはハードウェア構成を検出し、それに最適な構成で、PentOSを自動でインストールする。このプロセスに要する時間が10分である。

g264_piston_cloud_03

インストールが完了すると、IDとパスワードでログインして、PentOSのダッシュボード(上のスクリーンショット) にアクセスし、システムの稼働状況を監視制御する。このようにPentOSは、OpenStackを簡単な操作で導入できる技術を提供している。Red HatがLinuxのパッケージを提供しているように、Piston Cloud Computingは、クラウド市場におけるRed Hatを目指している。

オープンソース・クラウド

Saturday, December 25th, 2010

来年大きく開花しそうな技術に、OpenStack (オープンスタック) がある。OpenStackとは、NASAとRackspace (ラックスペース) が中心となり開発が進められている、オープンソースのクラウドである。

OpenStackの概要

OpenStackは、大規模クラウド構築のためのオペレーティング・システムで、NASAとRackspaceにより創設され、コミュニティにより開発が進められている。OpenStackは、二つのコンポーネントから構成され、それぞれ、OpenStack Computeと OpenStack Object Storageである。OpenStack Computeは、仮想サーバを管理する機能を提供している。OpenStack Object Storageは、大規模ストレージを構成するための機能を提供している。ざっくり表現すると、OpenStack ComputeはAmazon EC2 (Elastic Compute Cloud) に相当し、OpenStack Object Storageは、Amazon S3 (Simple Storage Service) 相当する。利用者は、これらのコンポーネントに、API (Application Program Interface) を通じてアクセスする構造となっている。クラウド機能へアクセスする方式も、アマゾン・クラウドと同じである。OpenStackは、上述の通り、オープンソースの手法で、コミュニティにより開発が進められており、ソースコードはApache 2.0のライセンスで公開されている。利用者は、OpenStackを自由に使うことができるだけでなく、自由に改造し自社製品に組み込んで使うことができる。開発者向けの初期バージョン (Austinという版数) は、10年10月に一般公開されている。

OpenStackの開発経緯

オバマ政権になってから、連邦政府のコンピュータ・システムをクラウドに移行する指針が示された。これに呼応して、NASAのAmes Research Center (エイムス研究所) は、独自クラウドの開発を始めた。このクラウドはNabula (ネビュラ) という名称で、下の写真 (出展はいずれもNASA) の通り、コンテナーに高密度に実装されている。開発の指揮をとっていたのは、Chris Kemp (クリス・ケンプ) という若いCTO (Chief Technology Officer) であった。NASAは、オープンソース・クラウドであるEucalyptus (ユーカリプタス) をベースに、システムの開発を行なっていた。しかし、NASAは、09年11月頃に、Eucalyptusをベースとしたクラウドの開発を中止し、全てのコードを独自で開発することに方針を転換している。

g190a_openstack

NASAのクラウド開発や、OpenStackの開発指針などについて、RackspaceのRon Peddeから聞くことができた。Peddeは、RackspaceのMosso部門 (クラウドで開発環境を提供している部門) のシステム・エンジニアで、OpenStackについて技術的な見地から、解説してくれた。まず、NASAがクラウド開発を開始した際に、「NASAはオープンソース・クラウドの評価を行い、Eucalyptusを選定した。」 NASAは、Eucalyptusをベースとしたクラウドの開発を進めていたが、「Eucalyptusは大規模システムに対応できないことが分かり、Eucalyptusベースでの開発を中止し、独自でコードの開発を始めた」と説明してくれた。このため、NASAはクラウドの開発を、ゼロから行なうことになった。ちょうど同時期に、Rackspaceも、独自クラウドの開発を行なっており、開発したソフトウェアをオープンソースとすることを計画していた。Rackspaceは、NASAに接触して、両者が共同でクラウドの開発を行なうこととした。共同開発のクラウドは、OpenStackという名称とし、開発したコードはオープンソースとして公開することとした。Peddeによると、「OpenStackはRackspaceのCloudFSと、NASAのNovaを統合した構成である」と述べた。CloudFSとは、Rackspaceが開発していたクラウド・ファイル・システムで、上述のOpenStack Object Storageとして開発が進められている。Novaは、NASAがゼロから開発していた部分で、OpenStack Computeとして組み込まれている。また、OpenStackの開発指針については、オープンソースの手法で開発するだけでなく、標準クラウドとなることを目指している。Peddeによると、「利用者が特定企業のクラウドにロックインされるのではなく、OpenStackは標準仕様のクラウドを目指している」と説明してくれた。

OpenStackの適用事例

OpenStackは、前述の通り、大規模クラウドの構築を目標としており、100万台の物理サーバと6000万台の仮想マシンを制御することを目指している。つまり、OpenStackは、世界最大規模のクラウドの構築を目論んでいる。この背景には、NASAは、研究所内の独自クラウド (Nebula) を、OpenStackで構成し、スパコン・クラスの性能を必要としているためである。NASAは、Microsoft Researchと共同で、火星の高解像度画像をリアルタイムで配信するプロジェクトをNebulaの上で展開する計画である。このプロジェクトは、WorldWide Telescope (宇宙全体を克明にマップするシステム) の一部で、火星表面を高画質・三次元で表示し、利用者はブラウザー上で火星を探索できることとなる。これは、Google Earthの火星版で、火星の名所旧跡を、案内に従って訪れることができる。計画されている有人火星探査船の着陸候補地や、Spirit Rover (火星に着陸した最初の無人探査車) の着陸地点などを見ることができる。これらの画像は、火星探査衛星 (Mars Reconnaissance Orbiter) から送信される写真を使い、火星全体が5億枚の升目で表現される。因みに、下の写真は、現行のWorldWide Telescopeで見たSpirit Roverの着陸地点。

g190b_openstack

トレンド

OpenStackは、自らのソフトウェアを、クラウドOS (Operating System) と呼んでおり、クラウドOS市場でのAndroidとなることを目指している。OSの歴史を振り返ると、サーバOSではオープンソースのLinuxが市場を席巻し、モバイルOSではAndroid搭載携帯電話の数が急増している。クラウドOS市場では、Amazonという固有仕様のクラウドOSが突出しているが、ここにOpenStackというオープンソース・クラウドが登場した。来年は、オープンソース・クラウドの採用が始まるのか、市場が大きく動きそうである。