何でも屋: VMM 2012 と Server App-V: すばらしい組み合わせ

System Center Virtual Machine Manager 2012 には、ひっそりと Server App-V が追加され、System Center Virtual Machine Manager 2012 は技術と戦略の両面で大きな進化を遂げました。

Greg Shields

IT 業界で独自性のある情報を発信するには、客観的な視点を維持することが重要です。このような視点は製品と戦略について正しい判断を下すうえで必要不可欠です。正しい判断を下すには、終わりのない製品の販売とベンダーのマーケティングのプロセスを通して中立的な立場を維持する必要があります。

それでも、すべてを一変させるものが現れることがあります。このような状況では、客観性より興奮が勝ります。今回の記事で取り上げるすべてのものを一変させるのは、System Center Virtual Machine Manager (VMM) 2012 にひっそりと追加された Server App-V です。実際、あまりに目立たないので、注意していないと、このすばらしい新しいツールを見落としかねませんが、このツールを見落とすのは良策ではありません。

Server App-V を使用すると、長年にわたってデスクトップで使用してきたのと同じレベルのアプリケーション展開の自動化をサーバーでも実現できます。新しい VMM サービス指向のプロビジョニング モデルと組み合わせて使用すると、Server App-V によって、仮想マシン (VM) を作成する作業がどれほど大幅に改良されるかがすぐにわかります。仮想プラットフォーム市場でシェアを獲得するための継続的な取り組みにおいて、Server App-V と VMM を組み合わせたことは、マイクロソフトの最もすばらしい前進だとさえ言えます。

Server App-V と App-V の違い

Server App-V が "目立たない追加" だと考えられるのは、Server App-V が VMM の管理エクスペリエンスに非常にうまく統合されているためです。やり過ぎと言っても過言ではないくらい、密接に統合されています。また、マイクロソフトの名前の付け方によって、ますます App-V との違いに気付きにくくなっています。長年使用しているもう一方の App-V とほとんど同じ名前です。もう一方の App-V との類似性を考えれば、同じような名前が付けられていることも理解できますが、日常的に行う Web 検索では、Server App-V の詳細に気付かれないという残念な結果を生んでいます。

誤解しないでいただきたいのですが、この 2 つのテクノロジには多くの共通点があります。どちらも、仮想化アプリケーションのソリューションですが、相違点も少なからずあります。アーキテクチャに関しては、一般的に App-V は、アプリケーションをデスクトップに提供することに焦点を当てていますが、Server App-V は、間違いなくサーバーにアプリケーションを提供することを目的としています。

技術的な観点では、この 2 つのテクノロジにはさらに違いがあります。一般に、サーバー アプリケーションは同じコンピューターで複数のユーザーが使用することを想定して設計されていないため、コンソールのログインをほとんど確認しないバックグラウンド アプリケーションである場合がほとんどです。そのため、Server App-V では仮想化アプリケーションを従来の App-V とは多少異なる方法で扱います。

次に、2 つのテクノロジ間の主な違いをいくつか示します。

Server App-V: アプリケーションが処理されるときに、ユーザー固有のレジストリの場所でデータを作成するか構成を変更する場合、データまたは構成は、展開時と実行時で同じユーザーに関連付けられた状態が維持されます。

App-V: アプリケーションが処理されるときに、現在のユーザー固有のレジストリの場所でデータを作成するか構成を変更する場合、データまたは構成は、アプリケーションを実行するすべてのユーザーが利用できるようにマッピングされます。

Server App-V: アプリケーションの実行に必要な .exe ファイルやライブラリなど、仮想アプリケーション パッケージに含まれるアプリケーション ファイルは、アプリケーションがコピーされたコンピューターで実行されているすべてのプロセスで使用できます。

App-V: 仮想アプリケーション パッケージに含まれるアプリケーション ファイルは、その仮想アプリケーションとそのアプリケーションの仮想環境で開始された他のすべてのプロセスでのみ使用できます。

Server App-V: 仮想アプリケーション パッケージに含まれる COM オブジェクト、DCOM オブジェクト、COM+ オブジェクト、Windows Management Instrumentation (WMI) プロバイダー、および NT サービスは、ローカル システムで公開され、OS、ツール、およびその他のアプリケーションが操作できます。たとえば、ネイティブのサービス コントロール マネージャー (SCM) を使用して仮想アプリケーション パッケージに含まれるサービスを開始できます。

App-V: 仮想アプリケーション パッケージと関連付けられた COM、DCOM、COM+、WMI、およびサービス情報は、そのパッケージ内にとどまり、パッケージ外で実行されている他のプロセスでは使用できません。たとえば、ネイティブの SCM は仮想環境の内部で実行されている NT サービスを認識しません。

Server App-V: Server App-V エージェントでは、ヒューリスティックを使用して仮想環境で実行される必要があるコンピューター上のプロセスを自動的に検出します。多くの場合、ランチャー shim は不要です。仮想環境に明示的にプロセスを追加するには、プロセスのコマンド ラインの末尾に "/RunInVE:<パッケージ GUID>" を追加します。

App-V: 仮想化されるプロセスは、sfttray.exe などの App-V プログラムでプロセスが開かれているか、他の仮想プロセスの子である必要があります。仮想環境に明示的にプロセスを追加するには、"sfttray.exe /exe <起動する実行可能ファイル名> /app <アプリケーション名>" コマンドを実行します。

また、Server App-V では、Server Application Virtualization Sequencer (図 1 参照) という名前の特殊なツールを使用してアプリケーションのパッケージを作成します。このツールを従来の App-V でこれに相当する Application Virtualization Sequencer と混同しないでください。ご覧のとおり、1 語加わるだけで大きな違いが生まれます。

Server App-V では Server Application Virtualization Sequencer を使用してアプリケーション パッケージを作成します

図 1 Server App-V では Server Application Virtualization Sequencer を使用してアプリケーション パッケージを作成します

奇妙なことですが、Server Application Virtualization Sequencer のインストール ファイルは見つけにくい場合があります。従来の App-V のシーケンサーは長い間 Microsoft Desktop Optimization Pack に収録されていましたが、Server App-V のシーケンサーは VMM のインストール メディアの中に潜んでいます。\SAV という名前のフォルダーを探してください。このフォルダーに、Server App-V エージェントのセットアップ ファイルと両方を管理する Windows PowerShell のコマンドレットがあります (図 2 参照)。

Server App-V のインストール ファイル

図 2 Server App-V のインストール ファイル

VMM アプリケーション プロファイル

従来の App-V と Server App-V のどちらでも、アプリケーションのパッケージ化のプロセスは、必要最低限の機能を備えたコンピューターで開始します。コンピューターにシーケンサーをインストールし、新しい仮想アプリケーションのパッケージを作成して、ウィザードからアプリケーションのインストーラーを起動します。多くのアプリケーションは、調整なしで適切にパッケージ化されますが、適切に構成するために少し調整が必要なアプリケーションもあります。

Server Application Virtualization Sequencer のエディターは、特に注目する価値があります。アプリケーションをパッケージ化したら、[既存の仮想アプリケーション パッケージの変更] をクリックします。[パッケージを編集する] をクリックして、パッケージの SPRJ ファイルを参照すると、[展開構成] という名前のタブが表示されます (図 3 参照)。

[展開構成] タブに表示されるエディター

図 3 [展開構成] タブに表示されるエディター

マイクロソフトは、パッケージ化ツールにインテリジェンスを組み込み、展開時に指定できる幅広いパッケージ固有の構成を列挙されるようにしています。使用可能な構成を表示するには、[展開構成項目の追加] リンクをクリックします。アスタリスク (*) を入力して潜在的に構成可能なすべての項目を表示します (図 4 参照)。後で行う構成のために公開する必要がある項目を選択し、[追加] ボタンをクリックします。

展開構成項目は選択して追加できます

図 4 展開構成項目は選択して追加できます

項目をパッケージに追加したら、項目をダブルクリックして、プロパティを調整することで、既定値を設定できます (図 5 参照)。構成が必要な項目を必須項目としてマークし、パッケージを VMM に提供するときに、その決定の重要度を高めることができます。

調整可能な展開構成項目のプロパティ

図 5 調整可能な展開構成項目のプロパティ

このプロセスを開始するには、VMM コンソールでアプリケーション プロファイルを作成します。アプリケーション プロファイルには、アプリケーションの構成、依存関係、権限とアクセス許可、パッケージのインストールと合わせて必要なすべてのスクリプトなど、VMM でパッケージを管理するために使用するメタデータが含まれます。

すばらしいのはここからです。シーケンサーで展開構成項目として公開した設定は、VMM アプリケーション プロファイルのプロパティとして使用できます (図 6 参照)。展開項目を公開することで、1 つのアプリケーション パッケージをさまざまなユース ケースに提供する柔軟性を手に入れることができます。後は、各サーバーに必要なユース ケースに対応する設定を構成するだけです。さらなる柔軟性を手に入れる方法としては、@variablename@ の形式で変数を使用して展開時に設定する値を指定することもできます。

VMM アプリケーション プロファイルのプロパティになる展開構成項目

図 6 VMM アプリケーション プロファイルのプロパティになる展開構成項目

相乗効果

VMM と Server App-V を組み合わせることで、サーバーにサービスを提供する方法が劇的に変わります。新しいツールにより、VM のプロビジョニングを単純なコピーと貼り付け操作によって行っていた日々は過去のものになります。

VMM サービスのプロビジョニングの自動化は、一晩で実装できるものではありません。自動化と展開するソフトウェア パッケージを最初に構築するときには、相当量の事前の作業が必要になります。そして、その必要な努力が報われるのは大分後になります。

VMM のさらに進化した機能は気弱な人には向かない機能です。また、自動化がお好きでない IT 担当者の方も使用する必要はありません。ただ、この機能を使用する準備ができたら、このバージョンの VMM と Server App-V の組み合わせをご活用ください。これらは、組み合わせることで間違いなく大きな効果を発揮する 2 つのすばらしいソリューションを提供します。

Greg Shields

Greg Shields (MVP) は、Concentrated Technology の共同経営者です。何でも屋である IT プロフェッショナル向けのヒントとテクニックについては、ConcentratedTech.com (英語) を参照してください。

関連コンテンツ