仮想化環境の上でLinuxを本気でサポートするのか疑問だという先入観もあるためか、サーバ仮想化の世界でMicrosoftの存在はVMwareやXenの陰に隠れているようにも見える。しかしながら、次期サーバOSである「Windows Server 2008」では、ハイパーバイザー型の仮想化ソフトウェアとなる「Windows Virtualization」の提供も開始される。サーバOSで大きなシェアをもつMicrosoftが、本格的にエンタープライズ対応のサーバ仮想化ソリューションを提供すれば、仮想化の普及に弾みがつくことは間違いない。今回は、Microsoftの仮想化についてひも解いていく。
Microsoftの仮想化はサーバだけではない
「サーバの仮想化だけを取り上げると、Microsoftとしては話がずれてしまう」と語るのは、マイクロソフト サーバー プラットフォーム ビジネス本部 プロダクトグループ Windows Server製品部 マネージャの藤本浩司氏だ。Microsoftでは、仮想化というものをサーバの仮想化だけで捉えてはいないという。「Microsoft Virtual Server 2005 R2」および今後提供開始する「Windows Virtualization」でのサーバの仮想化、「SoftGrid」を用いたアプリケーションの仮想化、「Terminal Services」を用いたプレゼンテーションの仮想化、そして「Microsoft Virtual PC」を用いたデスクトップの仮想化という4つの選択肢が、Microsoftの仮想化技術戦略なのだ。
顧客には仮想化技術に対するさまざまなニーズがあり、サーバの仮想化はその1つではあるが、それだけですべての課題が解決できるわけではない。サーバの仮想化が常に必要なのではなく、アプリケーションが新たな環境で動けばいいだけならば、それはアプリケーションの仮想化やプレゼンテーションの仮想化で実現できる場合もある。さまざまなニーズに対応するのが、Microsoftの仮想化戦略だと藤本氏は説明する。
例えば、Terminal Servicesを用い、サーバ上でアプリケーションの実行をエミュレーションしてその画面をユーザー環境に飛ばして利用する方法は、特にシンクライアントに関心の高い日本では、セキュリティ面からも注目されている仮想化技術だ。Microsoftではハードウェア、ソフトウェアのリソースを有効に使うための4つの仮想化を提供し、さらにこの4つを適宜組み合わせて使うことで、より幅広い選択肢を提供する。
ニーズが高いアプリケーションの仮想化
サーバを仮想化することで、Windows NT 4.0を最新のハードウェアで動かすことが可能になった。このようにしてWindows NT 4.0専用のアプリケーションを使い続けることができれば、過去のソフトウェア資産を有効活用できる。しかしながら、Windows NT 4.0はサポートも終了し、新たな脆弱性などには対応できない可能性もある。1つの小さなアプリケーションを動かすためだけにWindow NT 4.0を動かし続け、そのために企業が抱えるシステム全体のコンプライアンス確保が不完全になるのはナンセンスな話だ。
そのシステムをネットワークに接続しなければコンプライアンス上問題ないかもしれないが、繋がずに済むシステムはほとんどない。結果的に、システム全体が危うい状況になるのであれば、サーバを仮想化するよりもアプリケーションを移植したほうがいい。
大抵の場合ユーザーは、Windows NT 4.0のサーバが欲しいのではなく、アプリケーションが動きさえすればいいと考えている。それならば、リスクのあるレガシーOSを利用し続けるのではなく、アプリケーションだけを仮想化し、最新環境で動くようにすればいい。これを実現するのが、SoftGridという製品だ。
Windows NT 4.0用に作られたプログラムには、同OS特有のDLLライブラリファイルやINIなどの設定情報ファイルがひもづいている。そのプログラムをWindow Vistaで動かす場合、プログラムそのものを持って行くのは簡単だが、DLLやINIファイルはOS独自なものであり、そのままでは動かないこともある。この問題を解決するために、例えば、Windows NT 4.0でプログラムを動かすのに必要となるライブラリファイルなどすべてをパッケージ化し、そのパッケージを新たな環境に持って行くのがSoftGridだ。
古いアプリケーションを使い続けたいのであれば、サーバの仮想化よりもこの方法のほうがリスクは小さく、古い環境を残す管理や運用の手間を考えてもアプリケーションの仮想化はかなり有効な方法だ。