Windows 10がリリースされてから約一年が経ちますが、そろそろWindows 10への移行を検討されているお客様も多いと思います。その際に問題になるのが、アプリケーションの互換性です。今まで例えばWindows 7上で利用していたアプリケーションがそのままWindows 10で利用できるかということです。このようなその問題の解決の手段のひとつとして仮想アプリケーションの利用が考えられます。

仮想アプリケーションというと、WindowsサーバーOSで実行されたアプリケーションを、複数ユーザーが仮想セッションでサーバーリソースを共有しながらリモートから画面転送で利用することが一般的かと思います。このためサーバーOS上で利用したいアプリケーションが動作するかが問題になります。つまり、Windows 10でのアプリケーション互換性対応に仮想アプリケーションが有効であるものの、このためにはサーバーOSでのアプリケーション互換性が課題になってしまうのです。シトリックスのXenAppを利用する場合、AppDNAによる互換性チェックや、App-Vを使った仮想パッケージを組み合わせることで互換性を高めることが考えられます。

ただ、それでもどうしてもサーバーOS上で動作しない、また必要なリソースなどの問題でサーバー実行が適さない、もしくは動作検証のための時間がどうしてもないなどの場合にXenApp/XenDesktopで可能なもう一つのオプションがあります。それがVM Hosted Appsです。

XenApp/XenDesktopで面白いのは、サーバーOSであろうとデスクトップOSであろうと、利用者に実行環境を問わず、仮想デスクトップでも仮想アプリケーションでも提供できるところです。簡単に言うと、アプリケーションを利用する場合に、デスクトップを表示するかしないかの違いといってもいいでしょう。VM Hosted AppsWindows 7などのデスクトップOSで実行するアプリケーション画面だけをクライアントデバイスで表示操作するための技術です。このためサーバーOSだから動作できないという問題はクリアすることができます。

例えばWindows 10へのデバイス移行を検討しているが、Windows 7でしか現状動作しないアプリケーションがあった場合、一般的にはWindows 7VDIを導入し、Windows 10のローカルデスクトップからWindows 7VDIの仮想デスクトップ上でそのアプリケーションを利用することが考えられます。この場合、2つの異なるデスクトップ(Windows 7/10)が画面上に存在することになり、利用者の操作が複雑になってしまうかもしれません。VM Hosted Appsを使えば、その複数のデスクトップを無くし、Windows 10のデスクトップ上でWindows 7のアプリケーションをシームレスに利用することができます。

こちらはWindows 7 VDI上でメモ帳アプリを実行しているイメージです。

VDI

こちらはVM Hosted Appsの機能で同じくWindows 7上のメモ帳アプリのみをWindows 10デスクトップ上で利用しています。

VMHostedApptest

Windows 10のスタートメニューに統合してWindows 7アプリケーションをシームレスに利用することもできます。

VMHostedtest2

XenApp/XenDesktopではアプリケーションやデスクトップを実行するマシン環境をカタログとして管理します。カタログはサーバーOSなのかデスクトップOSなのか、またデスクトップOSの場合は、ランダムにアサインするのか固定して利用者にアサインするのかの特性が定義されます。このカタログから一定数のマシンを特定にユーザーグループに切り出したものをデリバリーグループと呼びます。このデリバリーグループから、仮想デスクトップ、仮想アプリケーションのどちらか、また両方を利用者に提供することができます。

VM Hosted Appsを利用する場合は、デスクトップOSのカタログを作成し、そのカタログからアプリケーションを公開します。ただし、デスクトップOSでは、利用するユーザーはひとつのOSあたり一人に限られます。従って利用するユーザーの数だけデリバリーグループでマシンを用意する必要があります。利用者はカタログの種類によって、ランダムでも利用者固定でも実行するマシンを割り振ることができます。カタログは手動での追加、MCSPVSによる展開も可能になっています。もちろん実行環境はハイパーバイザー上でもベアメタルでも問題ありません。

ちなみに、XenApp/XenDesktop 7.8からStudioにアプリケーション設定の項目ができました。

Applicationnode Applicationnode2

Studioからアプリケーションの追加をクリックすると、アプリケーションを配信するデリバリーグループを複数選択できます。VM Hosted Appsを配信した場合はデスクトップOSのデリバリーグループを選択します。

VM Hosted Apps設定

デリバリーグループを選択したら、アプリケーションを追加します。

VM Hosted Apps設定2

アプリケーションは手動で実行パスを指定することもできますし、インストールされているOSのスタートメニューに登録されているアプリケーションをGUIから選択することもできます。

VMHosted3

VMHosted4

このようにVM Hosted Appsは非常にユニークで面白い技術です。iPadのようなタブレットデバイスからWindows 7 VDIを利用する場合も、VM Hosted Appsを使えば、無用なデスクトップ画面を表示せず、アプリケーションだけを表示して操作性を向上させることもできます。クライアント仮想化によるアプリケーションライフサイクル管理において、お役に立つ場面も多いかと思いますので、ぜひお試し下さい。

関連情報

製品ドキュメント:VM Hosted Apps
https://docs.citrix.com/ja-ja/xenapp-and-xendesktop/7-6/xad-build-new-enviroment/xad-deliver-vmhosted.html
アプリケーション仮想化とデスクトップ仮想化(VDI)XenApp/XenDesktop
https://www.citrix.co.jp/solutions/desktop-virtualization/overview.html
AppDNA
https://www.citrix.co.jp/products/xenapp-xendesktop/appdna.html
https://docs.citrix.com/ja-ja/dna/7-9.html
App-V統合
https://docs.citrix.com/ja-ja/xenapp-and-xendesktop/7-8/install-configure/appv.html