IT分野における新しいキーワードの中でも、いま最も注目を集めているのが「クラウドコンピューティング」です。ネットワークの向こう側にあるリソースを意識することなくサービスが利用できるというクラウドコンピューティングは、将来のシステムのあり方を変えるとも言われています。今回は、クラウドコンピューティングの概要について紹介します。
リソースを意識しない基盤
クラウドコンピューティングとは、サービスやアプリケーションを実行する基盤がネットワークの向こう側の見えないところにあるというコンピューティング環境を示す新しいインターネット技術の概念です。サービスやアプリケーションが稼働するハードウェアやソフトウェアの構成はもちろん、データの保存場所も意識することなく利用できるというものです。
新しいインターネット技術のトレンドとして注目されるようになったクラウドコンピューティングですが、この言葉が誕生したのは2006年のことです。同年8月、米国で開催された検索エンジンに関する国際会議「Search Engine Strategies Conference」において、米国グーグルのCEO、エリック・シュミット氏がクラウドコンピューティングという言葉を発言したのが最初だと言われています。シュミット氏は、インターネットを「雲(クラウド)」にたとえ、インターネットのどこかにあるリソースを意識せずに利用できるコンピューティング環境を表現したわけです。この言葉はすぐに新しいインターネット用語として広まりました。
ASPやSaaSも構成要素
ユーザがリソースを意識することなく、インターネット経由でサービスやアプリケーションを提供するものには、従来からASP(ApplicationService Provider)やSaaS(Software as a Service)と呼ばれるものがありました。ただし、ASP やSaaS は、どちらかといえばソフトウェアの流通形態の一種です。ハードウェアとパッケージソフトウェアを購入して自前でシステムを構築するのではなく、ソフトウェアの機能をインターネット経由でサービスとして提供を受けるものと言えます。
クラウドコンピューティングも、ソフトウェアの機能をサービスとして提供されるという意味ではASPやSaaSと大きな違いはありません。しかし、ASPやSaaSでは事業者が用意したリソースを利用することをユーザに意識させますが、クラウドコンピューティングではリソースの構成やデータの所在をユーザに意識させることはありません。クラウドコンピューティングは、利用中のサービスやアプリケーションのリソースを提供しているのが誰なのか、まったくわからないほど無意識のうちに利用できるコンピューティング環境なのです。
鍵を握るグリッドと仮想化
リソースを意識しないというクラウドコンピューティングですが、実際にはサービスやアプリケーションを実行するための基盤は、もちろん存在しています。その基盤は、当然のことですが、サービスやアプリケーションの需要が増えるたびに拡張されることになります。
現在提供されているASPやSaaSも含め、従来のシステムでは、ハードウェアリソースの拡張を事業者がサービスを提供するサイト単位で行っていました。ところがクラウドコンピューティングでは、サイト単位でシステムを構成するのではなく、サイトをまたいで拡張することもあり得ます。それを実現するテクノロジとして期待されているのが、グリッドコンピューティングと仮想化技術です。
グリッドコンピューティングとは、インターネット上に分散しているシステムリソースをソフトウェアによって相互に連携して動作させ、あたかも1つのシステムがサービスやアプリケーションを提供しているように見せる技術です。
クラウドコンピューティングでは、サービスやアプリケーションがどれだけ利用されているのかという状況に応じて、グリッドコンピューティングの技術を用いてリソースを適切に増やしたり、減らしたりします。これにより、ユーザはサービスやアプリケーションを常に快適に使え、リソースを提供する企業はシステムの稼働率を上げで料金を徴収できるという一挙両得のユーティリティコンピューティング環境が実現されます。
さらに、仮想化技術はクラウドコンピューティングを実現する上で必要不可欠なものです。構成や所在を意識させないからといって、サービスやアプリケーションを使うための玄関口がなければ、何も利用することはできません。その玄関口の部分を担うのが、仮想化技術なのです。
仮想化技術には、サーバ仮想化、ストレージ仮想化、ネットワーク仮想化のように、階層の異なる技術がいくつもありますが、クラウドコンピューティングではすべての仮想化技術が必要です。たとえば、サービスやアプリケーションの利用状況によって、それを実行するハードウェアの処理を制御するには、サーバ仮想化技術が欠かせません。データも特定のストレージに依存することで発生する危険性のある障害を回避するために、複数のストレージを1 つの巨大なストレージプールと見なせるストレージ仮想化技術を取り込むことが求められます。さらに、特定のリソースにアクセスが集中しないように、ネットワーク仮想化によって物理的な接続先をダイナミックに変更するネットワーク仮想化技術も必要です。
これらの仮想化技術はすでに実用化され、企業システムに普及しつつあります。ただし、それぞれの仮想化技術は別々に技術革新が進んでいるため、クラウドコンピューティングに必要なトータルな仮想化技術の確立が今後の鍵を握ると考えられます。
クラウドコンピューティングを巡る動き
未来のコンピューティング環境として動き出したばかりのクラウドコンピューティングですが、いくつかのプロバイダにクラウドコンピューティングのさきがけとなるサービス提供の動きがあります。
たとえば、グーグルは「GoogleApp Engine」というサービスを開始しています。
これは、グーグルが提供するリソース上でアプリケーションを自由に実行できるというものです。利用状況に応じた拡張や負荷分散などは自動的に行われるため、アプリケーションの開発者はハードウェアやネットワークのリソースを一切考える必要はありません。同様のサービスは、SaaSベンダーとして著名なセールスフォースも提供しています。
また、世界最大級のEC サイトを運営するアマゾンでは、自社が所有するリソースをインターネット上で利用可能にした、ユーティリティコンピューティング環境を具現化したサービス「Amazon EC2」を提供してきました。
利用者がOS やミドルウェアを選択できるという点ではホスティングサービスに近いものですが、プロセッサ稼働率によって従量制の料金が発生するという課金体系は、クラウドコンピューティングを予見させるものです。