Многие из вас знакомы с решением VMware App Volumes, которое предназначено для распространения готовых к использованию приложений посредством подключаемых виртуальных дисков к машинам.
В 2014 году компания VMware купила этот продукт вместе с компанией CloudVolumes, которая на тот момент выпускала решение, позволявшее распространять виртуализованные приложения VMware ThinApp в виде дисков VMDK, которые можно подцепить к виртуальным машинам, предоставляя тем самым ее пользователям доступ к данному приложению.
С тех пор продукт был существенно доработан, переименован в App Volumes и теперь является составляющей линейки продуктов VMware Horizon - средства для доставки ПК и приложений пользователям виртуальной и физической инфраструктуры.
Ключевыми особенностями решения App Volumes являются следующие функции:
Decoupling package management and delivery - позволяет владельцами приложений свободно работать с пакетами, отдельно организовывать их доставку и быстро обслуживать пользовательские запросы.
Manage the full lifecycle of an application - возможность накатывать обновления приложения просто путем репаблишинга пакета в рамках настраиваемого рабочего процесса.
Packaging once and deploying everywhere - средства для онпремизного и облачного массового развертывания приложений, которые требуют подготовки только один раз, после чего свободно раскатываются на любое число рабочих станций в рамках пулов виртуальных ПК.
Жизненный цикл распространяемого через App Volumes 4.х приложения выглядит следующим образом:
Администратор создает приложение нужной версии и сохраняет метаданные, которые отражают параметры окружения, в котором пакет создавался.
В рамках рабочего процесса App Volumes администратор убеждается, что данная версия приложения работает в разных ОС и не конфликтует с другими приложениями.
В пилотной среде происходит тестирование данной версии приложения на некотором наборе тестирующих его пользователей.
Если тестирование прошло успешно, происходит постепенная (пилот->продакшен) публикация приложений в производственной среде и назначение прав пользователям.
После выхода новых обновлений происходит списание старой версии приложения и доставка новой версии пользователю.
Таким образом, у пакета нужной версии приложения может быть один из 4 статусов:
New - пакет готов к тестированию. Те пользователи, которые подписаны на его тестирование, будут иметь возможность использовать приложение.
Tested - пользователи проверили пакет, и он готов к публикации.
Published - пакет назначен пользователям, и они могут его использовать.
Retired - пакеты, которые больше используются и не обновляются.
В декабре прошлого года компания VMware выпустила новую версию платформы Horizon 8 2111, в состав которой и вошло решение App Volumes 2111. Самой интересной функцией продукта стала возможность "Apps On Demand", то есть доставка приложений в виртуальные ПК пользователей по требованию. Анонсирована она была еще в далеком 2019 году и вот совсем недавно стала доступной в производственной среде.
Технология On-Demand Applications позволяет не монтировать VMDK с приложениями при загрузке виртуальной машины, но оставлять иконки приложений на рабочем столе. При клике на эти иконки происходит динамическое монтирование томов, выстраивание связей и подгрузка приложения в операционной системе. Это позволяет не тратить время на монтирование дисков при загрузке ВМ и ускорить логин пользователя.
Теперь в настройках пакета App Volumes появились две опции для типа доставки приложения - Classic (традиционно подключаемые приложения) и On-demand (доставляемые по запросу):
После того, как данные приложения будут назначены пользователю, в App Volumes Manager мы увидим их в списке с типом On-Demand, что означает, что при логине пользователя в его виртуальный ПК эти приложения не будут установлены изначально:
В то же время иконки данных приложений мы увидим на рабочем столе и в меню Пуск (а также в разделе поиска объектов), при этом в списке установленных приложений мы их не увидим:
После того, как пользователь запустит, например, Firefox - он будет подключен через тома App Volumes и установлен на машине пользователя, в чем можно будет убедиться в списке установленных программ:
Точно так же все будет работать и для других приложений - например, если пользователь запустит Microsoft Word, то на машине по требованию установится Microsoft Office.
Преимущество такого подхода очевидно - логин в виртуальные десктопы происходит существенно быстрее, а сама операционная система и реестр не засоряются неиспользуемыми приложениями, они не потребляют системные ресурсы, при этом десктоп всегда можно откатить в чистое состояние. Сбросить десктоп и установленные приложения можно при выходе пользователя из системы - в этом случае диски VMDK с приложениями будут просто отмонтированы от виртуальной машины, и она вернется в исходное состояние.
Таким образом, доставляемые по запросу приложения действительно On-Demand - пользователю не нужно идти в корпоративный каталог приложений или на веб-сайт, чтобы скачать их оттуда и установить. Приложения становятся доступны для использования сразу же после того, как пользователь кликает по их иконкам на рабочем столе. Да, это занимает какое-то небольшое время (нужно смонтировать диски к ВМ и подключить их в ОС), но делается это один раз, после чего пользователь уже работает с приложением как обычно, потому что оно установлено локально.