“クラウドという言葉の定義”について、Microsoftは今年のPDC09で繰り返し、繰り返しクラウドとは何かを説明するスライドを織り交ぜてプレゼンテーションを進めている。クラウドコンピューティングの概念があいまいすぎて、たとえソフトウェア開発のプロ同士の話であっても、互いの認識を微調整しておく必要があると考えているからだろうか。
Microsoftは、世の中にクラウドを提供するプラットフォームがたくさんあり、それぞれを提供する企業がよく似たものを異なる言葉で呼んでいるという混乱した現状を整理して説明するために、機能と要件に絞ってクラウドとは何かを定義している。
同社は、サービス指向であり、多くの顧客が1つのプラットフォームを共有し、急峻なトラフィック増加に強い。障害に対しても極めて強く、弾力ある運用が可能で……と、クラウドを実現している背景の技術やアーキテクチャよりも、クラウドの条件として説明している。つまりクラウドとは、特定の技術やプロトコル、トポロジなどに依存しているのではなく、その概念を満たす機能や特徴を有するのであれば、その中身にはこだわる必要がないと言っているのだ。
Microsoftがこのように説明しているのは、Microsoftのクラウド戦略が非常に幅広く、特定の技術やアーキテクチャに依存しないように作られているためだ。顧客や開発者が望む環境やツールを提供するのが目的であって、目的に至るまでの手法は多様な道からから選択すべきというわけだ。
クラウドを語るときにたくさんの言葉で語られるが、その本質は? | マイクロソフトが考えるクラウドとは特定の技術やプロトコル、トポロジではなく、機能と要件にある |
Microsoft本社のプラットフォーム戦略シニアディレクタのティム・オブライエン氏は、Microsoftのクラウド戦略が特徴的であることを「デベロッパーもユーザーも、利用したいアプリケーションに応じて、自由な切り口でクラウドの利点を享受できること」と話す。オブライエン氏はMicrosoftのクラウド戦略に関して、CSAのレイ・オジー氏に情報とアドバイスを送る立場にある人物だ。
たとえばGoogleは、明らかにクラウドを基礎に運営されている代表的な企業だ。GoogleはWebブラウザですべてのアプリケーションを動かそうとし、ブラウザ向けにあらゆるアプリケーションを提供しようとしている。
一方、クラウド分野におけるライバルのもう1社、Amazonはアプリケーションを動かすプラットフォームサービスも行なっているが、もっとも強いのは仮想サーバーと仮想ストレージを安価に提供する(Amazonが構築しているデータセンターの軒を貸す)ことで、ここに力を入れている。データセンターは規模が大きくなるほど、パフォーマンスあたりの価格が下がるため、EC2やS3の事業を拡大することは本業にもプラスとなる。
各社とも各社の得意分野でクラウドを活用しながら、クラウドコンピューティングが生み出すさまざまな利点を用いて顧客に魅力的なメニューを提供しようとしている。が、Microsoftは、この部分が少し異なるのだ。
Microsoftは、事業パートナーに自由な発想で使ってもらうことに力を入れている。Microsoftが目指すビジネスの直接的なライバルはAmazonになるだろうが、実際に競合と言える相手は事業の切り口が異なることもあって、実はあまりいない。
たとえば現在、リッチインターネットアプリケーション(RIA)の実行コンテナには主にWebブラウザが使われている。AdobeのAIRのような例もあるが、MicrosoftはWebブラウザをSilverlightで拡張し、その上でRIAを動かそうとしている。この動きが進んでいけば、伝統的なWin32 APIを用いたアプリケーションが消えていくだけでなく、.NET Frameworkで構築されたアプリケーションもOSへの依存度が一段と消えて、OSとしてのWindowsを使う必要が将来はなくなっていく……なんてことが想像できてしまう。が、Microsoftはもちろん、そんなことは考えていない。
Microsoftが考えているのは、どんな形式のアプリケーションであれ、クラウドのパワーを容易に利用し、これまでと同じプログラミングモデルとツールを用いて開発が行なえるようにすることだ。
Webブラウザで完結するアプリケーションを作りたいのか、RIAを作りたいのか。あるいはWindows上のネイティブプログラムとサービスを連携させたアプリケーションを作りたいのか。PCを対象とするのか携帯電話を主な利用環境ととらえるのか。
別の切り口で考えるなら、どの部分をクラウドで実行し、どの部分をオンプレミス(自社設備)で実行させるのか。それともオンプレミスとオフプレミス(他社設備)の環境を混在させ、適材適所の設計を行なうのか。
Microsoftは、世界中のVisual Studioと.NET Frameworkで仕事をする開発者に向けて、どんなアプリケーション、どんな環境に対しても、従来と同じノウハウを活用しながら自由な切り口でアプリケーションを設計し、開発できるように幅広く柔軟性の高い環境を用意した。
MicrosoftはクライアントOSとサーバーOSの会社だったが、今後はサービスを提供する企業のインフラを支えるビジネスへとシフトしていくのか? とオブライエン氏に訪ねてみると「そうじゃない。クライアントとサーバーとサービスの会社になる。クラウドオンリーでもないし、サーバーオンリーでもない。場合によってはクライアントOS自身も大切になるだろう。重要なことは、開発者や顧客のどんな要求にも応じられるよう、すべてに一貫性のある解決策を用意しておくことだ」と答えた。
この考え方は「アプリケーションを動かすコンテナは何になっていくと考えているのか?」という問いへの答にもつながっている。
「ユーザーはその時々に最適な道具を使いたいと考えている。あるときはWebブラウザ、しかし普段はWindowsネイティブのリッチクライアントが欲しい。ところが休暇に出かけている時には携帯電話でも利用したいと考える。その時々に応じて、その場にあるスクリーンを通じてアプリケーションが提供できれば良く、最適な方法はその時々によって異なる。だからMicrosoftはあらゆる環境に向けてのソリューションを準備して、特定の技術だけに依存せずに柔軟性のあるアプリケーションを作る選択肢を開発者に用意している」(オブライエン氏)
オブライエン氏と会うまでは、いろいろな質問が頭の中に浮かんでいたのだが、同氏のコメントが示す方向は非常にシンプルでブレが見えない。「すべては開発者がアプリケーションを作るため」と言われれば、それ以上に突っ込む言葉を接ぐのは難しいのだ。
Windowsでアプリケーションを書くエンジニアを増やすことがWindows自身のビジネス基盤を強化してきたように、Microsoftのクラウドでアプリケーションを作るエンジニアを増やすことは、Microsoftのデータセンターをより大きく収益性の高い事業へと導く。ソフトウェア構築のインフラを持つことで高い収益を挙げてきたMicrosoftらしい合理的な手法だ。
最後に、3スクリーンに対し、クラウドを通してシームレスに動作するアプリケーション開発の基盤を提供するというレイ・オジー氏の話についてオブライエン氏に尋ねてみた。Silverlightの合理的な仕組みと対応アプリケーション開発の容易さといった利点はわかるが、すべての端末で使えるようにするというのはあまり現実的ではないのでは? という質問だ。
Silverlight 4のパフォーマンス |
「(Silverlightはプログラムのロジックとユーザーインターフェイス設計を別々に行なえるので)3スクリーンに対してシームレスにRIAを提供するために、とても有効な技術だ。WindowsやMac OS Xはもちろん、Windows MobileでもXbox 360でも動く。Nokia製携帯電話の一部もSilverlightをサポートした。TVに関してはXbox 360以外の展開は現時点で話せない(2010年1月にInternational CESがあるため)が、我々としてはパートナーにSilverlightの利点を説明して対応を呼びかけるだけだ。iPhoneのサポートに関してもAppleに呼びかけはしている。レイが話したのはビジョンであって、現時点で3スクリーンをサポートしようと思えば、HTMLレベルでの互換なども含めいくつかの技術に同時に対応しなければならない。将来、この状況を変えたいと思っている」
実はこの話を聞いたのは初日の午後のこと。この時点で筆者は、Silverlightは優れた技術ではあるが、業界標準となるには登場が遅すぎたのではないか? 業界の勢力争いの中で普及が阻害されるのではないか? と考えていた。
しかし、2日目になっての基調講演でオブライエン氏の自信の源が見えてきた。Microsoftが詳細を発表、デモを行なった「Silverlight 4」は、RIAを構築する技術基盤として、他のライバルを突き放すかのような圧倒的なパフォーマンスと機能性を見せたからだ。このPDCを通してのメインテーマはWindows Azureだが、もっとも印象深く、Microsoftのパワーを感じさせたのはSilverlight 4だった。
Microsoftは回りくどい手段でSilverlightを普及させるのではなく、真正面から性能、機能、周辺ツールなどで大幅な進化をさせることで、開発者が自ら「Silverlightを使ってソフトを書いてみたい」と思わせる環境を作り出そうとしている。ここまで進化してくれば、FlashやAIRで開発しようなどと、誰も思わなくなるのではないか。極端に言うならば、そのぐらいの圧倒的な進歩である。
Silverlight 4のデモを見ていると、それがRIAなのか、そのOSのネイティブAPIで動作しているものなのかは、全く気にならなくなってくるほどだ。パフォーマンス面もビジュアル面も、とてもRIAとは思えない。Microsoftが開発した、Silverlight 4のβ版ランタイム上で動作するFacebook専用クライアントなどは、下手なネイティブAPIのソフトの使い勝手や機能、パフォーマンスなどとうてい敵わない。
開発者がこぞってSilverlightを使いたいと思うようになれば、それらを利用するために自然に携帯端末やデジタル家電など多様なプラットフォームでもSilverlightを移植したいと端末メーカーも考えるようになるだろう。Silverlight 4の可能性は、そう思わせるほどに大きなものだ。Microsoftの3スクリーン戦略に対する自信の源は、Silverlight 4の出来の良さにありそうだ。
(2009年 11月 20日)