オルタナティブ・ブログ > Innovationを探しに行こう >

世界を変える何かは、既に近くにあるかもしれない

クラウドコンピューティングという言葉

»

最近、よく目にするこのキーワード、実体は何なんだろうと調べています。もちろん、インターネットが雲の形で書かれることが多いのが由来だとか、データやサービス(アプリケーション)が「あちら側」から供給される、という説明はわかるのですが、なんだかピンときませんよね。そこで、クラウドコンピューティングを技術的に語るためのキーワードをいくつか紹介してみます。

その前にまず、言葉の定義ですが、Wikipediaでは、「Utility Computingやコンピュータ資源共有技術を含むGrid Computingのサブセットを示す「ラベル」だ」と定義されています。ちなみに、先月までは、「パラダイム」だと定義されていました。なんだか、初期のWeb 2.0とよく似た怪しさを感じますね :-) Grid ComputingやUtility Computingと何が違うのかと言われると、あまり明確な答えを出せそうにありません :-)

クラウドコンピューティングという言葉は、2006年ごろGoogleのCEOであるEric Schmidtのインタビューの中で登場してます。インターネットクラウドという言い方は、もっと前からありました。Googleのみならず、AmazonのAmazon Web Services (AWS)や、IBMのBlue Clouds計画の発表など、クラウドコンピューティングに関する各社の取り組みは華やかです。また、去年末には、Business Weekでも取り上げられています。

Web 2.0におけるAjaxのように、クラウドコンピューティングを特徴づけるテクノロジをいくつか挙げてみます。

仮想化技術
クラウドコンピューティングでは、サービスやアプリが実行される場所が抽象化されますが、それを動かすミドルウエアやOSも仮想化環境の上で動くことが多いです。たとえば、AmazonのElastic Compute Clouds (EC2)は、仮想的なサーバー環境を提供するサービスですが、ユーザは、使用したい実行イメージ(例. Linuxサーバ)を選んで、activateするだけで、あたかも向こう側のどこかにあるサーバにログインすることができます。私は、仮想化技術の進歩がクラウドコンピューティングの屋台骨の一つであるように思います。ちなみに、Elasticは、「伸縮する」という意味です。

分散処理プログラミングモデルとプラットフォーム
巨大なデータをマネージするGoogleの成功を支える技術基盤は、Google File System (GFS), MapReduce, BigTableといった分散処理技術であり、このような広域分散のためのプログラミングモデルやプラットフォームもまた、クラウドコンピューティングを支える技術の一つです。現在、Apache Software Foundationにおいて、分散処理プラットフォームHadoopの開発が行われています。MapReduceにしてもHadoopにしても、検索のような分散並列処理が容易な分野ではその利点が明らかですが、より複雑なアプリケーションでどのように活用していけるかが鍵ではないかと思っています。

Web OS
ブラウザ上でOSのデスクトップが動くWeb OSも、非常にホットなエリアであり、たくさんの実装が存在します。データやサービスだけではなくOSそのものが雲の向こうから提供されると、まさにユーザが雲の端っこで仕事をすることになります。まだまだWeb OSを実用で使っているユーザは少ないかもしれませんが、クラウドコンピューティングとWeb OSの組み合わせは、世界を大きく変える可能性がありますよね。また、Web OSの普及によって、プログラム開発がクラウド上で行われるようになったり、情報の共有が促進されるという方向も興味深いです。

Multi-tenancy
データがクラウド上におかれるようになると、異なる企業のデータが物理的に同じサーバーに置かれるような場合が出てくるでしょう。データの独立性を保証する仕組みやセキュリティの機能が重要になります。SaaSの世界でよく耳にするMulti-tenancy (tenantはいわゆるテナントですね)もクラウドコンピューティングを支えるキーワードです。

ばらばらと、テクノロジを並べてみました。もちろん、クラウドコンピューティングは、テクノロジだけではなく、ソフトウエアの形態や、ビジネスモデルをも変えてしまう破壊力を持っています。これが、どのように進化し、また、企業やユーザに受け入れられているか、今年も興味深くウォッチしていきたいと思っています。

Comment(0)