Part 1. マイクロソフトのクラウドコンピューティング "S+S" 概要 その3
※ その2 からの続きです。(エントリが長すぎてポストできなかったので分割しました。)
[クラウドコンピューティングに関する FAQ]
ここまでで解説はひととおり終了なのですが、よくある FAQ として、以下の 4 つの点を簡単にまとめておきたいと思います。
- 従来技術とクラウド技術の違い
- プロビジョニング
- パブリッククラウドとプライベートクラウドの境界線
- マイクロソフトのクラウドコンピューティング戦略の 4 つの柱
① 従来技術とクラウド技術の違い
その昔、「フレームワーク」というキーワードが流行した際、実態としてはフレームワークとは呼べないような製品まで「フレームワーク」という名称を付与して販売されていた時期がありました。この手の Buzz Word (流行語)はどうしてもマーケティング目的で利用されてしまうことが多く、「クラウド」というキーワードもやはりそのような側面があります。実際、オンプレミスとクラウドの境界線は、厳密には定義できないこともあり、用語の使い方が曖昧になっています。例えば下図のようなケースにおいて、各種のデータセンタはいずれも IaaS の一種のようなものとみなせますが、どこからクラウドと呼ぶべきか? 何をクラウドと呼ぶべきか? に関しては、今のところ、厳格な定義がありません。
ただ、おおまかに言うと、従来型のものとクラウド型のものには、以下のような違いがあります。
- 仮想化 : 各種のコンピューティングリソースが抽象化されている
- 従量課金 : 使った分だけお金を支払う
- 動的なリソース割り当て : 必要に応じて簡単にリソースを増やせる
この中でも、特に「動的なリソース割り当て」については、クラウド技術を特徴づける極めて大きなポイントになっていますので、これについて解説します。
② プロビジョニング
おそらく、「動的なリソース割り当て」を理解するためには、Windows Azure Platform の機能(サービス)のひとつである、Windows Azure コンピュートサービスの概要を理解するのが手っ取り早いと思いますので、これについて解説します。
先に述べたように、Windows Azure コンピュートサービスとは、Microsoft が提供する PaaS サービスで、OS とミドルウェアの部分が提供されるサービスになっています。その中身を、技術的な観点からものすごく単純に書くと、 「仮想マシンの自動展開機能と、パッケージングされたアプリケーションの自動配置機能である」 と説明できます。下図を見てください。
上図は、Windows Azure コンピュートサービスの内部動作をおおざっぱに示したイラストです。Windows Azure コンピュートサービスは PaaS サービスですが、具体的には以下のように動作します。
- ユーザは、開発したアプリケーションをパッケージングし、ポータルサイトからアップロードします。
- ファブリックコントローラは、データセンタ内のコンピュータリソースの空き状況を見て、IIS や .NET Framework がインストールされた OS イメージを、物理ハードウェア上に展開します。
- さらにここにアップロードされたアプリケーションを展開し、仮想マシンを起動します。
上記の一連の作業はすべて自動で行われるため、非常に素早くサービスを利用し始めることができます。また、リソースが不足した場合には、仮想マシンを追加して負荷分散することでキャパシティを増やすことができ、逆にリソースが過剰になった場合には、仮想マシンをシャットダウンすればよい、という形になっています。
このような、動的なリソース割り当ての仕組みは、一般的にプロビジョニング(Provisioing) と呼ばれています。プロビジョニングとは、「事前にリソースを用意しておき、ユーザからの要求に応じて適切な割り当てを素早く行う」ことを指す用語で、クラウドをクラウドたらしめる重要な技術要素のひとつになっています。
Windows Azure ではこれに加え、ファブリックコントローラがマシンの稼働監視やフェイルオーバなどを司っており、事実上の無人運転が行われているわけですが、ここまでの自動化が行われているクラウドサービスは、実際問題としては一部の企業に限られるでしょう。となると、何をクラウドと呼ぶのかの定義は、現実的にははっきりしない、というのが実態だと思います。
(参考) よく、「”Windows Azure” とはクラウド版の Windows OS である」という説明がなされますが、Windows Azure コンピュートサービスにおいて、実際に使われている OS は、我々がよく使っている Windows Server 2008 です。にもかかわらず、Windows Azure がクラウド OS である、と言われるゆえんは、上図のファブリックコントローラのところに肝があります。このファブリックコントローラは、データセンタ内の各物理サーバのリソースの空き状況を監視して、動的に仮想マシンをアサイン、展開する仕組みを持っています。このような仕組みは、クラウドコンピューティング特有のものである、と言えるでしょう。(つまり、Windows Azure のクラウド OS としての本体は、ファブリックコントローラである、と説明してもよいでしょう。)
(参考) Windows Azure コンピュートサービスの利用に関して、初期費用が発生しない、また「1 インスタンス・1 時間あたりの課金」という計算方式になっているのは、このような動的リソース割り当ての仕組みを持っているからでもあります。
③ パブリッククラウドとプライベートクラウドの境界線
何をクラウドと呼ぶべきかの定義がはっきりしない、というのと同様な話のひとつに、パブリッククラウドとプライベートクラウドの境界線がはっきりしない、という話もあります。本エントリでは、誤解を避けるために、オンプレミス/ホスタークラウド/メガクラウドという用語を使いましたが、これらの用語は一般的ではありません。一般的には、パブリッククラウド/プライベートクラウド/インターナルクラウドといった用語の方が有名でしょうが、これらは境界線がはっきりせず、またマーケティング的な都合から、やや解釈を広めにとって使われていることが少なくありません。
上図に示した境界線はどれが正しいと一概に言えるものではないでしょう。はっきりしていることは共用性が高いものをパブリックと呼び、低いものをプライベートと呼んでいることだけで、境界線がどこと決定しているわけではありません。Microsoft, Google, Amazon などが提供する超大規模クラウドサービスのみをパブリッククラウドと書くケースも多いようですが、ホスタークラウドでも汎用型かつ大規模であれば十分にパブリックなクラウドである、と言えると思います。このため、これらの用語を使う場合には、誤解が生じないように、意味するものが上記のどれなのかをきちんと示す必要があります。
④ マイクロソフトのクラウドコンピューティング戦略の 4 つの柱
ここまでの解説からわかるように、Windows Azure Platform とは、カスタムアプリケーションを乗せるためのインフラ(PaaS サービス)であり、”Windows Azure Platform” と “S+S(Software plus Services)” とは全くの別物であることもわかるかと思います。再度、クラウドコンピューティング時代においてマイクロソフトが提供するソフトウェアとサービスを、以下に掲載します。
この図から分かるように、ざっくり言うと、クラウド型として提供されるオンラインサービスは、以下の 3 つのブランドに大別されます。
- BPOS : SharePoint Online, Exchange Online, OCS Online など(ビジネスユーザ向け)
- Windows Live : Live Mail, Live Map, Live Messenger など(コンシューマユーザ向け)
- Windows Azure Platform : Windows Azure ストレージサービス、コンピュートサービス、SQL Azure (アプリケーション開発プラットフォーム)
これらに加えて、既存データセンタ(オンプレミス型)に対してクラウド関連技術を適用しようとする、ダイナミックデータセンタの 4 つが、マイクロソフトのクラウドコンピューティング戦略において重要な柱である、と説明できるかと思います。(ちなみにこれ以外にも、Windows Mobile や Dynamics CRM Online などもあります。興味のある方は調べてみてください。)
[まとめ]
というわけでここまでいろいろと説明してきましたが、要点をまとめると以下の通りとなります。
- マイクロソフトは、クラウドコンピューティング世代に対して全方位的なソリューションを展開している。これを¨"S+S" 戦略と呼ぶ。すなわち、オンプレミスソフトウェアとクラウドサービスの両方を併用することにより、柔軟かつ高度なソリューションを提供できるようになっている。
- インフラレベルから見るとシステム形態は 3 つに大別できる。
① オンプレミス型
② ホスタークラウド型
③ メガクラウド型
オンプレミス/クラウドはトレードオフの関係を持つため、適切な選択を行うことが非常に重要になる。 - マイクロソフトの提供するサービスのうち、特に重要なのは以下の 4 つである。
1. ダイナミックデータセンタ(既存データセンタのクラウド化)
2. BPOS (マイクロソフトの企業向けオンラインサービス)
3. Windows Live (マイクロソフトのコンシューマ向けオンラインサービス)
4. Azure Platform(開発者向けの PaaS プラットフォーム) - 今後は、オンプレミス向け技術と、クラウド向け技術の両方について、その特性や技術的差異をよく理解し、これらを併用したソリューション検討が必要になる。
なかなか全体像が掴みにくい “S+S” 戦略ですが、全体の枠組みを正しく理解した上で、適切な場所にクラウド技術を適用するようにしてください。