Что такое потоковая передача удаленных приложений через Виртуальный рабочий стол Azure?
Виртуальный рабочий стол Azure — это служба виртуализации рабочих столов и приложений, которая работает в облаке и позволяет обращаться к своему удаленному рабочему столу в любое время и откуда угодно. Но знаете ли вы, что вы можете также использовать Виртуальный рабочий стол Azure в качестве PaaS (платформа как услуга), чтобы предоставлять своим клиентам приложения организации как SaaS (программное обеспечение как услуга)? С помощью потоковой передачи удаленных приложений через Виртуальный рабочий стол Azure вы можете доставлять приложения клиентам по защищенной сети через виртуальные машины.
Если вы не работали с Виртуальным рабочим столом Azure (или вообще впервые работаете с виртуализацией приложений), мы подобрали некоторые ресурсы, которые помогут вам приступить к развертыванию и запуску.
Требования
Перед началом работы мы рекомендуем ознакомиться с обзором Виртуального рабочего стола Azure, чтобы получить более подробный список требований к системе для запуска Виртуального рабочего стола Azure. В этом обзоре вы сможете изучить оставшуюся часть документации по Виртуальному рабочему столу Azure, если захотите узнать больше об этой службе, так как большинство статей также относится к потоковой передаче удаленных приложений для Виртуального рабочего стола Azure. Поняв основные принципы, вы сможете более эффективно использовать документацию по потоковой передаче удаленных приложений.
Чтобы настроить развертывание Виртуального рабочего стола Azure для пользовательских приложений, предоставляемых клиентам за пределами организации, вам потребуется следующее:
Ваше пользовательское приложение. Узнайте, как разместить пользовательские приложения с помощью Виртуального рабочего стола Azure, чтобы изучить типы приложений, поддерживаемых Виртуальным рабочим столом Azure, и способы их предоставления своим клиентам.
Учетные данные для присоединения к домену. Если у вас еще нет системы управления удостоверениями, совместимой с Виртуальным рабочим столом Azure, необходимо настроить управление удостоверениями для пула узлов. Дополнительные сведения см. в статье Настройка управляемых удостоверений.
Подписка Azure. Если у вас еще нет подписки, обязательно создайте учетную запись.
Начало работы
Теперь, когда все готово к работе, давайте посмотрим, как можно настроить развертывание Виртуального рабочего стола Azure. Доступно два варианта, обеспечивающих успешное применение. Можно настроить развертывание вручную или автоматически. В следующих двух разделах описаны различия между этими двумя методами.
Настройка виртуального рабочего стола Azure вручную
Вы можете настроить развертывание вручную, следуя этим руководствам:
Автоматическая настройка виртуального рабочего стола Azure
Если вы предпочитаете автоматическую настройку, можно использовать функцию «Начало работы» для настройки развертывания. Подробнее см. в следующих статьях.
Настройка Виртуального рабочего стола Azure и управление им
После настройки Виртуального рабочего стола Azure вы можете различными способами настроить развертывание в соответствии с потребностями организации или клиенов. Эти статьи помогут вам приступить к работе:
Знакомство с развертыванием Виртуального рабочего стола Azure
Ознакомьтесь со следующими статьями, чтобы понять основные принципы, связанные с созданием развертываний Виртуального рабочего стола Azure и управлением ими.
Дальнейшие действия
Если вы готовы приступить к настройке развертывания вручную, перейдите к следующему руководству.
При первом нажатии пользователем значка, который был размещен на компьютере с помощью процесса публикации, клиент Application Virtualization получит содержимое пакета виртуального приложения из расположения для потоковой передачи.
ПримечаниеПотоковая передача — это термин, используемый для описания процесса получения содержимого из упорядоченного пакета приложения, начиная с основного блока функций и получая дополнительные блоки по мере необходимости.
Расположение исходного потока обычно является сервером, доступным для компьютера пользователя; Однако некоторые электронные системы рассылки, такие как диспетчер конфигурации конечной точки Майкрософт, могут распространять SFT-файл на компьютер пользователя, а затем передавать виртуальный пакет виртуального приложения локально из кэша этого компьютера.
Примечание Расположение источника потока для виртуальных пакетов можно настроить на компьютере, который не является сервером. Это особенно удобно в небольших офисах филиалов без сервера.
В следующей таблице описаны источники потоков, которые можно использовать для хранения упорядоченных приложений.
Тип сервера
Используемый протокол
Преимущества
Недостатки
Ссылки
Простое решение недорогих ресурсов для настройки существующего файлового сервера с \CONTENT
Нет активного обновления
Поддерживает улучшенную безопасность по протоколу HTTPS.
Поддерживает потоковую передачу на удаленные компьютеры через Интернет
Только один порт в брандмауэре, чтобы открыть
Требуется управление IIS
Нет активного обновления
Потоковый сервер Application Virtualization
Поддержка расширенной защиты с помощью протокола RTSP
Только один порт в брандмауэре для открытия (только для RTSP)
Microsoft Application Virtualization (App-V) может сделать приложения доступными для конечных пользователей, не устанавливая их непосредственно на эти компьютеры. Это можно сделать с помощью процесса, который называется виртуализацией приложения, что позволяет каждому приложению выполняться в собственной автономной виртуальной среде на клиентском компьютере. Упорядоченные приложения изолированы друг от друга. Это устраняет конфликты приложения, но приложения по-прежнему могут взаимодействовать с клиентским компьютером.
Клиент App-V — это функция, с помощью которой пользователь может взаимодействовать с приложениями после того, как они были опубликованы на компьютере. Клиент управляет виртуальной средой, в которой виртуализированные приложения выполняются на каждом компьютере. После установки клиента на компьютере приложения должны быть доступны для компьютера с помощью процесса, называемого публикацией, который позволяет конечному пользователю запускать виртуальные приложения. Процесс публикации копирует значки виртуальных приложений и ярлыки на компьютер — обычно на рабочем столе Windows или в меню » Пуск «, а также копирует на компьютер определение пакета и сведения о сопоставлении типов файлов. Публикация также делает содержимое пакета приложения доступным для компьютера конечного пользователя.
Содержимое виртуального пакета приложения можно скопировать на один или несколько серверов виртуализации приложений, чтобы его можно было передавать клиентам по запросу и кэшировано локально. Файловые серверы и веб-серверы также можно использовать в качестве потокового сервера, а содержимое можно скопировать непосредственно на компьютер конечного пользователя (например, при использовании электронной системы распространения программного обеспечения, например диспетчера конфигураций конечных точек Microsoft). При использовании многосерверной реализации, поддержание содержимого пакета и поддержание актуальности на всех потоковых серверах, требуется всестороннее решение для управления пакетами. В зависимости от размера организации может потребоваться наличие большого количества виртуальных приложений, доступных для конечных пользователей, которые находятся в разных странах мира. Управление пакетами для обеспечения доступности соответствующих приложений для всех пользователей, где и когда им необходим доступ к ним, следовательно, это является важным требованием.
Возможности системы Microsoft Application Virtualization
В таблице ниже описаны основные возможности системы управления виртуализацией приложений Microsoft.
Функция
Функция
Дополнительные сведения
Сервер управления виртуализацией приложений Майкрософт
Отвечает за потоковую передачу содержимого пакета и публикацию ярлыков и сопоставлений типов файлов в клиенте Application Virtualization.
Сервер управления виртуализацией приложений поддерживает активное обновление, Управление лицензиями и базу данных, которые можно использовать для создания отчетов.
Указывает расположение пакетов Application Virtualization для потоковой передачи.
Эту папку можно найти в общем доступе на сервере управления виртуализацией приложений.
Консоль управления Microsoft Application Virtualization
Эта консоль — средство управления оснасткой MMC 3,0, используемое для администрирования сервера виртуализации приложений Microsoft.
Это средство можно установить на сервере Microsoft Application Virtualization или на отдельной рабочей станции с консолью управления Майкрософт (MMC) 3.0 и Microsoft. NETFramework 2,0 установлен.
Веб-служба управления виртуализацией приложений Майкрософт
Отвечает за связь запросов на чтение и запись в хранилище данных Application Virtualization.
Веб-службу управления можно установить на сервере управления виртуализацией приложений (Майкрософт) или на отдельном компьютере, на котором установлены службы Microsoft Internet Information Services (IIS).
Хранилище данных Microsoft Application Virtualization
База данных SQL Server App-V отвечает за хранение всей информации, связанной с инфраструктурой виртуализации приложений.
Эти сведения включают все записи приложений, назначения приложений и группы, ответственные за управление средой виртуализации приложений.
Сервер потоковой передачи Microsoft Application Virtualization
Ответственность за размещение пакетов Application Virtualization для потоковой передачи клиентам в филиале, где ссылка на сервер управления виртуализацией приложений считается глобальным подключением к глобальной сети.
Этот сервер содержит только потоковую функциональность и не предоставляет ни консоль управления Application Virtualization, ни веб-службу управления виртуализацией приложений.
Microsoft Application Virtualization Sequencer
Секвенсор используется для отслеживания и сохранения установки приложений для создания пакетов виртуальных приложений.
Результат состоит из значков приложения, OSD-файла, который содержит сведения о определении пакета, файла манифеста пакета и SFT-файла, содержащего файлы содержимого программы приложения.
Клиент Microsoft Application Virtualization
Классическое приложение Application Virtualization и клиент Application Virtualization для служб удаленных рабочих столов предоставляют виртуальную среду для виртуализированных приложений и управляют ею.
Клиент Microsoft Application Virtualization управляет потоковой передачей пакета в кэш, обновлять публикацию, транспортировку и все взаимодействие с серверами Application Virtualization Server.
Виртуализация приложений с помощью Microsoft App-V для неопределившихся
Виртуализация серверов давно и прочно вошла в нашу жизнь. Ее достоинства неоспоримы и широко используются в самых разных бизнес-областях. Однако, виртуализация приложений пока «новинка» на российском корпоративном рынке. Многие только присматриваются к этой технологии, уже успевшей хорошо зарекомендовать себя в мире. Почему многие крупнейшие зарубежные производители и финансовые организации переводят работу целых офисов на виртуализированные приложения? Ответ прост — потому что это выгодно.
Чуть позже мы перечислим несколько ключевых преимуществ, которые дает технология виртуализации и которые существенно уменьшают стоимость владения приложением, а для начала рассмотрим следующий сценарий: компания переходит с одной версии критичного приложения на другую.
Такой переход зачастую является сложным и болезненным процессом. Новые форматы файлов, новая схема взаимодействия с остальным ПО. Может оказаться, что часть оборудования поддерживает только старую версию и оперативно заменить его нельзя. Неизбежны накладки при вводе нового приложения в рабочую среду, иногда приходится даже откатываться на старую версию, чтобы избежать простоев бизнеса. Cпециалистам в нашей компании, обеспечивающим поддержку приложений заказчиков, эти проблемы знакомы не понаслышке. С помощью виртуализации, даже для такого большого и сложного пакета, как Microsoft Office, возможно существенно упростить процесс – разные версии запускать одновременно под одним пользователем, при необходимости легко изменять конфигурацию, добавляя или удаляя компоненты – и все это без длительных простоев.
Рассмотрим подробнее, как работает технология, а, заодно, перечислим основные преимущества виртуализации приложений.
— Приложения не устанавливаются на компьютер через инсталлятор. В процессе «виртуализации» программа устанавливается на чистый образ ОС и в процессе установки все изменения в реестре и файловой системе записываются в специальный пакет. Этот пакет, представляющий собой, фактически, развернутое приложение, доставляется на компьютер пользователя и выполняется в своем изолированном окружении не оставляя следов в самой операционной системе. Это окружение называют «песочницей» (sandbox) или «пузырем» (virtual bubble). При этом запущенное в таком пузыре приложение «видит» обычные программы и может с ними взаимодействовать, а само остается «невидимым» для них.
— Изоляция приложений друг от друга. Поскольку каждое виртуальное приложение запускается в своем, отделенном от других окружении, это позволяет полностью исключить конфликты, связанные с перезаписью веток реестра или заменой файлов несколькими независимыми программами. Существенно снижаются, а, точнее, становятся ненужными затраты на совместное тестирование нескольких, порой очень больших приложений. При необходимости, виртуальные приложения можно объединять в группы и тогда они смогут взаимодействовать друг с другом. Но и в этом случае проверку совместимости нужно провести лишь однажды и в дальнейшем быть уверенным в стабильном функционировании программ.
— Возможность одновременного запуска разных версий одного приложения на одном компьютере. Так как виртуальные приложения изолированы друг от друга, ничто не мешает виртуализировать разные версии одной программы и запускать их на одном компьютере под одной учетной записью. Обе будут работать. Такой сценарий довольно часто встречается, как мы упомянули ранее, при переходе со старой версии ПО на новую или в учебных классах и тестовых лабораториях.
— Возможность одновременного запуска одного приложения несколькими пользователями даже в случае, когда при обычной установке это приводит к ошибке разделения ресурсов.
— Отпадает необходимость предоставлять пользователям права локальных администраторов или повышенные права доступа к реестру для работы нестандартных приложений. В изолированном виртуальном пузыре у приложения есть полный доступ ко всем файлам и разделам реестра (в ранних версиях App-V были ограничения, но в последних редакциях они устранены). Поэтому нет необходимости запускать виртуальное приложение с повышенными привилегиями, даже если раньше это требовалось. Таким образом повышается безопасность рабочей среды.
— Мгновенная доступность новых приложений нужным группам пользователей, управляемая через Active Directory. В развернутой инфраструктуре App-V достаточно сопоставить группу пользователей виртуальному приложению, чтобы через заданный интервал времени его ярлыки появились у пользователей в меню «Пуск». Причем управление осуществляется через Web-интерфейс из любого браузера. Точно так же быстро приложение можно запретить запускать при необходимости. И все это не требует перезагрузки компьютера и простоя в ожидании установки.
— Существенное снижение времени на восстановление рабочей среды в случае сбоя.
— Упрощение управления образами рабочих систем. Когда приложения виртуализированы, уже не требуется иметь образы ОС для разных групп пользователей, каждый со своим индивидуальным набором ПО. Иногда достаточно ограничиться одним «ванильным» образом, а приложения назначать с помощью групп Active Directory.
Здесь нельзя не упомянуть про еще один сценарий, крайне актуальный в настоящее время – миграцию с одной операционной системы на другую. Многие откладывают этот сложный процесс до последнего и опасения понятны. Проблемы совместимости, колоссальная нагрузка на ИТ-отдел, серьезные риски в случае простоя бизнеса. Наша компания уже завершила процесс миграции в инфраструктуре 8 крупных европейских заказчиков и мы можем с уверенностью сказать, что виртуализация приложений радикально сокращает сроки проекта. Однажды настроив приложения на работу как в 64-х битной, так и в 32-х битной среде, убедившись в их совместимости и работоспособности на разных платформах можно быстро настроить конечную пользовательскую рабочую среду любой сложности при смене ОС.
Теперь перечислим, что нужно для того, чтобы развернуть у себя структуру поддержки виртуальных приложений на примере Microsoft Application Virtualization (App-V) 5.0.
Лицензирование: если у вас уже есть клиентские лицензии служб удаленных рабочих столов (RDS), то вы уже можете использовать App-V. Также, лицензии App-V входят в пакет Microsoft Desktop Optimization Pack (MDOP). Это набор технологий для настольных систем, доступный участникам программы Software Assurance в виде подписки.
Определившись с лицензиями, посмотрим, как это работает.
Остановимся на каждом пункте подробнее.
Для подготовки виртуального пакета потребуется типовой чистый образ системы, используемый в вашей инфраструктуре. На него установим приложение App-V Sequencer. В идеале следует устанавливать Sequencer на компьютере, работающем как виртуальная машина и создать «снимок» сразу после установки. Это позволяет легко вернуть компьютер, где запускается Sequencer, в «чистое» состояние перед виртуализацией следующего приложения.
Запущенный Sequencer работает в режиме помощника, предлагая вначале задать имя пакета, выбрать каталог, в который будет производиться установка, затем отслеживает и сохраняет изменения в реестре и файловой системе, производимые при установке приложения.
В версии App-V 5.0 не требуется создание отдельного диска для виртуальных приложений, установка производится в каталог по умолчанию. Однако первичный каталог виртуального приложения (PVAD) в данном окне может быть выбран по-разному. Этот может быть или установочная директория программы, или один из ее подкаталогов, или даже некоторая несуществующая папка. В зависимости от этого выбора меняется организация файлов внутри виртуального пакета. В данной статье мы не будем подробно останавливаться на этом моменте, но, из нашего опыта, хотелось бы обратить внимание, что иногда правильный выбор PVAD на первом этапе способен избавить от множества проблем функциональности в дальнейшем, особенно для старых приложений.
Если при установке потребуется перезагрузка – можно ее выполнить, изменения будут записаны и процесс корректно продолжится с прерванного момента. Будут правильно обработаны параллельные (SxS) сборки библиотек (например, Microsoft Visual C++), устанавливать их предварительно в образ системы теперь не требуется.
Готовый пакет представляет собой набор файлов:
report.xml файл – файл отчета, в котором сохраняются все предупреждения и ошибки, возникшие в процессе сиквенсинга. Его можно использовать для диагностики и решения проблем.
.msi файл – файл установщика Windows, созданный сиквенсером для установки виртуального пакета через групповые политики или с помощью систем развертывания.
.appv файл – файл собственно виртуального приложения. В версии App-V 5.0 этот файл создается в открытом формате zip и его можно открыть любым архиватором при необходимости. Ограничений на размер файла, в отличие от предыдущих версий, нет. К сожалению, вносить изменения напрямую без использования сиквенсера нельзя.
Deployment configuration file, User configuration file – конфигурационные файлы в формате XML, определяют параметры развертывания на конечных компьютерах. В них можно вносить изменения без запуска сиквенсера в любом текстовом редакторе. Это существенно упрощает тонкую настройку приложения. Здесь, в частности, задаются параметры ярлыков, файловые ассоциации, переменные окружения, меняются ключи реестра.
Для некоторых программ не удается обеспечить точное соответствие функциональности виртуального пакета локально установленной версии только с помощью сиквенсера. В этом случае придется добавить скрипт, выполняющий недостающие операции. Файлы пользовательских скриптов добавляются в пакет, а их вызов настраивается в конфигурационных файлах XML. Например, так:
Как видим из синтаксиса, скрипт можно писать на любом языке, на котором вам удобнее работать. Наши инженеры используют, в основном, Powershell, VBS и batch для написания скриптов.
После того, как пакет подготовлен, скопируем его на сетевую папку, предоставим пользователям доступ на чтение. Далее требуется установить на пользовательские компьютеры App-V Client и… всё! В самом простом случае более ничего не требуется. Виртуальные пакеты можно распространять несколькими способами:
Итак, в простейшем случае, для использования Microsoft App-V потребуется только Sequencer на машине ИТ-инженера для подготовки пакетов и App-V Client на машине пользователя для их запуска. Однако, всеми преимуществами можно будет воспользоваться только при полном развертывании инфраструктуры App-V.
Для этого необходимо установить следующие компоненты:
Все роли устанавливаются одним файлом (APPV_SERVER_SETUP.EXE):
Microsoft предоставляет отдельные SQL скрипты для создания баз данных на случай, если в вашей организации за них ответственна отдельная команда администраторов. На этапе установки также указывается группа AD, которой будут предоставлены полномочия для управления средой App-V 5.0.
После установки необходимо сконфигурировать пользовательские App-V клиенты. Указать адрес сервера публикаций и параметры обновления информации об изменениях пакетов. Выполнить это можно с помощью Powershell.
В дальнейшем, доступ к консоли и управление осуществляется с помощью браузера:
Добавим пакет, указав сетевой путь:
Назначим группу пользователей AD и опубликуем пакет:
После этого через некоторое время у пользователя появятся ярлыки приложения и соответствующие ассоциации файлов. ПО готово к использованию.
По умолчанию, когда приложение App-V публикуется для пользователя, файлы пакета копируются в папку %PROGRAMDATA%. Однако, клиент можно переключить в режим использования хранилища общего содержимого (Shared Content Store). В Powershell команда будет выглядеть так:
В этом случае на диске пользователя будут создаваться только NTFS ссылки на сетевое расположение файлов, что позволит существенно сэкономить дисковое пространство. Конечно, такое решение требует предварительного тестирования и редко применяется в чистом виде, но в наших реализованных проектах есть примеры применения этой технологии в средах заказчиков.
Если несколько программ должны взаимодействовать друг с другом – их можно объединять в группы в разделе «Connection Groups». В этом случае их виртуальные среды объединяются, файлы и реестр становятся доступны всем членам группы. Потребуется некоторый опыт, чтобы правильно формировать такие группы, выявлять зависимости программ и задавать их приоритет. Иногда отдельные компоненты мы рекомендуем не виртуализировать, а устанавливать непосредственно в образ системы. Это могут быть драйверы ODBC или настройки подключений к базам данных.
Здесь может сложиться впечатление, что виртуализация – спасительное решение на все случаи жизни. Увы, как и у любой технологии у нее есть свои ограничения. В частности, с помощью Microsoft App-V не могут быть виртуализированы драйвера или службы, которые запускаются при старте системы, (см. Руководство по виртуализации в Microsoft Application Virtualization 5.0). Как и всякая технология, App-V развивается и многие ограничения уже преодолены. Например, более не является проблемой виртуализация контекстного меню приложения в проводнике и различных ActiveX расширений. Кстати, это развитие в случае App-V порой также является вызовом. Сервиспаки и исправления помимо решения проблем привносят существенное изменение функционала и являются, фактически, новой версией технологии. Однако, имея за плечами более тысячи виртуализированных приложений, мы помогаем нашим заказчикам в кратчайшие сроки внедрить в рабочей среде новые функции, не нарушив бизнес-процессов.
Итак, мы рассмотрели преимущества виртуализации приложений. Коротко, на примере Microsoft App-V, познакомились с основными этапами создания и публикации виртуальных пакетов. Конечно, это далеко не единственный инструмент виртуализации. Нельзя не упомянуть Citrix XenApp, VMware ThinApp, Novell Zenworks. Выбор зависит от потребностей вашего бизнеса. Но основываясь на опыте поддержки наших клиентов, реализовавших переход к виртуальной среде, мы можем сформулировать стратегию перехода так: если приложение можно виртуализировать – его нужно виртуализировать. Плюсы неоспоримы.