Компьютерщик на все руки: VMM 2012 и Server App-V: счастливый союз

Microsoft тихо и без шумихи добавила в System Center Virtual Machine Manager 2012 компонент Server App-V — отличный ход как с технической, таки стратегической точки зрения.

Грэг Шилдс

В ИТ-отрасли очень важно сохранять объективность и независимое мнение. Это важно, если нужно принимать правильные решения в области продуктов и стратегий. При выполнении этой работы надо сохранять нейтральную позицию в никогда не прекращающемся потоке объявлений продуктов и маркетинга поставщиков.

Но иногда происходит то, что меняет все. Объективность становится жертвой увлечения новыми возможностями. На этот раз этой новой возможностью является Server App-V, тихое и незаметное добавление к System Center Virtual Machine Manager (VMM) 2012. Оно так незаметно, что если не присмотреться повнимательнее, можно упустить этот впечатляющий документ. Поверьте мне, вы не должны упустить эту возможность.

Server App-V позволяет вашим серверам обеспечить такой же уровень автоматизации доставки приложений, которым много лет вы пользовались на настольных компьютерах. Соединив это с ориентированной на сервисы моделью VMM, вы сможете быстро увидеть, что задача создания виртуальных машин значительно упрощается. Server App-V с VMM может стать для компании Microsoft самым лучшим инструментом в борьбе за рынок виртуальных платформ.

App-V, да не тот

Server App-V можно считать «тихим добавлением», потому что эта функциональность очень тесно интегрирована в VMM — почти до степени смешения. Ее наличие также скрывается номенклатурой продукции Microsoft. Название этой функциональности похоже на название других виртуальных приложений (App-V), которые мы знаем уже многие годы. Это приводит к тому, что результаты, относящиеся к Server App-V, оказываются похороненными в результатах поиска в Интернете.

Не надо путать: у этих двух технологий есть много общего. Они обе предназначены для виртуализации приложений, но у них есть и различия. С точки зрения архитектуры App-V обычно ориентирована на доставку приложений на настольные компьютеры. Server App-V предназначается исключительно для серверов.

Различия усугубляются на более техническом уровне. Серверные приложения обычно не предназначены для использования многими пользователями на одной машине. Они представляют собой приложения фонового режима, в которых вход с консоли происходит нечасто. По этой причине Server App-V работает с виртуализованными приложениями немного иначе, чем традиционная технология App-V.

Далее перечислены различия между этими технологиями.

Server App-V: Если в процессе его использования приложение создает данные или меняет конфигурацию в реестре пользовательской машины, данные и конфигурация сохраняются за пользователем во время как развертывания, так и использования.

App-V: Если в процессе использования приложение создает данные или меняет конфигурацию в реестре пользовательской машины, данные и конфигурация проецируются, чтобы быть доступными любому пользователю данного приложения.

Server App-V: Файлы приложения, которые входят в пакет виртуального приложения, в том числе EXE-файлы и библиотеки, необходимые для работы приложения, доступны для всех процессов на компьютере, где есть копия приложения.

App-V: Файлы приложения, которые входят в пакет виртуального приложения, доступны только виртуальному приложению и любым другим процессам, которые запущены в виртуальной среде приложения.

Server App-V: Объекты COM, DCOM и COM+, провайдеры WMI (Windows Management Instrumentation) и службы, входящие в пакет виртуального приложения доступны в локальной системе, чтобы ОС, инструменты и другие приложения могли взаимодействовать с ними. Например, диспетчер управления службами (Service Control Manager) можно использовать для запуска службы, входящей в пакет виртуального приложения.

App-V: Объекты COM, DCOM и COM+ и информация служб, связанная с пакетом виртуального приложения, ограничена пакетом и не доступны всем процессам, выполняющимся за пределами пакета. Например, диспетчер управления службами «не видит» службы, выполняющиеся в виртуальной среде.

Server App-V: Для автоматического определения, какие процессы компьютера должны выполняться в виртуальных средах, компонент Server App-V Agent использует евристику. Обычно никакой прослойки запуска не нужно. Чтобы явно добавить процесс в виртуальную среду, нужно в конец командной строки процесса добавить RunInVE:<GUID_идентификатор_процесса>.

App-V: Для виртуализации процесса программа App-V, такая как sfttray.exe, должна открыть этот процесс или он должен быть наследником другого виртуального процесса. Чтобы явно добавить процесс в виртуальную среду, нужно выполнить команду: sfttray.exe /exe <исполняемый_файл> /app <название_приложения>.

Для создания прикладных пакетов в Server App-V также используется специальный инструмент, который называется Server Application Virtualization Sequencer (рис. 1). Не нужно его путать с традиционным эквивалентом для App-V — Application Virtualization Sequencer. Отличие в одном слове, а разница огромная.

Для создания пакетов приложений в Server App-V используется Server Application Virtualization Sequencer

Рис. 1. Для создания пакетов приложений в Server App-V используется Server Application Virtualization Sequencer

Странно, но установочный пакет Server Application Virtualization Sequencer бывает сложно найти. Традиционный секвенсор App-V давно уже находится в пакет Microsoft Desktop Optimization, в вот Server App-V Sequencer спрятан в глубинах установочного носителя VMM. Посмотрите в папке по имени SAV — именно там вы найдете файлы установки агента Server App-V (рис. 2) вместе с командлетами для Windows PowerShell для управления им.

Установочные файлы Server App-V

Рис. 2. Установочные файлы Server App-V

Прикладные профили VMM

Как в App-V, так и в Server App-V создание пакета приложений начинается с «голой» машины. Установите на этот компьютер секвенсор, создайте новый пакет виртуальных приложений и запустите установку приложения из мастера. Пакеты многих приложений можно успешно создать прямо из установочных файлов. Другим требуется более тонкая настройка для обеспечения их правильной конфигурации.

Редактор Server Application Virtualization Sequencer заслуживает особого внимания. После упаковки приложения выберите Modify an Existing Virtual Application Package. Выберите Edit Package укажите SPRJ-файл своего пакета — после этого откроется вкладка Deployment Configuration (рис. 3).

Редактор находится на вкладке Deployment Configuration

Рис. 3. Редактор находится на вкладке Deployment Configuration

Microsoft предусмотрела в инструментах упаковки «интеллектуальные» механизмы, позволяющие этим инструментам перечислять широкий диапазон относящихся к пакету конфигураций, которые могут задаваться в процессе развертывания. Чтобы увидеть доступные конфигурации, щелкните ссылку Add Deployment Configuration Item. Введите звездочку, (*), чтобы увидеть весь набор элементов, которые можно выбрать для конфигурирования (рис. 4). Выберите элементы, которые нужно будет в дальнейшем конфигурировать и щелкните кнопку Add.

Выбор элементов для конфигурации при развертывании

Рис. 4. Выбор элементов для конфигурации при развертывании

После добавления элементов в пакет можно задать для каждого значение по умолчанию, дважды щелкнув элемент и задав свойства (рис. 5). Элементы для конфигурирования можно определить как обязательные — это решение приобретает особую важность при размещении пакетов в VMM.

Настройка свойств элементов для конфигурации при развертывании

Рис. 5. Настройка свойств элементов для конфигурации при развертывании

Процесс начинается с создания профиля приложения в консоли VMM. Профиль содержит метаданные, которые нужны VMM для управления пакетом, в том числе приложение, конфигурацию, зависимости, права и разрешения, а также любые сценарии, которые нужны для установки пакета.

И на этом этапе начинаются действительно интересные вещи. Параметры, доступ к которым вы открыли, выбрав их в элементах конфигурации развертывания в секвенсоре, теперь доступны как свойства профиля приложения VMM (рис. 6). Это обеспечивает гибкость при развертывании прикладного пакета в разных средах. Надо просто задать параметры, которые нужны на том или ином сервере. Дополнительная гибкость обеспечивается возможностью использовать переменные в формате @variablename@ для определения значений, задаваемых во время развертывания.

Элементы конфигурации развертывания становятся свойствам прикладного профиля VMM

Рис. 6. Элементы конфигурации развертывания становятся свойствам прикладного профиля VMM

Вместе всегда лучше

Сочетание VMM и Server App-V позволяет в корне изменить порядок доставки сервисов на серверах. С такими инструментами можно забыть о подготовке виртуальных машин путем простого копирования.

Автоматизированная подготовка службы VMM не делается за день. Есть значительный объем работы, который надо изначально выполнить для построения автоматических процедур и пакетов приложений, которые планируется развернуть. Результаты потраченных усилий заметны не сразу.

Более продвинутые функции VMM не для слабонервных, поэтому айтишникам, побаивающимся автоматизации, здесь делать нечего. Но если вы готовы, то эта версия VMM и Server App-V предоставляет два впечатляющих решения, которые бесспорно лучше использовать в связке.

Greg Shields

Грэг Шилдс (Greg Shields)носит звание MVP и является партнером в компании Concentrated Technology. Другие советы и подсказки Грега из рубрики «Компьютерщик на все руки» вы найдете на сайте ConcentratedTech.com.