В середине января этого года компания VMware выпустила обновленную версию своей основной платформы для виртуализации настольных ПК предприятий Horizon 8 2212 (первые две цифры обозначают год выпуска, вторые две - месяц). Среди новых функций этого решения появилась возможность Apps on Demand for published apps, которая имеет очень большое значение для крупных компаний, использующих инфраструктуру опубликованных приложений на базе ферм серверов RDSH и Citrix XenApp. Сегодня мы подробно рассмотрим эти возможности, которые позволяют компаниям существенно экономить на оборудовании и процессах по поддержанию и обслуживанию среды доставляемых приложений.
Технология App Volumes On-Demand Applications появилась еще в прошлых релизах Horizon 8 (а анонсирована она была еще в 2019 году). С помощью нее можно создавать приложения, доставляемые с помощью технологии App Volumes, которые запускаются по требованию за счет подключения виртуальных томов в реальном времени.
До недавнего времени функция On-Demand Applications позволяла не монтировать VMDK с приложениями при загрузке виртуальной машины и просто оставлять иконки приложений на рабочем столе. При клике на эти иконки происходило динамическое монтирование томов, выстраивание связей и подгрузка приложения в операционной системе. Это позволяет не тратить время на монтирование дисков при загрузке ВМ и ускорить логин пользователя.
Теперь же Apps on Demand for published apps работает и для инсталляций published app. Эта возможность теперь может использоваться и для приложений, опубликованных средствами Horizon Apps, Citrix Virtual Apps и Microsoft RDSH/terminal. В том числе и для legacy apps, которые могут доставляться на различные устройства пользователей (например, макбуки и смартфоны) только таким образом.
Основной плюс данного подхода заключается в том, что теперь можно держать включенными меньшее количество серверов, так как их можно запускать по мере возрастания нагрузки. Это позволяет отойти от концепции "always on" для ферм приложений и существенно экономить на обслуживании такой инфраструктуры.
В современных датацентрах крупных компаний присутствует большое количество приложений (и их версий), которые распределены между онпремизными и облачными локациями. Эти приложения, зачастую, доступны пользователям в рамках ферм, организованных на базе сервисов Citrix Virtual Apps (бывший продукт XenApp) и Microsoft RDSH. Они передают картинку окна приложения на десктоп пользователя таким образом, что он работает с ним, как будто оно установлено локально (при этом, например, Windows-приложение может быть доставлено на рабочий стол компьютера с macOS).
Для таких терминальных продуктов сделано множество оптимизаций с точки зрения пользовательского опыта и эффективности использования канала, но есть одна большая проблема - все эти серверы надо держать включенными, приложения установленными и обновляемыми, а администраторам приходится поддерживать всю эту огромную инфраструктуру.
Подход Apps on Demand for published apps позволяет запускать экземпляры приложений на серверах фермы по требованию только в тот момент, когда пользователь хочет получить к ним доступ.
Давайте посмотрим, как это работает. Во-первых, этот функционал построен на базе продукта App Volumes, как и прежние возможности On-Demand Applications в рамках концепции VMware, называемой Apps Everywhere. Суть ее работы та же - в момент обращения пользователя к приложению, находящемуся, например, на ферме RDSH, происходит монтирование тома с приложением к виртуальной машине узла фермы, загрузка его в память сервера и доставка пользователю по требованию в рамках только его сессии.
Новый хост фермы запускается только тогда, когда последний работающий хост достигает пороговой емкости, определенной со стороны ИТ-отдела.
Итак, сначала администратор, определяет, какие приложения из пулов/ферм будут доступны выбранным пользователям или группам:
После этого у назначенных пользователей в рабочем окружении Horizon Client на его устройстве (а это может быть и экран смартфона) появится иконки доступных приложений:
При клике на иконку приложения оно запустится на сервере для сессии этого пользователя (а если необходимо - то произойдет его предварительное монтирование к нему средствами App Volumes) и оно будет доставлено на рабочий стол, как будто оно работает локально:
Таким же образом Windows-приложения можно доставлять и на macOS-устройства:
Особенно удобен такой подход для Legacy-приложений, которые существуют только под Windows, но в которых пользователям, например, мобильным работникам, нужно работать со своих устройств (ноутбуков или телефонов), находясь не в офисе. Обратите внимание, что для каждой сессии пользователя запускается отдельный экземпляр приложения в целях изоляции и безопасности, а vmdk-диски с нужными приложениями монтируются к серверу по требованию (при запуске первого экземпляра). Это позволяет обслуживать только готовые к работе экземпляры приложений и не поддерживать кучу запущенных экземпляров под сессии пользователей.
Если требуется масштабирование инфраструктуры приложений, доступных пользователям среды VMware Horizon, то нужно просто добавить новый App Volumes Manager:
Далее нужно ассоциировать его с нужной фермой и приложения фермы будут автоматически добавлены в окружение VMware Horizon без необходимости их сканирования или установки:
Ну а потом нужно добавить пул приложений с выбранного App Volumes Manager и выбрать установленные приложения, которые будут доступны в рамках пула Published Apps:
Также на этом этапе можно задать и отображаемые имена приложений на иконках и в заголовках окон:
Ну и в завершение приведем картинку от VMware, которая описывает предлагаемые роли участников процесса Apps on Demand for published apps в контексте процессов, которые происходят в инфраструктуре опубликованных приложений:
Отдельно стоит тут упомянуть важный экономический эффект от внедрения Apps on Demand for published apps. Когда у вас есть значительное количество ферм с большим набором разных приложений и их версий, то подход Apps on Demand даст существенную экономию ресурсов серверов, так как вам не требуется держать приложение запущенным в ожидании сессии пользователя. Более того, сам vmdk-диск с этим приложением будет смонтирован только при первом обращении к нему.
Это все позволяет уменьшить число серверов и ферм, которые обслуживают инфраструктуру приложений. А это, в свою очередь, значит, что администраторам придется тратить меньше времени и сил на ее обслуживание и обновление. Ведь обновление требуется только для образов дисков vmdk, где установлены приложения, что удобно делать средствами решения App Volumes. При этом для пользователей поддерживаются операции copy/paste, открытие приложений в браузере, Component Object Model (COM)/OLE/ActiveX, а также общие ключи реестра.
Apps on Demand в решении App Volumes позволяет разделить слой операционной системы и приложений, что упрощает динамическую доставку приложений, а это, в свою очередь, отменяет необходимость обслуживания всей ИТ-среды в один момент времени - ведь ОС и приложения функционируют почти независимо друг от друга. При этом решение App Volumes универсально и обеспечивает поддержку 99% приложений, все что вам нужно - это установщик приложения в форматах EXE, MSI, ZIP или JAR (а можно использовать и portable-версии). Также можно использовать и стандартные пакеты Microsoft MSIX.
Ну и важно, что такая инфраструктура доставки приложений работает как в онпремизной, так и в облачной среде (например, Microsoft Azure Virtual Desktop), позволяя крупным компаниям строить гибридные окружения с высокой степенью автоматизации операций по обслуживанию инфраструктуры EUC (end user computing).
Технологию App Volumes вы можете опробовать самостоятельно, обратившись по этой ссылке.