App - V
Платформа Microsoft Application Virtualization (App-V) , как и MED-V является частью Microsoft Desktop Optimization Pack и используется для преобразования приложений в виртуальные службы с централизованным управлением. Иными словами, приложение при этом функционирует в изолированной виртуальной среде.
Подобный подход, в числе прочего, позволяет:
- использовать приложения без непосредственной их установки;
- решить проблему совместимости приложений, как с операционной системой, так и с другими приложениями (одно приложение - одна изолированная среда);
- использовать параллельно несколько версий одного приложения;
- централизовать управление приложениями;
- ускорить процесс развертывания нового рабочего места;
- упростить процессы обновления и исправления приложений;
- контролировать использование лицензий.
Виртуализировать, естественно, можно не все приложения. Приложения запускающиеся до загрузки операционной системы, устанавливающие драйверы, антивирусы и т.п. не поддерживаются технологией App-V.
Принципы работы
Виртуальное приложение является приложением, которое может работать в рамках автономной виртуальной среды, которую иногда называют "песочницей", располагающейся на хосте.
Виртуальная среда содержит все необходимое для запуска приложения и запускается в рамках клиентского программного обеспечения App-V.
После виртуализации самих приложений и установки клиентского программного обеспечения App-V, становятся возможными различные способы доставки приложений на клиентский компьютер.
Рассмотрим более подробно механизмы работы App-V.
Виртуальная среда App-V
По сути, виртуальная среда представляет собой контейнер, определяющий ресурсы для выполнения виртуальных приложений.
К ресурсам виртуальной среды относят:
- Виртуальный COM - подсистема управления COM - объектами, созданными виртуальным приложением. Предотвращает конфликты с такими же объектами, созданными за пределами виртуальной среды.
- Виртуальный каталог. Содержит только файлы и подкаталоги, определенные приложением, или созданными в процессе его работы. Виртуальное приложение не "видит" любые файлы, расположенные в локальных каталогах с идентичными названиями.
- Виртуальный файл - имя файла в виртуальной среде. Виртуальный файл появляется, наряду с другими файлами, в каталоге вне зависимости от того является ли сам каталог виртуальным, или локальным.
- Виртуальная файловая система - подсистема, перехватывающая и перенаправляющая запросы виртуальных приложений к файловой системе. Запросы обрабатываются на основе виртуальных файлов и каталогов.
- Виртуальный реестр - подсистема, перехватывающая и перенаправляющая запросы виртуальных приложений для ключей и значений реестра, созданных, или измененных в процессе взаимодействия с виртуальным приложением.
- Виртуальные службы - подсистема управления службами.
Виртуальная среда создается APP-V и позволяет конечному пользователю взаимодействовать с виртуальными приложениями, как с локальными.
Sequencing (секвенирование, виртуализация приложения)
Для того, чтобы доставить приложение конечному пользователю, необходимо его "упаковать". Sequencing - процесс упаковки приложения для обеспечения возможности запуска его в рамках виртуальной среды клиентского компьютера. После этого приложение виртуализировано и полостью изолировано, что исключает возможность возникновения конфликтов между ним и другими приложениями.
Пакет виртуального приложения содержит четыре типа файлов, являющихся частью виртуального приложения, и обеспечивающих его функционирование:
- .ico - файл. Файл иконки рабочего стола, используется для запуска виртулизированного приложения клиентом.
- .osd - файл. Open Software Descriptor - файл на базе XML, указывающий клиенту, как извлечь виртуальное приложение из App-V сервера и как запустить его в рамках виртуализированной среды.
- .stf - файл. Содержит упакованное одно (или более) виртуализированное приложение. Хранится на сервере, который передает упакованное приложение клиенту.
- .sprj - файл. Sequencer project - файл на основе XML, использующийся для создания приложения или обновления пакета.
Кроме вышеуказанного, в состав пакета виртуального приложения также может быть включен Windows Installer файл (.msi), для автономного запуска приложения.
Публикация приложения
После того, как приложение упаковано и подготовлено, существует три способа доставки приложения до конечного пользователя:
- При помощи управляющего сервера App-V.
- При помощи ESD - системы (к примеру, System Center Configuration Manager 2007).
- Standalone доставка.
Компоненты App-V
Решение App-V включает в себя следующие компоненты:
- Управляющий сервер App-V (App-V Management Server) - сервер, отвечающий за управление инфраструктурой App-V, хранение виртуальных приложений и их доставку и т.п.
- Управляющий веб - сервер App-V (App-v Management Web Server) - компонент, отвечающий за read\write запросы к хранилищу данных App-V. Функционально располагается между хранилищем данных и консолью управления.
- Хранилище данных App-V (App-V Data Store) - компонент, отвечающий за хранение всей информации, связанной с App-V инфраструктурой (данные о конфигурации сервера, отчеты, лицензии приложений, данные авторизации и т.п.)
- App-V Streaming Sever - компонент дублирующий функционал управляющего сервера, кроме непосредственно функций управления. Т.е. обеспечивает обработку запросов, хранение данных и доставку приложений.
- Консоль управления App-V (App-V Management Console) - консоль управления, является инструментом администратора App-V.
- App-V Sequencer - программное обеспечение, виртуализирующее приложение.
- Клиент App-V (App-V Client) - программное обеспечение, устанавливаемое на стороне клиента и реализующее виртуальную среду для запуска приложений. В свою очередь представлен в виде desktop и terminal client версий.
Инфраструктурная модель и принцип работы App-V
Рис. 19.1. Инфраструктурная модель App-V (http://blog.augustoalvarez.com.ar/2009/07/12/implementing-app-v-part-ii-choosing-and-preparing-the-environment/)
На рис. 19.1 представлена полная инфраструктурная схема App-V и его компонент. В общем виде инфраструктурное решение виртуализации на основе App-V работает следующим образом:
- Создается виртуализированное приложение при помощи App-V Sequencer.
- Созданное приложение передается на хранение управляющему серверу App-V.
- Осуществляется назначение прав доступа к приложению (App-V Management Console), при участии Active Directory, в случае ее наличия.
- Пользователи, имеющие право на запуск и работу с приложением, получают к нему доступ (иконка на рабочем столе, пункт в меню "Пуск" и т.п.).
- Доставка приложения. При первом запуске виртуального приложения пользователем клиентское программное обеспечение App-V (App-V Client) загружает приложение с сервера и запускает его в изолированной виртуальной среде. (также могут быть использованы другие способы доставки, указанные в разделе "Публикация приложения" данной лекции).
Отметим, что при последующих запусках приложения, клиентское программное обеспечение уже не будет загружать его с сервера.
Термины
Sequencer - программное обеспечение, входящее в состав App-V, непосредственно виртуализирующее приложение. Sequencer "следит" за локальной установкой приложения, изменениями в системе и т.п. На основе собранных данных затем создается виртуальное приложение.
ESD - система - система электронного распространения программного обеспечения, для развертывания виртуальных приложений.
Краткие итоги
Как и MED-V, App-V является технологическим решением, расширяющим возможности "обычной" виртуализации, заключающейся в возможности запуска нескольких операционных систем на одном хосте, до полноценного корпоративного решения виртуализации инфраструктуры.
В отличие от MED-V, использующегося для управления образами виртуальных машин, их созданием, хранением и доставкой, App-V обеспечивает аналогичный функционал управления виртуализированными приложениями.
Может показаться, что при наличии App-V отпадает необходимость в использовании решений виртуализации, обеспечивающих запуск нескольких ОС на одном хосте. Однако, отметим следующее, App-V призван устранить проблемы совместимости приложений с другими приложениями и операционной системой. Но если существует необходимость создания изолированной среды, включающей в себя ОС и ряд других решений и компонент (к примеру для целей тестирования), лучшим выбором окажется иное решение виртуализации рабочих станций (MED-V, Virtual PC и т.д.)