
Microsoft Application Virtualization ( App-Vとも呼ばれる[1]、以前はSoftricity SoftGrid)[2]は、 Microsoftのアプリケーション仮想化およびアプリケーションストリーミングソリューションです。これはもともとマサチューセッツ州ボストンに拠点を置くSoftricityによって開発され、2006年7月17日にMicrosoftに買収されました。[3] App-Vは、 Hyper-V、Microsoft User Environment Virtualization(UE-V)[4] 、リモートデスクトップサービス、System Center Virtual Machine Managerなどの他の仮想化テクノロジとともに、Microsoftのアプリケーション仮想化市場への参入を表しています。[5]
概要
App-V を使用すると、仮想アプリケーション サーバーから任意のクライアントにアプリケーションをリアルタイムで展開 (「ストリーミング」) できます。これにより、従来のアプリケーションのローカル インストールが不要になりますが、スタンドアロン展開方法もサポートされています。ストリーミング ベースの実装では、App-V クライアントをクライアント マシンにインストールする必要があり、仮想アプリケーション サーバーに保存されているアプリケーション データは、最初に使用するときにオンデマンドでクライアント キャッシュにインストール (ストリーミング) されるか、ローカル キャッシュに事前にインストールされます。App-V スタックは実行環境をサンドボックス化するため、アプリケーションは基盤となるオペレーティング システムのファイル システムやWindows レジストリに直接変更を加えることはなく、アプリケーション固有の「バブル」に格納されます。App-V アプリケーションは互いにサンドボックス化されるため、同じアプリケーションの異なるバージョンを App-V で同時に実行したり、相互に排他的なアプリケーションを同じシステムで共存させたりできます。ただし、この分離はセキュリティ境界ではありません。[6]
App-V では、展開されたアプリケーションを一元的にインストールおよび管理できます。ポリシー ベースのアクセス制御がサポートされており、管理者は使用を管理するポリシーを定義することで、特定のユーザーまたは特定のコンピューターによるアプリケーションへのアクセスを定義および制限できます。また、App-V には、仮想化されたアプリケーションの使用状況を追跡するための追跡インターフェイスも備わっています。必要に応じて、サーバーを高可用性構成で実装できます。
App-V クライアントは、仮想化されたアプリケーションに対して、ローカルにインストールされたすっきりとしたアプリケーション エクスペリエンスをユーザーに提供します。仮想化されたアプリケーションを起動するためのアクセスは、アプリケーションの拡張機能が App-V クライアントによってユーザーのデスクトップ シェルに統合されるため、ローカルにインストールされたアプリケーションと同じように見えます。2 つ以上の仮想アプリケーションが相互に依存している場合、個々の仮想化されたアプリケーションを 1 つの分離されたバブル内で一緒に実行するように構成することもできます。
Microsoft App-V は、使用するためにライセンスが必要な追加コンポーネントです。ライセンスはユーザーベースで、クライアント オペレーティング システムで使用する場合は Microsoft Desktop Optimization Pack (MDOP) のライセンスを取得するか、リモート デスクトップ サーバーで使用する場合は Microsoft Remote Desktop Server Client Access License の一部として取得します。MDOP は、ソフトウェア アシュアランスの顧客向けのサブスクリプションとして利用できるテクノロジ スイートです。ホスティング (クラウド サービス) プロバイダー向けのライセンス モデルも存在します。
メジャーバージョンとバリアント
Microsoft は 2012 年 11 月下旬に App-V バージョン 5 をリリースしました。これは、プラットフォーム全体の第 3 世代の大幅な再設計です。バージョン 5 では、約 11 年前に Windows NT および Windows 2000 用に設計されたコンポーネントを置き換えて、製品を近代化しました。再設計により、新しいオペレーティング システム機能のサポートと仮想化サポートの改善も可能になりました。
この製品のバージョン 4.x は今でも広く使用されており、現在もサポートされています。Microsoft はバージョン 4 ベースのサポートを Windows 8.1 および Server 2012 R2 クライアント オペレーティング システムまで拡張しましたが、新しいオペレーティング システムの機能の一部は、App-V 4.x を使用する仮想化アプリケーションでは利用できません。Microsoft の標準の App-V 4.x のサポート終了日は 2015 年 7 月でした。[7]
バージョン 3.x および 2.x は、現在では実稼働環境で使用されているとは考えられていません。これらのバージョンのサポートは、Microsoft による Softricity の買収により終了しました。バージョン 2.x から 4.x は、第 2 世代のアプリケーション仮想化製品です。
製品のバージョン 1.x はありませんでした。SoftGrid 2.0 がリリースされる前、Softricity はSoftwareWow.comとして知られていました。[8] SoftwareWow.com は、アプリケーション (主にゲーム) を消費者にストリーミングするアプリケーション ストアを備えた初期のクラウド ベース サービス プロバイダーでした。このサービスでは、社内の第 1 世代製品を使用して、Software As A Service (SaaS) を提供していました。現在、この会社に関するオンライン情報はほとんどありませんが、[9]この製品は、非常に限られた仮想化サポートを備えたストリーミング サービスを提供していました。
App-V の派生製品は、Microsoft Server Application Virtualization (“App-V for Servers”) という名前で Microsoft からリリースされました。[10]このプラットフォームは仮想化リダイレクトをサポートしますが分離はサポートせず、アプリケーション間の競合のない仮想化サーバー負荷を提供することを目的としています。この製品は System Center Virtual Machine Manager の一部として提供され、通常は需要に応じてサーバーの新しいインスタンスを起動するために使用されます。
建築
Microsoft は、仮想アプリケーションの展開に関して 3 つのオプションを提供しており、これらは使用されるアーキテクチャ コンポーネントに影響します。
- App-V 専用のサーバー セット。
- System Center Configuration Manager の統合。
- アプリケーションが他の手段で配信される可能性がある「スタンドアロン」モード。
App-V バージョン 5.x または 4.x を使用する場合、これら 3 つの展開オプションの実装は異なります。それぞれについて個別に説明します。
バージョン 5.x のアーキテクチャ
5.x ベースのアーキテクチャには、使用できる 3 つの主要なオプションがあります。これら 3 つのオプションはすべて、いくつかの共通コンポーネントを使用します。
- Microsoft Application Virtualization 5.x Sequencerは、仮想化配信用にカスタマイズされたアプリケーションをパッケージ化するために使用されます。
- Microsoft Application Virtualization 5.x クライアント。仮想アプリケーションを実行するために使用されるオペレーティング システムで使用されます。クライアントには 2 つの形式があり、1 つはデスクトップ オペレーティング システム用 (Windows 7 Service Pack 1 や Windows 8 など)、もう 1 つはリモート デスクトップ セッション ホスト サーバーとして使用するために構成されたサーバー オペレーティング システム用です。
- Microsoft Application Virtualization Report Server は、仮想化されたアプリケーションの使用状況情報 (メータリングと呼ばれる) を収集できるオプションのコンポーネントです。
- Microsoft Application Virtualization クライアント コンソールは、仮想アプリケーションとしてクライアント システムに配信できるオプションのコンポーネントです。通常、コンソールはエンド ユーザーには必要ありませんが、コンソール アプリケーションを展開すると、ユーザーは以前に承認され配信された仮想アプリケーションをさらに制御できるようになります。
5.x アーキテクチャの残りの部分は、使用されるデプロイメント オプションによって異なります。
フル App-V 5.x サーバー オプション
フル App-V 5.x サーバーは、次の追加コンポーネントで構成されています。
- Microsoft Application Virtualization 5.x 管理サーバーは、アプリケーションと接続グループを定義し、アプリケーションの使用を許可されたユーザーまたはコンピューターのリストを含む Active Directory セキュリティ グループに割り当てるために使用されます。このサーバーは、この情報の概要を複数の発行サーバーに配布します。管理サーバーは、バックエンド データベースに構成情報を保存する Web サービスとして実装されます。Web サービスには、Silverlight 対応の Web ブラウザーまたは PowerShell を使用してアクセスできます。
- Microsoft Application Virtualization Publishing Server は、ユーザーとコンピューターを認証し、クライアントに公開するための適切な仮想アプリケーション メタデータを配信するために使用されます。
- パッケージ ストアは、クライアントが仮想アプリケーションをストリーミングするために使用する単純なファイル共有です。場合によっては、パッケージ ストアの前に Web サーバーが配置されることがあります。
構成マネージャ統合オプション
構成マネージャーは次のコンポーネントで構成されています。
- Microsoft System Center Configuration Manager サイト サーバーは、オペレーティング イメージ、インストール用の従来のアプリケーション パッケージ、仮想アプリケーション、およびその他の展開タスクを定義するために使用されます。これらの項目は、要件や依存関係とともに、ユーザーとコンピューターのコレクションに割り当てることもできます。この情報はデータベースに保存され、配布ポイントを介してクライアント マシンに配信されます。
- Microsoft System Center 配布ポイント。高度にスケーラブルなソリューションの展開用にコンテンツをキャッシュするために使用されます。
- Microsoft System Center クライアント エージェントは、配布ポイントから展開メタデータとコンテンツを取得し、さまざまなクライアント コンポーネント アクションを実装するために使用されます。App-V の観点から見ると、このコンポーネントは仮想アプリケーションを App-V クライアントに配信します。
App-V 5 では、App-V 機能の完全なサポートのために、System Center Configuration Manager 2012 以降を使用する必要があります。仮想 msi 展開方法を使用すると、古いバージョンまたはその他の電子配信システムによる展開も可能です。
スタンドアロンモード
App-V 5.x クライアントには、最終的に上記の両方のサーバー モードで使用される PowerShell API が含まれています。手動で、またはサード パーティによって開発された追加のツールを使用して、この API をクライアントで直接使用することが望ましい場合があります。
バージョン 2.x から 4.x までのアーキテクチャ
4.x ベースのアーキテクチャには、使用できる 3 つの主要なオプションがあります。これら 3 つのオプションはすべて、いくつかの共通コンポーネントを使用します。
- Microsoft Application Virtualization 4.x Sequencer は、仮想化配信用にカスタマイズされたアプリケーションをパッケージ化するために使用されます。
- Microsoft Application Virtualization 4.x クライアントは、仮想アプリケーションを実行するために使用されるオペレーティング システムで使用されます。クライアントには 4 つの形式があり、x86 または x64 オペレーティング システムをサポートするセットに組み合わされています。1 つのセットはデスクトップ オペレーティング システム用 (Windows XP 以降など) で、もう 1 つのセットはリモート デスクトップ セッション ホスト サーバーとして使用するために構成されたサーバー オペレーティング システム用です。
専用のApp-V管理サーバー
App-V 4.x システム アーキテクチャは、次のコンポーネントで構成されています。
- Microsoft Systems Center 仮想アプリケーション管理サーバーは、アプリケーションを定義し、そのアプリケーションの使用を許可された Active Directory ユーザーまたはユーザーのリストを含むセキュリティ グループに割り当てるために使用されます。また、サーバーは、許可されたリストに対して実行時認証を実行し、レポート用にアプリケーションの使用状況 (測定) 情報をデータベースに記録します。
- Microsoft Systems Center 仮想アプリケーション管理サービスは、.NET リモート Web サービスであり、アプリケーションに対するクライアントの要求を管理します。このサーバーは、管理サーバーと連携して、公開、承認された使用の検証、およびレポート データ用の承認されたアプリケーション メタデータを提供します。また、サーバーは、RTSP プロトコルの拡張機能を使用して、仮想化されたパッケージのストリーミング操作も処理します。
- App-V 管理コンソールは、App-V サーバーをセットアップ、管理、および管理するための管理ツールです。アプリケーションの使用を制御するポリシーを定義するために使用できます。また、仮想化されたアプリケーション パッケージの作成、管理、更新、および複製にも使用できます。
共有システムセンター構成マネージャー
2009 年に、Microsoft はSystem Center Configuration Manager の機能強化により、App-V を実装する新しい方法を提供しました。System Center Configuration Manager のアーキテクチャは、次のコンポーネントで構成されています。
- System Center Configuration Manager サイト サーバーは、システム イメージ、従来のインストーラーを使用して作成されたアプリケーション パッケージ、および仮想アプリケーションを保持するための主要なリポジトリとして機能します。
- System Center Configuration Manager 配布サーバー。よりローカルなレベルでソフトウェアをキャッシュおよび配布するために使用されます。
App-V 4.x は、Configuration Manager 2007 SP1 から 2012 R2 まで直接統合されています。
「スタンドアロン」モード
App-Vクライアントは、前述のサーバーインフラストラクチャのいずれも使用せずに「スタンドアロンモード」[11]で使用することもできます。この場合、シーケンスされたパッケージは、電子ソフトウェア配信システムや手動展開などの外部技術を使用して配信されます。
手術
展開操作に関連する操作とは別に、App-V Application Virtualization は主にApp-V SequencerとApp-V Clientの 2 つのコンポーネントで構成されます。
App-V シーケンサーは、仮想化とストリーミング用にアプリケーションを再パッケージ化するコンポーネントです。アプリケーションに必要なリソースを分析し、アプリケーションのカスタマイズをサポートし、そこからアプリケーションに必要な実行可能コンポーネント、データ ファイル、およびレジストリ設定を含むパッケージを作成します。4.x と 5.x バージョンのパッケージ形式は大きく異なります。
- 5.x 製品は、追加機能を備えた標準の圧縮形式に基づいた App-V 形式を使用します。内部的には、メタデータのフォーマットの多くは AppX から借用されています。
- App-V 4.xバージョンは、SFT形式[12]を使用したパッケージと、1997年にMicrosoftとMarimbaによってWC3に最初に提案されたOpen Software Description(OSD)仕様の修正版[13]に基づく追加ファイルを生成します。[14]
シーケンサーは、アプリケーションのインストール、構成、およびファイルとレジストリ リソースのランタイム使用を監視して、パッケージの内容と構成を決定します。マシンとユーザー固有の情報を抽象化してアプリケーション コンポーネントの移植性を向上させ、ほとんどのアプリケーションを異なるユーザー、異なるハードウェア、場合によっては異なるオペレーティング システムで実行できるようにします。パッケージはストリーミング操作用に構成されており、ファイルの一部を必要に応じてクライアントに配信できます。アプリケーションのシーケンス処理のガイドラインは、4.x [15]と 5.x [16]バージョンで異なります。
App-V クライアントは、いくつかの方法で仮想アプリケーション パッケージ定義を受け取ります。完全な App-V インフラストラクチャ サーバーから受け取るように構成されている場合、これはログオン時に自動的に、またはタイマーによって行われ、App-V クライアントによって開始されます。また、System Center 展開、仮想 msi、およびスタンドアロン メソッドで使用されるクライアント API 経由で指示が送信されることもあります。App-V 5.x クライアント API は PowerShell ベースですが、4.x クライアントは独自の sftmime インターフェイスを使用します。
パッケージを受信すると、クライアントは適切なメタデータをダウンロードし、場合によっては (パッケージとクライアントの両方の構成に応じて) パッケージ コンポーネントの一部またはすべてをダウンロードします。クライアントは、ローカル ファイルのページング アクティビティとよく似た動作をするストリーミング ファイル システムを使用するように設計されています。これにより、ローカルのキャッシュにすべてのファイルがなくてもアプリケーションを起動できます。アプリケーションが存在しないファイル部分を必要とする場合、必要なファイル部分を取得するストリーム フォールトと呼ばれる操作が実行されます。ストリーミングされたパッケージ コンテンツは、アプリケーション セッションの間クライアントによってメモリにキャッシュされ、将来の使用に備えてローカル ディスク キャッシュに保持される場合があります。
ユーザー設定は、アプリケーションのキャッシュされたコピーが変更されないように、リダイレクトを使用してローカル システム自体に保存されます。場合によっては、これにより、マルチユーザーに対応していないアプリケーションをリモート デスクトップ共有ホスト システムで展開できるようになります。
バージョン 5.x 固有の機能
バージョン 5.x では、再設計に加えて、バージョン 4.x では利用できなかったいくつかの機能が追加されました。5.0 Service Pack 2 では、これらに次の機能が追加されました。
- 追加の統合のサポート。アプリケーションには、オペレーティング システムとユーザーのデスクトップ シェルとの統合を提供する方法が多数あります。以前は、ユーザーにネイティブのようなエクスペリエンスを提供するために、アプリケーション ショートカット、ファイル タイプの関連付け、およびCOM統合のみが利用可能でした。バージョン 5.x、特に Service Pack 2 以降では、App-V のアプリケーション拡張機能と呼ばれる統合の種類が大幅に拡張されました。ショートカット サポートの改善に加えて、プロトコル ハンドラー、アプリケーション機能、ソフトウェア クライアント、アプリケーション パス、およびさまざまなシェル拡張機能、ブラウザー ヘルパー オブジェクト、および Active-X 統合が追加されました。これらの拡張機能の多くは、Microsoft Office や Office のプラグインなどの複雑なアプリケーションを仮想化することに対する反対意見を克服するのに役立ちます。
- アプリケーション サイズ。4 GB のパッケージ サイズの制限はなくなりました。App-v 5.x パッケージには文書化された制限はありません。
- スクリプトの改善。仮想化できない依存コンポーネントは、ログインしたユーザーがソフトウェアをインストールするための管理者権限を持っていない場合でも、新しいスクリプト インターフェイスを使用して、必要に応じて App-V クライアントによってローカルにインストールできるようになりました。これには依存デバイス ドライバーが含まれます。
- 接続グループ: 複数のパッケージを単一の仮想アプリケーション環境で連携させる必要がある場合に使用します。これは、App-V 4.5 に追加された Dynamic Suite Composition に代わるものです。この再設計の主な利点は、接続グループが管理者によって行われた非表示の変更ではなく、App-V または Configuration Manager レベルで管理されるオブジェクトになったことです。
- RunVirtual : 仮想アプリケーションは、仮想化されたプラグインを使用するローカル Web ブラウザーなど、ローカルにインストールされたコンポーネントを使用して起動されることがあります。以前は、これらのアプリケーションを仮想化すると、ローカル コンポーネントへの独自のショートカットを既に作成しているユーザーに問題が発生していました。RunVirtual を使用すると、管理者はローカル コンポーネントの起動が仮想化されることを保証できます。
バージョン 4.x の制限
- Microsoft Office プラグイン: Microsoft Office プラグインを順序付けすることはできますが、多くの技術的および使用上の問題があるため、順序付けすることはお勧めしません。たとえば、ユーザーが 2 つ以上のプラグインを使用している場合、それらを個別に順序付けすると、ユーザーはドキュメントを開いたときにどのプラグイン シーケンスが開始されるかを制御できなくなります。この問題を解決する唯一の方法は、すべてのプラグインの単一のスイートまたは動的スイートを作成することです。
- アプリケーションサイズ: 最大クライアントキャッシュサイズが少なくとも 4 GB (最大 64 GB) に設定されている場合、そのマシンでストリーミングできるアプリケーション (sft ファイル) の最大サイズは 4 GB です。クライアントによって設定された最大クライアントサイズ以上のインストールフットプリントを持つすべてのアプリケーションは、シーケンス化されません。Softgrid が処理できる最大アプリケーションサイズは、FAT32ファイルシステムを使用しているため、4 GB です。[17]
- デバイス ドライバー: App-V は現在、カーネル モード デバイス ドライバーのシーケンスをサポートしていません。そのため、デバイス ドライバーをインストールするアプリケーションはシーケンスできません。唯一の例外は、デバイス ドライバーをローカルに事前インストールできる場合です。この場合、アプリケーションはデバイス ドライバーなしでシーケンスされます。
- ショートカット: アプリケーションには少なくとも 1 つのショートカットが必要です。ショートカットが存在しない場合は、そのアプリケーションは、それを必要とするアプリケーションとともにスイート内で順序付けられる必要があります。Internet Explorer プラグインには、仮想化レイヤーの下でブラウザー プロセスを開始するための特別なショートカットが必要です。
- ミドルウェア: ミドルウェアアプリケーションは、複数のアプリケーションの実行時の前提条件となる可能性があるため、シーケンス処理には適していません。App-V の最新バージョンでは、ダイナミックスイートコンポジションと呼ばれる機能を使用して、他の仮想アプリケーションがリンクされる別のパッケージにシーケンス処理することができます。[18]
- パスのハードコーディング: アプリケーション自体にフォルダー/ファイル パスをハードコーディングしないでください。一部のアプリケーションでは、ファイルのパスをパラメーター化したり Windows レジストリに保存したりするのではなく、実行可能ファイルにハードコーディングしています。ini、conf、dat、txt などの拡張子で終わる構成ファイルは、問題の原因となる可能性のあるパス情報のアプリケーション固有の設定を探すのに適しています。それができない場合は、ソース コードまたは更新プログラムが利用できないアプリケーションを修正するためにshim を使用できます。
- 自動更新: 自動更新機能を持つアプリケーションは、更新メカニズムを無効にできない場合は、シーケンス処理しないでください。シーケンス処理されたアプリケーションは更新に失敗することがあります。また、自動更新を許可すると、アプリケーションのバージョンが準拠しなくなります。
- サービス: 起動時に開始する必要があるサービスの仮想化はサポートされていません。他のすべての種類のサービスは、通常、仮想化できます。これらのサービスは、仮想アプリケーションの起動時およびシャットダウン時、またはアプリケーションのメイン実行可能ファイルが終了したときに開始されます。
- ライセンス ポリシー: ライセンスの適用がマシンに関連付けられているアプリケーション。たとえば、ライセンスはシステムのMAC アドレスまたはハードディスクのシリアル番号に関連付けられています。シーケンスされたアプリケーションの最初の起動時にユーザーが手動またはスクリプトによってアクティベーションを実行できない場合は、このタイプのアプリケーションをシーケンスしないでください。
- Internet Explorer とサービス パック: Microsoft は、Internet Explorer のどのバージョンのシーケンスもサポートしていません。
類似技術
- リキッドウェア フレックスアプリ
- カメヨ
- Citrix XenApp (以前は「Application Streaming」/「Project Tarpon」として含まれていました。Windows Server 2012 以降は廃止されました。[19]現在は App-V も使用しています。)
- インストールフリーブリッジ
- Novell ZENworks アプリケーション仮想化
- Turbo Studio (旧称 Spoon Studio および Xenocode Virtual Application)
- VMware シンアプリ
参考文献
- ^ 「SoftGrid への別れ」2008 年 7 月 10 日閲覧。
- ^ 「Microsoft Application Virtualization 4.5 のベータ版が利用可能になりました!」2007 年 11 月 13 日閲覧。
- ^ 「Microsoft Presspass - Microsoft が Softricity の買収を完了」。microsoft.com。2007年 6 月 18 日時点のオリジナルよりアーカイブ。2007年 5 月 2 日閲覧。
- ^ 「RedmondMag - Microsoft Desktop Optimization Pack 2014 が利用可能になりました」 。2014年 7 月 4 日閲覧。
- ^ 「Microsoft Presspass - Microsoft が仮想化戦略を拡張し、製品ロードマップの概要を発表」。microsoft.com。2007年 5 月 2 日閲覧。
- ^ 「App-V 5.1 セキュリティに関する考慮事項」。2015年 4 月 18 日閲覧。「App-V 5.1 はセキュリティ製品ではないため、安全な環境を保証するものではありません。」
- ^ 「Microsoft 製品ライフサイクル検索」。
- ^ ローア、スティーブ(2002年7月29日)。「テクノロジー環境は暗いが、その未来はまだ明るいようだ」。ニューヨークタイムズ。 2024年10月22日閲覧。
- ^ 「Trademarkia - 商標検索」.
- ^ 「Microsoft Server Application Virtualization」。
- ^ 「TMurgent: スタンドアロン モードの App-V」(PDF)。
- ^ 「Microsoft: App-V 4.x SFT ファイル形式の仕様」。
- ^ 「OSDイラスト」.
- ^ 「オープンソフトウェア記述提案」。
- ^ 「App-V 4.6 SP1 用 App-V シーケンス ガイド - Microsoft Corporation (.docx ファイル)」。
- ^ 「App-V 5.0 のシーケンス ガイド - Microsoft Corporation (.docx ファイル)」。
- ^ 「App-V シーケンス ガイド - Microsoft Corporation (.docx ファイル)」。2018 年 3 月 13 日閲覧。
- ^ 「Dynamic Suite Composition の使用方法 | Microsoft Docs」。Technet.microsoft.com。2016 年 6 月 16 日。2018 年 3 月 13 日に取得。
- ^ Trond Eirik Haavarstein (2013 年 5 月 27 日). 「Long Live App-V 5 – Application Streaming is Dead」. 2014 年 6 月 6 日閲覧。
さらに読む
- マイクロソフト アプリケーション仮想化 4.6
- アプリケーション仮想化のトラブルシューティングとサポート
- シーケンス入門
- アプリケーション仮想化システムの計画および展開ガイド (App-V 4.6)
- Technet のアプリケーション仮想化
外部リンク
- マイクロソフト アプリケーション仮想化 4.6
