[製品サーベイ]

アプリケーション仮想化製品比較─アプリケーションをPCに個別配信、サーバーでの一元管理で運用効率化

2010年10月13日(水)鳥越 武史(IT Leaders編集部)

キッティングや障害対応、ライセンス数の順守など、クライアントPCの維持運用には多大な手間がかかっている。こうした作業負荷を軽減する方法の1つとして「アプリケーション仮想化」製品が登場している。サーバーからアプリケーションをクライアント端末に都度“ストリーミング”して利用するため、時前にインストールしておく必要はない。

アプリケーションをサーバーからクライアント端末に都度配信し、あらかじめ個別にインストールすることなく利用可能にする「アプリケーション仮想化」製品が登場し始めた。機能の実行に必要なバイナリ(PCが直接実行できるファイル形式)を配信する仕組みを持つことから「アプリケーションストリーミング」製品とも呼ばれる。

クライアント端末が大量に存在し、ユーザーの入れ替わりが激しい教育機関などを中心に、管理の効率化を目的として導入が徐々に進んでいる。

[実現できること(1)]
インストールの手間が不要に

アプリケーション仮想化製品では、管理者がサーバーサイドに事前に用意したアプリケーションの中から、エンドユーザーが各自の権限に応じたアプリケーションを選択。それをクリックするだけで利用できる。つまり、各自が使うアプリケーションをPCにあらかじめインストールしておく必要はない。ユーザーの職務や権限に応じて1台1台キッティングするという業務から解放される。

[実現できること(2)]
複数バージョンのアプリを共存

通常は最新バージョンのアプリケーションを使いながら、必要に応じて旧バージョンを呼び出して使うといったことができる。例えば、特定バージョンのJava VMでしか動作しないアプリケーションがあるとする。クライアントPCに最新のJava VMが自動アップデートされていても、稼働保証された旧版のJava VMと併せてアプリケーションを配信することで、障害を回避できる。

[実現できること(3)]
ライセンス管理を効率化

多くの製品はライセンス管理機能を含んでおり、購入したライセンス数を事前にサーバー登録しておけば、管理者がアプリケーションの使用状況をリアルタイムで監視できる。使用中のライセンス数が購入数を超えてしまう場合に配信を停止する、といった処理も自動化できる。

[製品構成]
パッケージ化機能と配信機能

アプリケーション仮想化製品は、(1)アプリケーションパッケージング、(2)アプリケーション配信、の2つの仕組みを持つ(図1)。

アプリケーション配信ソフトの構成例と配信の流れ
図1 アプリケーション配信ソフトの構成例と配信の流れ。ユーザーは、リポジトリに格納された「パッケージ」(アプリケーション配信用に変換された所定のファイル形式)をクライアントに都度読み込んで実行する

(1)は、アプリケーションの稼働に必要な要素を「パッケージ」というファイルにまとめる。パッケージの作成には、管理者向けの専用ソフトを利用する。パッケージ作成の仕組みは製品によって多少異なるが、最終的に作成されるパッケージには、アプリケーションのバイナリと、アプリケーションの動作に必要なレジストリやDLL、設定ファイルなどを含む、という点ではほぼ共通している。

パッケージを複数のブロックに分割する機能や、アプリケーションの初回起動に必要なバイナリのブロックを特定する機能なども備わる。これによりネットワークに負荷をかけず、必要最小限のバイナリだけを送付できる。アプリケーションのアップデート時には、再度パッケージ化の作業が必要だ。

(2)は、サーバーから送られたパッケージを、クライアント端末側の専用ソフトが受け取って実行可能な状態を整える。その際、パッケージはブロックごとに配信し、初めは起動に必要な最小限のブロックのみをクライアント端末に送る。エンドユーザーがそのブロックに含まれない機能を使おうとすると、クライアント端末側の専用ソフトが必要なブロックをサーバーに都度要求して受け取る。

ブロックはクライアント端末のハードディスクやメモリー上に保存する。一旦、配信が完了すればオフライン環境でもアプリケーションが利用できる製品が多数派だ。セキュリティ対策のため、一定時間経過後には起動にロックをかけたりファイルを消去する機能がある。

[アプリケーション実行形式]
仕組みは大きく3種類

配信したアプリケーションを実行する仕組みは、大きく3タイプある(図2)。一般的なのは、レジストリやDLLといったOSのシステムリソースとは別に用意した、仮想的なシステムリソースを介して実行するタイプ(図2のタイプA)だ。クライアント端末に導入した実行用ソフトの中に、仮想的なシステムリソースのフォルダを用意。そこにパッケージ内に含んだレジストリやDLLなどを格納する。アプリケーションはその仮想システムリソースを利用して動作する。

アプリケーション仮想化でのアプリケーションの動作の仕組み
図2 アプリケーション仮想化でのアプリケーションの動作の仕組み。OSのシステムリソースとは別に用意した仮想的なシステムリソースを介して実行する(タイプA)、OS上でアプリケーションとして動作する独自の実行環境内で実行する(タイプB)、アプリケーションのファイルI/Oを捉え、OS内の仮想的なシステムリソースにリダイレクトして実行する(タイプC)、という3つのタイプがある

2つめは、OS上でアプリケーションとして動作する、独自の実行環境内で動作させるタイプ(図2のタイプB)だ。ヴイエムウェアの「VMware ThinApp」がこの形式を採る。アプリケーションと実行環境をセットで「カプセル化」して配信するといったイメージだ。

3つめは、アプリケーションのファイルI/Oを捉え、OS内の仮想的なシステムリソースにリダイレクトして実行するタイプ(図2のタイプC)。シマンテックの「Symantec Workspace Streaming」が含むパッケージングソフト「Symantec Workspace Virtualization」が採用する。ファイルI/Oを捕捉する中間的なフィルタドライバを利用し、レジストリやDLLなどに対する読み書きを、専用の隠し領域にリダイレクトする。

タイプA、Bでは、クライアント端末上にインストールした通常のアプリケーションとの連携機能や、デスクトップ上のショートカット表示や右クリックメニューといった機能に対して制限がかかる場合がある。タイプCではそうした制限をなくせるが、ウイルス対策ソフトやOSイメージバックアップソフトなど、フィルタドライバを利用するソフトと競合する場合がある。また、フィルタドライバを利用するタイプCでは、一般的なアプリケーション仮想化製品では難しいとされるInternet Explorerのパッケージ化も可能にしている。

●Next:主要なアプリケーション仮想化製品一覧

この記事の続きをお読みいただくには、
会員登録(無料)が必要です
  • 1
  • 2
バックナンバー
製品サーベイ一覧へ
関連キーワード

アプリケーション仮想化 / Citrix / VMware / Symantec / Microsoft

関連記事

トピックス

[Sponsored]

アプリケーション仮想化製品比較─アプリケーションをPCに個別配信、サーバーでの一元管理で運用効率化キッティングや障害対応、ライセンス数の順守など、クライアントPCの維持運用には多大な手間がかかっている。こうした作業負荷を軽減する方法の1つとして「アプリケーション仮想化」製品が登場している。サーバーからアプリケーションをクライアント端末に都度“ストリーミング”して利用するため、時前にインストールしておく必要はない。

PAGE TOP