先週開かれたPDC2008では、「Windows Azure」と「Windows 7」が話題の中心だった。
既存のサーバービジネスを捨てて
Azureを簡単に言えば、マイクロソフトのサーバー製品を切り売りするようなものだ(関連記事1)。これまでのサーバー製品ユーザーは、ハードウェア、Windows Serverや各種サーバーソフトウェア、開発ツールのVisual Studioなどを購入して、システムを構築していた。これを基盤として、その上で各種のインテグレーターや開発者などがビジネスを展開するという環境が成り立っていた。Azureはそのハードウェアをマイクロソフトが作るデータセンターに移すだけで、基本的な開発手法やサービスのアーキテクチャーはほとんど変わらない。
すでに大きな市場が存在する環境で、“構造が変わらない”というのが重要なポイントなのだろう。いきなりGoogle型の「システムを見せないクラウド」を提供しても、開発者やインテグレーターは途方にくれてしまうだろう。ユーザーもどうやって移行するのかに、頭を痛めなければならない。
そういうわけでマイクロソフトは、サーバーのパッケージビジネスをなかば諦める形で、クラウドの提供に踏み切ったといえる。もちろん、クラウドがトレンドであることは間違いない。マイクロソフトにとってクラウドは、ソフトウェアのバイナリーを販売することで成り立っていたこれまでのサーバービジネスと、ぶつかるビジネスでもあったのだ。
もっとも、「自前のハードウェアでサーバーシステムを組みたい」と考えるユーザーがすぐにいなくなるわけではないだろうから、しばらくはパッケージビジネスがなくなってしまうことはないだろう。だが、基本的なハードウェアやシステムのメンテナンスから解放されるというメリットを考えると、新規にハードウェアを購入してサーバーシステムを作るユーザーは長期的には減っていくと思われる。
Azureはクラウドコンピューティングではあるが、インターネットに公開するようなサービスを構築するという側面と、これまでの社内のシステムをアウトソース化し、クローズドで利用するという2つの側面を持っている。
世間の見方は「Google対Microsoft」という構図で捉えがちだが、実際にGoogleがマイクロソフトの提供する全システムを置き換えているわけではない。こと企業内システムに関しては、Googleに依存するような企業は少ない。また、Googleは完全に自由なシステム構築を認めているわけではないので、運用できるシステムができることには制約がある。だから、ここまでマイクロソフトがクラウドに対応するのには、「対Google」や「クラウドの流行」ということ以外にも理由があるのだろう。
ひとつ考えられるのは、Google型のクラウドはすべてのクライアントシステムに対して対等であるため、Windowsクライアント離れを加速させてしまう可能性だ。
例えば今流行りのNetBookだが、途上国などでは安価なLinux版が必ず用意され、人気が高いという。これに対してマイクロソフトは、XPをNetBookに対して安価に提供するという方法で対抗しているが、Windows 7も見えてきた今、いつまでもXPを提供し続けるわけにもいかない。かといって、Windows 7をいきなりNetBook向けに安価に提供するというのも無理がある。このままいくと、NetBookはPC市場で大きなシェアを占めるようになり、たとえ機能制限を付けたVistaのStarter Editionのような特別版を作ったとしても、安く提供することは難しいのではないかと思われる。
クライアントでWindowsを使わせる手段としては、サーバーと連携するソフトウェアが、Windowsでしか動かないという方向がありえる。サーバーはクラウド化したとしても、高度な表示機能を実現するクライアントアプリケーションを使うという手法は有効だ。例えばクライアント間のデータ同期サービスである「Live Mesh」は、同期のためのアプリケーションをクライアント側にインストールする必要がある。
クライアントOSとサーバーOSの開発が分かれる契機に
これに対してWindows 7の改良は、わりと控えめな感じだ(関連記事2)。もっともこれまでのWindowsでは、苦労して大きくバージョンアップしたものよりも、その後に登場したマイナーチェンジ版のほうが世間的には受けている。たとえばWindows XPは、開発が難航したWindows 2000のマイナーチェンジ版だった。それを考えると、Windows 7はWindows Vistaよりも、ユーザーに受け入れられる可能性はあるだろう。ただこれで、低価格なシステムを作れるLinuxなどに対抗できるのかどうかは、難しいと思う。
Windowsはかつて、Windows 1.1に始まるクライアント系のカーネルと、Windows NTに始まるカーネルの2種類があった。これがWindows 2000とXPで統合された。OS開発に関しても、「クライアントができたら次はサーバー」という順番となり、交互に開発しているという状態だ。開発のタイミングが違うために、サーバーとクライアントのカーネルは完全に同一ではないが、内部的には同等のものを、レジストリー値などで切り替えて動作させている。このためカーネルには、サーバー/クライアント両方のコードが入っていると言われている。
もし、サーバー系OSがパッケージからクラウドへ全面的に移行するとなると、クライアント系OSとサーバー系OSは互いを気にすることなく、独自で開発を進めることが可能になる。特にサーバー系OSはサービスとしての連続性が要求されるため、劇的な変更は難しくなるが、パッケージ化を考えずに自由なスケジュールでリリース可能となる。クラウドではOSの機能も、さまざまある機能のひとつでしかなくなってしまう。
これに対してクライアントは、変化するハードウェアに対応して、大きく変わっていく必要がある。それこそNetBookのようなマシンから、クアッドコアCPUのノートブック、そしてハイエンドのデスクトップまで……。
サーバーのパッケージビジネスから脱却することは、Windows自体の開発に大きく影響する可能性があるわけだ。もしかしたらマイクロソフトは、こうした方向を考えているのかもしれない。
この連載の記事
-
第19回
PC
DLNAや地デジ対応を強化 Windows 7の実像 Part 7 -
第19回
PC
NetbookでWindows 7は快適に動くのか? Windows 7の実像 番外編 -
第18回
PC
Windows 7の実像 Part 6 無線LANとホームネットワークの改良 -
第17回
PC
Windows 7の実像 Part 5 OSのSSD対応とエンハンスドストレージ -
第16回
PC
Windows 7の実像 Part 4 デバイスステージが周辺機器を使いやすく -
第15回
PC
UIとグラフィックスの改良 Windows 7の実像 Part 3 -
第14回
PC
影の薄いWindows Server 2008 R2 -
第13回
PC
Windows 7をNetBookで動かせ! WinHEC展示会レポート -
第12回
PC
Windows 7はハードウェア技術者を引きつけられるか? -
第11回
PC
Windows 7、ネーミングに対する反応は? -
第10回
PC
UACやバックアップが改良 Windows 7の実像 Part 2 - この連載の一覧へ