クライアントアプリケーションが持つOSへの依存関係を覆い隠すアプリケーション仮想化。アプリケーションの展開・管理を容易にし、ユーザーの使い勝手を高める。デスクトップ仮想化と共にクライアント環境に大きな変革をもたらす技術として注目が増している。
この分野でも、仮想化ソフト市場のBIG 3であるヴイエムウェア、シトリックス・システムズ・ジャパン、マイクロソフト(50音順)が存在感を示す。では、3社の製品はどのような特徴を持ち、どのようなシーンに適用できるのか。クライアントソリューションの1つとしてアプリケーション仮想化にも力を入れるデルの見方を参考にしながら3社の製品を比較した。

IT業界では「仮想化」が旬のテクノロジーとなっている。その中で「アプリケーション仮想化」という言葉もよく見聞きしているだろう。
VDI(Virtual Desktop Infrastructure)とも呼ばれる「デスクトップ仮想化」、Windows Serverの「Remote Desktop Services」のような「プレゼンテーション仮想化」は、サーバ側のOS上でクライアントアプリケーション(以降、単にアプリケーションと表記)を実行し、その画面をクライアント側に転送することにより、仮想的にアプリケーションを提供する。
それに対してアプリケーション仮想化は、アプリケーション自体が持つOSとの依存関係を覆い隠し、OSへインストールせずともローカルで実行可能にする。セットアップ迅速化、OSの正常性保持、DLL Hell回避、非サポートOSでの動作、複数バージョンの共存、ほかのアプリケーションとの競合回避、動作検証の省略など、多くのメリットが得られる。
クライアントソリューションに強いデルもアプリケーション仮想化に注目する。ユーザープロファイルの集中管理、端末の軽量化によりクライアント環境の柔軟性を高める「フレキシブルコンピューティング」を提唱し、その実現手段の1つとしてアプリケーション仮想化を位置付ける。デル ソリューション・サービス・デリバリ本部インフラストラクチャ・コンサルティング・サービス コンサルティング第2部 部長の高橋明氏は次のように指摘する。
「企業ではWindows 7への移行に合わせて、旧バージョンの「Microsoft Office」(以下、Office)を仮想化してWindows 7上でOffice 2010と共存させるなど、アプリケーション仮想化のニーズは徐々に出ている。ただ、アプリケーション仮想化は、単なるOS移行のためのソリューションではなく、アプリケーションの展開・管理を効率化する上で組み込むべき技術の1つとしてとらえるべき」
では実際、どのような製品があるのか。やはりこの分野でも、基盤のハイパーバイザーから垂直統合で製品ラインアップを広げる仮想化ソフト市場のBIG 3、ヴイエムウェア、シトリックス・システムズ・ジャパン、マイクロソフトの製品が有力である。それぞれの特徴と適用シーンを見ていこう。
マイクロソフト「Application Virtualization(App-V)」はアプリケーション仮想化の先駆けであり(前身はソフトリシティ「SoftGrid」)、今も標準的な製品としてみられる。デルも「当社の提案も基本はApp-V」(同部テクニカルコンサルタントの鷲尾圭一氏)と話す。
App-Vでの処理の流れは次のようになる。「App-V Sequencer」により対象アプリケーションを独自ファイル構成でパッケージングし、「App-V Server」に登録する。一方で、対象アプリケーションに対して仮想のレジストリ、ファイルシステムなどを提供する仮想ランタイム「App-V Client」をクライアント側に組み込む。後はクライアントからの要求に応じて仮想アプリケーションが自動的にストリーミング配信される。最低限必要なコンポーネントがそろえば、アプリケーションは即動作し、終了すればキャッシュされたデータは消える。最新版のApp-V 4.6では64ビットアプリケーション、Office 2010のサポートも始まっている。
App-Vの魅力は、ほかのマイクロソフト製管理ツールと連携する点だろう。「Active Directory」との連携により仮想アプリケーションへのアクセス権限をユーザー/グループ単位で設定可能なのはもちろん、構成管理サーバ「System Center Configuration Manager(SCCM)」にApp-Vを統合し、SCCMから仮想アプリケーションをストリーミング配信することもできる。つまり、通常と仮想のアプリケーションをシームレスに集中管理下に置ける。
一方、これはApp-Vに限った話ではないが、どんなアプリケーションでも一律に仮想化できるわけではないことに留意すべきだ。
とに分かれる。同部 ソリューションアーキテクトの岳野努氏は「開発者により実装法がまちまちな内製アプリケーションは、仮想化がうまくいかないこともままある」と指摘する。
もう1つ留意したいのはライセンスだ。App-Vは単体で販売されておらず、「Microsoft Desktop Optimization Pack for Software Assurance (MDOP)」の一製品である。MDOPの年間契約には、Windowsをボリュームライセンスで調達した上、アップグレード権などの特典が付くソフトウェアアシュアランス(SA)契約が必要になる。高橋氏は「今はApp-Vを導入する企業の多くが超大手。通常SA契約を結んでいるので問題ない。ただ、今後市場のすそ野が広がってくるとライセンスがネックになる可能性がある」と話す。SA契約を結んでいない企業がApp-V導入を考えるなら、Windowsのライセンス契約全体を見直す必要があるかもしれない。
シトリックス・システムズ・ジャパンの「Citrix XenApp」(以下、XenApp)は以前に「Presentation Serve(MetaFrame)」と呼ばれていた製品だ。現行版は主に3つの方式でアプリケーションを配信する。サーバOS上でアプリケーションを実行し、その画面をクライアントにICA転送する「Server Hosted Apps」は、従来の主力のプレゼンテーション仮想化だ。サーバ上に構築した仮想マシンで一対のクライアントOSとアプリケーションを実行して画面転送する「VM Hosted Apps」はVDIに近い。XenAppの中でアプリケーション仮想化の定義に当てはまるのは「Streamed Apps」である。
XenApp、Streamed Appsでの処理は基本的にApp-Vと同じである。「Streaming Profiler」で対象アプリケーションをパッケージングし、それをファイルサーバ/Webサーバに格納する。後は仮想ランタイム「XenApp Plugin for Streamed Apps」が組み込まれたクライアントへストリーミング配信する。マルチユーザー非対応だったり、高いハードウェア性能が求められるなどでServer Hosted Appsだと不可能あるいは扱いが難しかったアプリケーションも利用できる。
では、逆にXenApp、Streamed AppsはApp-Vとどこが違うのか。岳野氏は「マイクロソフトとシトリックス・システムズ・ジャパンのアプリケーション仮想化製品だけを取り出して比較してもあまり意味はない。むしろ、両社は対ヴイエムウェアで技術提携を進めている。両社の仮想化製品をうまく組み合わせれば、アプリケーションとデスクトップの展開・管理をより効率化できる」と指摘する。
最新版のXenApp 6は、唯一サポートするプラットフォーム「Windows Server 2008 R2」に最適化され、Active Directory、App-Vとの機能連携も果たす。つまり、標準的なマイクロソフトのIT管理基盤の上でXenAppとApp-Vをシームレスに運用できる。XenAppのエージェントソフトにはApp-V Clientがプラグイン提供され、XenAppを通じてApp-Vで作成した仮想アプリケーションをWindows機はもとより、Mac/iPhone/iPad、Active Directoryの管理から外れているマシンにも配信可能である。さらに、XenAppにVDI機能を加えた「Citrix XenDesktop」(以下、XenDesktop)を活用すれば、アプリケーションとデスクトップの双方を仮想的に展開できる。例えば、XenDesktopの仮想デスクトップにApp-Vの仮想アプリケーションを配信し、実行するといった運用もあり得るのだ。
ヴイエムウェア「VMware ThinApp」はシンプルなアプリケーション仮想化ソフトである。「ThinApp Package」で対象アプリケーションをEXEファイル/MSIインストーラ化する際、仮想ランタイム「ThinApp VOS」も一緒に埋め込む。App-VやXenAppのようにカーネルモードドライバを含む仮想ランタイムをクライアント側にインストールする必要がなく、1つのユーザーモードアプリケーションとして実行される。そのためオーバーヘッドが低いとされる。一方、配信・管理を担うサーバソフトは用意されていない。別建ての配信システム、ネットワーク共有(ストリーミング配信も可能)、メディア配布などから任意の手段を選ぶことになる。
必ずしもサーバ環境を必要とせず、配信方法も柔軟に選べるThinAppは、場合によっては即効性のあるポイントソリューションとなる。例えば、「経理部門では、Office Excel 2003で作成した帳票をExcel 2010が入るWindows 7機でも継続使用したい」など、限られたユーザーが限られた目的で利用する場合である。ThinAppではパッケージングの際にActive Directoryグループ名を登録でき、部外者の利用は制御できる。その半面、仮想アプリケーションを全社規模で展開・管理したい場合、配信機能やコンソール機能を持たない現状のThinAppは適用が難しい面がある。
以上、3社のアプリケーション仮想化製品を簡単に見てきた。もちろん一概には言えないが、3製品の適用シーンは次のように分けられるだろう。通常アプリケーションとシームレスに仮想アプリケーションを全社規模で展開するならApp-VかXenApp、Streamed Apps。とりわけ、アプリケーション、プレゼンテーション、デスクトップの3レイヤーでの仮想化を絡め、クライアントの展開・管理を効率化したいなら、マイクロソフトとシトリックス・システムズ・ジャパンの協業ソリューション。そしてピンポイントでアプリケーション仮想化を取り入れるならThinApp……。いずれにしても、クライアント分野においてアプリケーション仮想化はますます注目されていくだろう。