2002年10月31日の回では,自律型コンピューティングの基本は仮想化にあるという点を述べた。繰り返しになるが,仮想化とは,物理的な実体を隠し(より単純な)論理的実体を見せるようにするテクノロジであり,ITの世界ではきわめて古くから利用されている。

 今,特に,ベンダー間の差異化要素となっているのはサーバー資源の仮想化である。サーバーの仮想化には大きく2種類がある。複数のサーバーを1台に見せるタイプの仮想化と,1台のサーバーを複数に見せるタイプの仮想化である。前者はグリッドが目指す目標の1つであり,特定の科学技術計算では何とかなるものの,一般的なビジネス・コンピューティング環境での実現は難しいということも既に述べたとおりである(掲載記事)。

◆現時点で重要なサーバーの仮想化とは

 現時点においてより重要性が高いのは,後者の1台のサーバーを複数に見せるタイプの仮想化である。論理的なサーバーの数を増やしてしまっては,複雑性がかえって増大してしまい自律型コンピューティングの思想に反するのではないかという声が聞かれそうだが,現実の大規模データセンター環境では,このような仮想化は運用負荷の軽減のためにきわめて重要なのである。

 前回述べたOSのワークロード管理機能が万全であれば,1台の大型サーバー上で複数のアプリケーションを適切に同時並行稼働できるはずである。しかし,実際には,OSのワークロード管理機能だけではアプリケーション間の相互影響を完全には遮蔽できないことが多い。さらに,セキュリティの観点から本番系とテスト系を完全に隔離したい,上位ソフトの互換性の制限があり同じバージョンのOSが使えない,テストのために複数バージョンのOSを稼働したいなどの理由により,複数のサーバー上で個別のOSを稼働しなければならないケースも多い。しかし,サーバー台数の増加は複雑性を増し,運用管理コストを上昇させてしまう。

 このような場合に,1台のサーバーを分割し,複数の仮想的なサーバーとして使えれば便利である。実際に複数台のサーバーを使う場合と比較して,目的に応じて,仮想サーバーの構成を変更できるからである。これは,一般的には区画分割(パーティショニング)と呼ばれている機能である。

 たとえば,16CPUのマシンを分割し,8CPUの本番環境と8CPUの開発環境を実行していたとする。月末のピーク時のみ12CPUを本番に割り当てて処理能力を増強し,残りの4CPUで開発を継続するなどの柔軟な対応を取ることができる。本当に大きいマシンが必要になれば,16CPUすべてを1つのアプリケーションに割り当て,その時点で開発機を購買することもできる。区画分割機能は,運用管理者だけではなく,購買担当者にとっても魅力的なテクノロジである。

 区画分割には大きくハードウエア・ベースとソフトウエア・ベースのものに分類できる。ソフトウエア・ベースの区画分割はVM(Virtual Machine)と呼ばれることが多い。

 区画分割機能はメインフレームの世界では古くから使用されてきており,大規模データ・センター環境における大型メインフレームの重要な差異化要素になってきた。UNIXの世界では,1997年,米Sun Microsystemsが「Enterprise 10000(“Starfire”)」によりハードウエア区画分割を他社に先駆けて出荷し,同社の歴史的な成長の推進要因のひとつとなった。今では,ほぼすべての主流Unixサーバーにおいてハードとソフト両方の区画分割機能が提供されている。

◆Windowsの現状と今後

 では,Windowsの世界ではどうかというと,数年前までは適切な区画分割ソリューションは実質的には存在しないといってよかった。「複数のサーバーが必要ならば,複数のサーバーを買えば良いではないか」という米Microsoftの非データ・センター的な設計思想がその根底にあっただろう。前回のワークロード管理と同様,区画分割機能はWindowsがデータ・センターに進出するための大きな“抜け”の1つであったわけだ。

 しかし,現在では,米UnisysのES7000や米IBMのX440などのハイエンドIntelサーバーがハードウエア区画分割をサポートしている。また,Intelサーバーではないのだが,米HPのハイエンドUnixサーバーであるsuperdomeも,まもなくItaniumファミリのプロセサをサポートすることから,Windowsの64ビット版をサポートできるようになるはずである。実際,1台のsuperdome上でHP-UX,Windows,Linuxを別の区画で同時稼働するデモが行われている。

◆期待できるVMテクノロジ

 今後という点で興味深いのはソフトウエア区画分割,つまり,VMの方である。Windows上のVMといえば,「VMware」という製品を思い出す人も多いだろう(ここでいうVMは,Javaプログラムの実行環境としてのJVMとは別の話しなので,念のため)。元々デスクトップ環境向けに作られた製品であり,Windows上でLinuxを稼働したり,逆に,Linux上でWindowsを稼働することを可能にしてくれる。Linuxのパワー・ユーザーの方で使いこなしている人も多いだろう。

 2001年からVMwareはサーバー版も提供されており,米DellやIBM社などが積極的にサポートし始めていた。ゆえに,WindowsのVM戦略はMicrosoft社が米VMwareを買う,ないし,ライセンス契約を締結するなどの形で進んでいくだろうと予測されていたのだが,Microsoftは,VMware社のライバルである米Connectixのテクノロジを買収するという選択肢をとった(関連記事)。

 Connectix社と言えばMac上でWindowsをエミュレーション実行する「Virtual PC」で有名なベンダーであり,なぜ,Mac用のソフトをMicrosoft社が買うのか?(単なるいやがらせか?)などの疑問の声が聞かれたが,Microsoft社が欲しかったのはIntelプロセサのエミュレーション技術というよりも,VM機能だったのである。おそらく,本年中には何らかの形でConnectix社由来のVM機能がWindows上で正式サポートされることになるだろう。

 VMware社にとっては厳しい状況となったとも言えるが,独禁法の観点からいって,Microsoft社は同社のビジネスの息の根を止めるような戦略を取り得ないだろう。また,VMware社にはLinuxにおける市場機会もあるし,Microsoft社への過剰な依存を嫌うハードウェア・ベンダー(要するにIBMのことである)も今後ともVMwareを積極的にサポートすることになるだろう。当面(Connectix社由来の)Microsoft社のVM機能とVMware社のVM機能は,共存共栄が続くと思われる。

 ハードウエア区画分割とソフトウエア区画分割,そして,前回述べたワークロード管理機能を備えたことで,Windowsもようやく大規模データ・センター環境でUnixと機能ベースで互角に戦えるだけのスタート地点に付いたといえるだろう(もちろん,セキュリティの向上という重要課題は残ってはいるが)。

 さて,次回は,Microsoft社の自律型コンピューティング構想である「DSI(Dynamic System Initiative)」の肝とも呼べる同社ならではの要素を解説していきたい。