Thursday, July 24, 2008

クラウドコンピューティングを徹底解説

この一ヶ月の内に随分と長い間クラウドの中で時間を過ごした。山の上と飛行機の中でゆっくりいろんな事を考えているうちにクラウドコンピューティングの定義やメリット・機能・テクノロジーを頭の中で整理することができた。いままでのコンテンツの焼き直しの感もあるが是非よんで頂きたい。


「クラウドコンピューティング」の短くてよくある説明
必要なときに必要なだけ"あちら側"のITリソースを利用することができる仕組み。絵で示すと以下のようになる。

絵を見てなるほどと感じる人もいればなにか腑に落ちない人もいるだろう。腑に落ちない人の大きな疑問は以前から世の中に存在するWebアプリケーションのホスティングとの違いがはっきりしない点だ。この広義のクラウドコンピューティングを示すアーキテクチャは一見すると既存のWebアプリケーションホスティングと代わりがなく、敢えて言えば第三者が大規模に行っている点くらいしか違いが見えない。確かにブラウザとコネクション(ネットワーク)の部分はそれ程革新的な技術進歩がここ数年ないのは事実でありここだけ見るとクラウドコンピューティングもただのBuzzワードになってしまうのだが実はコンピュータクラウドの中にこの数年におけるIT業界における進化が凝縮されているのだ。

ということでWebアプリケーションホスティングとの違いを明確に理解するためにこのコンピュータクラウドの中をじっくり見てみよう。

繰り返しになるが言葉の定義、ユーザメリット(ベネフィット)、機能、テクノロジーの順番でBreakDownしてみた。

クラウドコンピューティングとは

必要なときに必要なだけ"あちら側"つまりコンピュータクラウドのITリソースを利用することができる仕組み
特に複雑な仕組みではないように感じるがこれを実現するのは実は結構大変だ。
ユーザはあちら側で起こっていることを意識せずにアプリケーションやプラットフォームを利用したい。つまりこの"意識せず"を実現するのが大変なことで柔軟なスケーラビィリィティ、ビルトインの信頼性、簡単な操作性、オープンなインターフェイス等々(詳細は後ほど)を実現する必要があるからだ。また通常は意識しないが何か問題があったときは全ての詳細を知りたい(特に日本では)というニーズも当然満たしてあげなければならない。細かい話の前にまずクラウドコンピューティングを経営者層に売りこみに行くことを想定してストーリーを考えてみた。

クラウドコンピューティングのメリット、特に既存のWebアプリケーションホスティングにないメリット(経営者の視点から)

1.スピード 言い換えるとTime to Market  最近複数のクラウド関係者と話をすることにより、既にクラウドコンピューティングを利用しているユーザがもっともメリットを感じている点がスピードであることを学んだ。スピーディーに新しいサービスをリーズナブルなコストでマーケットにだせることに大きなメリットを感じているようだ。SaaSベンダー等のWeb2.0系の企業のみならずサービスプロバイダー、金融機関等のエンタープライズ、更には公共機関等でもサービス展開のスピードは至上命題でありこの部分への期待は高い。
最新のクラウドテクノロジーを利用するとプラットフォームのProvisioningのスピード、アプリケーションの導入、開発から本番への移行,更にはトラブル解決等のスピードが桁違いにはやくなる。

2.コンプライアンス ここは意見が分かれるところでありコンピュータクラウドにより大きくコンプライアンス対応が異なるがちゃんとしたクラウドであればコンプライアンス対応のOperationが極めてシンプルになる。優良なクラウドテクノロジーであればログやイメージ管理、データ管理といった簡単そうで実は結構厄介なデータセンター内での様々なコンプライアンス対応が極めて容易に実現できるからだ。

3.コスト HWやSW等の資産を持つ必要がない。必要なときにサービスとして利用することによりコスト削減が期待できる。
IT資産に加えて全体リソースの自動化、自律化といったクラウドテクノロジーにより人件費の削減も可能となる。

4.グリーン 勿論コンピュータクラウドのでき次第なのだが通常は大規模インフラを効率的に運用しITリソースの使用率を大幅に向上することができるのでクラウドコンピューティングサービスを利用することでITのグリーン化に大きく貢献できる。

さてこれを聞いてもなんかSOAのときのメリットにも似てなんか釈然としない、ということに通常なる。従って次に上記のメリットの前提となる機能の説明となるのだ。


クラウドコンピューティング その機能と特徴 Webアプリケーションホスティングとの差別化を決定的にする数々の点

1.スケーラビィリィティ:必要なときに必要なだけのコンピューティングリソース・ストレージリソースなどのITリソースをクラウドから利用する。柔軟性とスピードを兼ね備えた拡張性さらには収縮性が求められる。これはGreen化におけるキーワードでもある。2.信頼性:分散されたクラウド内のリソースを柔軟に管理することによりどんなトラブルにも即座に対応できるHAの仕組みを内蔵する必要あり。当然今までユーザが独自に構築していたシステムよりもその信頼性は高いものとなる。バックアップやDRサイトのクラウド上での構築は容易且つコスト的にも現実性が高く今後のクラウド利用の大きないまたデータだけではないアプリケーション全体の可用性が求められる3.自動化と自律性:仮想化インフラを利用することがほぼDefactoになってきているコンピュータクラウドでは多くのオペレーションが自動化、自律化可能だ。従い単に人件費削減だけでなくSOX的な観点からも重要であり人為的なミスを最小化することができる。
4.容易性:どんなに優れたメリットがあってもそれを享受するのが複雑であってはならない。プラットフォームの増強、アプリケーションの構築、バックアップ、DRシステムの構築等が極めて簡単に利用できることが重要な機能となる。

5.可視化:コンピュータクラウド内で起こっている様々な設定変更やログなど簡単な操作で管理できる。またAPIから叩くことにより他のアプリと連動しながら情報を提供することも可能

勿論、世の中には今まで説明したようなメリットや機能をもっていないクラウドもある。これらは筆者の定義ではクラウドコンピューティングというカテゴリーには入らないのだ。

さて上記を説明すると少しは具体性が見えてきて、経営者の人も少しは興味を持つか深い眠りに入っていることになる。
興味を持った場合、今度は現場レベルの人との技術Meetingになる。ここで上記の機能を実現するためのテクノロジーの話をすることになる。ここら辺になると経営者層は理解に苦しむので無駄な時間は使わないほうがよい。

クラウドコンピューティング その技術を支えるテクノロジー

1.仮想化とGrid
2.抽象化
3.管理テクノロジー  大きくする、小さくする、止める、動かす、まとめる、見える、

詳細は次回へ。

No comments: