この数年間,どこかの島にこもっていたのでもない限り,その間 クラウドに費やされた 多くの労力 について知らなくはないだろう。クラウドをソフトウェアの"根本的な変化"と考えるかどうかは別として,今後数年間が曇りがちな(クラウドな)時代になる ことには間違いないだろう。数多くの標準が乱立するにはまだ早いが,それでもセキュリティや認証,基本構造といった領域では,すでにその兆しも見え始めている。
オープンソース全盛の今世紀においては,特に 今を盛りとクラウド関連のプロジェクトが増え続けている。Apache には Deltacloud と libCloud などがある。それぞれ"クラウド間の差異の抽象化" と "クラウドの統一インターフェース” の提供を目指すものだ。クラウドプロジェクトが1つあることがよいのことなら,2つあればもっと素晴らしいはずだ。では3つだったら? 近くそれを目の当たりにすることになるだろう。Nuven プロジェクトが順調に進んでいて,間もなく Apache インキュベータのステージに達しそうだからだ。入手可能な情報によれば,それは次のようなものだ。
- クラウドプラットフォームの共通サービスを抽象化するオープンAPI の定義により,アプリケーションロジックとプロプライエタリなクラウド固有部分との分離を促進する。
- Google AppEngine,Amazon EC2,Microsoft Azure などの一般的なクラウドに対して Nuvem API を実装する。
- 当面はユーザ識別と認証,分散キャッシュ,データストア,キュー処理に注力し,その後チャット,ログ,デバッグなどその他のサービスに拡張する。
Wiki ページではさらに,クラウド実装間の移設時にベンダのロックインを回避するための方法として,共通 API の必要性についても言及している。Deltacloude や libCloud と同様,Nuvem も「サービスとしてのインフラストラクチャ (Infrastructure as a Service,Iaas)」をターゲットとしているようだ。情報提供者によると,Apache の SCA 実装である Tuscany を利用するプロトタイプが開発中である,とされているのも興味深い。この試みは SOA 関連とクラウドとの関係に関する疑問に対して,何らかの回答をもたらすものになりそうだ。
その資料中で,Apache の関連プロジェクトに対して次のように述べられているのは残念だ。
現在のところ,一般的なクラウドプラットフォームサービスを抽象化して,真のオープンソース API を定義しようとする動きはありません。Nuvem は,ユーザ主導イノベーションのような本当のオープンソースメカニズムを可能にする方法で,オープンソースなクラウドアプリケーションのプログラムインターフェース構築のためのコミュニティを作り出す試みなのです。
libCloud と Deltacloud がその実績を Apache に提出して,2010年6月以降更新されていない Nuvem のこの資料に取って代わることも考えられなくいはない。いずれにしても Nuvem プロジェクトが公式に開始されて,単独のオープンソース API に誰もが同意する(とすれば,その)前に,何らかの明確化と統一が図られることを望みたい。