RemoteApp for Hyper-V — публикация приложений из виртуальных машин

Сегодня мы поговорим о публикации приложений — функционале RemoteApp. Обычно он обычно ассоциирующемуся с ролью Remote Desktop Services (Terminal Services) серверных ОС Microsoft. Малоизвестно, что в Windows Server 2008 R2 также есть RemoteApp for Hyper-V — функционал, позволяющий удалённым клиентам запускать публикуемые приложения, не имея доступа ко всему рабочему столу. В отличии от RemoteApp, публикующему приложения, установленные на самом терминальном сервере Windows Server 2008 R2, RemoteApp for Hyper-V позволяет публиковать приложения, установленные в клиентских операционных системах Windows XP, Windows Vista и Windows 7 на виртуальных машинах Hyper-V. Особенно подчеркну, что решение работает со сценариями Microsoft VDI, терминальными фермами и RD Connection Broker. Поговорим об этом подробнее.

С выходом Windows 7 и начавшимся переходом на эту ОС с Windows XP большого количества компаний часто встаёт вопрос о поддержке корпоративных приложений, разработанных для WIndows 2000 и Windows XP. Одним из способов решения этих проблем является использование Windows XP Mode в Windows Virtual PC. Но такой способ плохо подходит для централизованного управления и требует значительных ресурсов на каждом рабочем месте, а возможно и замены оборудования из-за аппаратных требований Windows Virtual PC. RemoteApp for Hyper-V позволяет администраторам устанавливать унаследованные приложения в фермах виртуальных машин и публиковать их для конечных пользователей.

RemoteApp for Hyper-V поддерживает следующие клиентские операционные системы.

В каком случае вам может понадобится данная возможность? Рассмотрим несколько вариантов.

  • Ваше приложение не работает с ОС старше Windows XP;
  • ваше приложение работает на Windows Server 2003, но несовместимо с Windows Server 2008 или Windows Server 2008 R2;
  • ваше приложение по требованиям безопасности должно запускаться в ЦОД, а не на рабочих станциях.

Согласно официальным заявлениям, для того чтобы запускать приложения, опубликованные удалённо при помощи RemoteApp, вам требуется клиентская ОС Windows 7. На самом деле, это не совсем так, в действительности вам требуется Remote Desktop Client версии 7.0, который входит в Windows 7. Но он также доступен отдельно и для Windows XP и для Windows Vista.

Как же работает публикация приложений из виртуальных машин? Существует два сценария. Простейший сценарий подразумевает использование единственного сервера с ролью Hyper-V, ручном создании файла подключения (*.RDP) с информацией об опубликованном в виртуальной машине приложении и ручном распространении этих файлов по клиентам.

Для тестирования и демонстрации функционала RemoteApp на клиентских ОС этого способа вполне достаточно. Однако вы не получите ни отказоустойчивости, ни балансировки нагрузки. Также существенным ограничением является возможность подключения к опубликованному приложению лишь одного пользователя. В это время доступ к этому приложению других пользователей блокируется.

Для того чтобы обойти данные ограничения вам следует развернуть RemoteApp for Hyper-V на полноценной ферме VDI или настроенном Personal Virtual Desktop с использованием роли Remote Desktop Connection Broker. Администратору в любом случае придётся вручную установить приложения в виртуальных машинах и создать файлы подключения, однако подключение через RD Connection Broker принесёт вам массу преимуществ. В первую очередь появится балансировка нагрузки. Дополнительно вы получите более эффективную модель в случае публикации нескольких приложений — ведь RD Connection Broker все запросы от одного пользователя может перенаправлять на одну виртуальную машину, не блокируя таким образом сразу несколько виртуальных машин для других пользователей. Ведь лицензионное ограничение количества сессий к клиентской ОС лишь одним пользователем существует и в виртуальных сценариях.

Вот как это происходит в случае фермы с приложениями, опубликованными на виртуальных машинах с Windows XP.

Публикуя приложения в ферме VDI, вы не имеете возможностей ограничивать круг пользователей, которым будет доступно это приложение. Иными словами, приложение смогут запускать все доменные пользователи, имеющие доступ к ферме.

Если же вы хотите предоставлять доступ к публикуемым приложениям только конкретным пользователям, вам потребуется настроить виртуальные машины как Personal Virtual Desktop. Передайте пользователю файл подключения — скопируйте ему на рабочий стол, разместите на файловом сервере или отправьте по электронной почте. За остальное будет отвечать Connection Broker.

RemoteApp for Hyper-V — это простой, но эффективный способ публикации приложений, имеющих проблемы совместимости с новыми ОС. Опираясь на технологию Remote Desktop Services, RemoteApp расширяется разнообразными партнерскими решениями, довольно просто публикуется через Remote Desktop Web Access и сможет хорошо интегрироваться в вашу инфраструктуру.