2009年12月25日金曜日

アプリケーションの仮想化
-Application Streming(1)-

アプリケーションの仮想化が賑やかになってきた。
特にオフィス(Office Productivity)分野では、クラウドの本命になる予感がする。
そこで、今回はアプリケーション・ストリーミングと関連するデスクトップの仮想化技術についてまとめてみた。

アプリケーションのパッケージ化はLinuxで普及しているRPM(Red Hat Programing Manager)やDebianのdeb(Debian Software Package)、WindowsではMSI(Microsoft Windows Installer)が一般的だ。MSIを例にとると、MSIはWindows Installerでインストールされるプログラムファイル形式であり、幾つかに分割された実行ファイル(.EXE)以外に、DLLやCOM、Registry、Script、さらにはSystem Requirement、Version情報などが含まれている。

ある調査によると我々が通常デスクトップで使用するアプリケーションではソフトウェア全体の10~30%程度があれば十分であり、残りは例外処理など特殊なものだという。即ち、良く使う部分を切り出し、最初にこの部分の塊を送ればクライアントでの処理は事足りる。後は必要に応じて、小出しに送ればよいわけだ。このためベンダー各社は、ソフトウェアの分割方式や配信時の圧縮技術、さらにはクライアントでの実行エンジンなどの整備に力を入れ、特許などを競っている。

アプリケーション仮想化の手順

アプリケーション・ストリーミング市場にある製品は、多少の差はあっても実行方法の基本は同じだ。まず、クライアントで使うソフトウェアをカプセル化の概念を用いて事前にストリーミング加工を施す。つまり、動画配信時と同じようにソフトウェアを幾つかに分割し、円滑に流れるようにするわけである。この際、圧縮も行われ、分割と圧縮を「カプセル化」と呼ぶ。この処理済みのソフトウェア・ストリーミングを専用配信サーバーに格納し、クライアントPCにある実行エンジンからのリクエストによって、カプセル化された ソフトウェアを配信する。専用配信サーバーではまた、システム管理者がどのユーザーがどのアプリケーションを利用可能かなどのポリシーを設定する。

現在、この市場には大手ITベンダーから以下のような製品が出荷されている。
  1. XenApp 5.0・・・Citrixが2006年に買収したArdenceをベースに整備
  2. App-V 4.5・・・Microsoftが2007年買収したSoftricityのSoftGridベース
  3. ThinApp 4.0・・・VMwareが2008年始めに買収したThinstalベース
  4. Symantec SVS Pro 2.1・・・Symantecが2007年に買収したAltirisのSVS(Software Virtualization Solution)をベースに2008年買収のAppStream技術を統合して製品化

◆ MetaFrameからVDI(Virtual Desktop Infrastructure)まで

ここで全体理解のために、仮想デスクトップの道のりについて振り返ってみよう。
古くは1995年にMicrosoftとCitrix、Wyseの3社で始めたWBT(Windows-based Terminal)開発があり、その後、CtrixはWindowsリソース管理を擬似仮想化に見立て、Thin ClientとWindowsサーバーのアプリケーションを連動させるMetaFrameを開発。MetaFrameはプレゼンテーション仮想化技術(Virtualized Presentation Technology)だが、ネットワーク上の圧縮技術ICA(Integrated Communication Architecture)に特徴を持って、一躍、トップベンダーに躍り出た。その後、1997年には、デスクトップのマザーボードを中央の専用サーバーに移設するPCブレードシステムがClearCubeから登場した。この方式は物理的にマザーボードやHDDをクライアントPCから外して中央ブレードサーバーに移し変え、クライアントはThin Clientとするハードウェア集約技術(Hardware Consolidation Technology)となって、特に クライアントPCのソフトウェア維持保守コスト削減に大きな効果をあげた。MetaFrameがwindows上のアプリケーション選択であるのに対し、PCブレードはOSも含めた自由な環境を提供。そして、このPCブレードが今日の仮想化技術を用いたVDI(Virtual Desktop Infrastructure)への道を切り開いたと言っても良い。

現在、市場にあるVMwareやCitrixのVDI製品では、PCブレードシステムが物理的なマザーボードの移設であったのに対し、プール化された仮想マシンとThin Clientを連携させる。つまり、物理環境を置き換えるのではなく、ソフトウェア環境を彼等の仮想化技術を使った論理的な仮想マシン上に置き換えるプール資源の利用技術(Pooled Resource Technology)だ。さらに仮想マシンの適用には、静的なものと動的なものがあり、前者はこれまでのPC利用やPCブレードに近く、後者はThin Clientと仮想マシン間に管理ソフトウェアが介在する。管理ソフトウェアは、事前にOSやシステムサイズの異なる何種類かの仮想マシンを用意し、クライアントの要請を受けてマッピングさせたり、一度アサインした仮想マシンへのリモートアクセスの実行、さらにソフトウェアライセンス管理なども行うことが出来る。


このような技術の流れの中にあって、アプリケーションストリーミングは異なる性質を持つ。つまり、今日のVMwareやXenなどの仮想化技術とは別なコンセプトであり、それ故、両者の融合も可能であるし、更なる発展も期待できる。
次回はアプリケーション・ストリーミングの具体的な動きを追う。