Microsoft App-V как решение для виртуализации приложений: плюсы и минусы

Опубликовано: 16 Апреля, 2023
Microsoft App-V как решение для виртуализации приложений: плюсы и минусы

Мой коллега Марк Ван Ной имеет огромный опыт в области виртуализации приложений, о чем свидетельствует недавняя статья на нашем сайте, где он представил обзор различных технологий потоковой передачи приложений и основных игроков в игре виртуализации приложений. Зная это и попросив Марка показать нам, что есть на полке в отношении решений для виртуализации приложений, я попросил Марка «попробовать» одно из этих решений, и Марк выбрал то, с которым у него больше всего практического опыта. с: Microsoft Application Virtualization (App-V). Но прежде чем я передам микрофон Марку, который говорит, что его пошаговое руководство на самом деле не является полным учебным пособием, а предназначено в основном для того, чтобы немного облегчить жизнь людям, которые могут захотеть опробовать технологии, позвольте мне еще раз представить его, сказав, что Марк является техническим руководителем/архитектором в Университете Колорадо в Боулдере в районе Большого Денвера. Будучи универсальным специалистом в области информационных технологий, Марк преуспевает в разработке новых инструментов и услуг таким образом, чтобы его клиенты могли добиться повышения эффективности, производительности и экономии средств, сохраняя при этом ИТ-подразделение, обеспечивающее конкурентное преимущество. Для получения дополнительной информации о нем вы можете найти его на LinkedIn. Этаж теперь принадлежит Марку.

Внимательно изучите App-V

App-V от Microsoft, ранее называвшаяся Softgrid от Softricity до приобретения Microsoft в 2006 году, является одним из наиболее известных решений виртуализации приложений, которые контейнеризируют приложения. Наша организация, безусловно, считала это достаточно зрелым решением, когда мы впервые внедрили Softgrid в качестве решения для потоковой передачи приложений в 2005 году. Что может сделать App-V и должны ли компании использовать эту технологию сегодня, учитывая более 14 лет развития?

Плюсы использования App-V

Одной из наиболее привлекательных особенностей App-V является то, что он контейнеризирует приложения, тем самым изолируя их как от других приложений, так и от самой операционной системы. Это может быть чрезвычайно полезно для управления версиями приложений. Язык сценариев Python — хороший пример приложения, которое часто имеет множество версий с определенными версиями, требуемыми для конкретных дополнительных приложений. Вместо того, чтобы пытаться установить несколько версий Python и не допускать конфликтов между различными версиями, а также управлять их путями, чтобы зависимые приложения не испытывали конфликтов, App-V может контейнеризовать приложения с той версией Python, которая им нужна. Таким образом, приложения, требующие разных версий Python, могут работать рядом на одном компьютере без каких-либо конфликтов, поскольку все они имеют необходимую среду внутри своего контейнера.

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

С выпуском Windows 10 клиент App-V встроен в операционную систему для Windows 10 Enterprise и Education, поэтому для его использования больше не требуется приобретать пакет Microsoft Desktop Optimization Pack. Однако клиент App-V необходимо включить, несмотря на то, что он встроен. Простая настройка службы клиента Microsoft App-V на автоматический запуск не приведет к правильному включению встроенного клиента App-V. Клиент должен быть включен, либо запустив командлет PowerShell Enable-AppV из командной строки PowerShell, затем перезагрузив компьютер, либо настроив объект групповой политики для Конфигурация компьютера> Политики> Административные шаблоны> Система> App-V> Включить клиент App-V и установив для него значение Включено.

Секвенсор App-V является частью бесплатно загружаемого комплекта для оценки и развертывания Windows 10 (ADK). Такая высокая доступность позволяет любому опробовать приложения секвенирования в Windows 10. Установка секвенсора в среду Hyper-V упрощает использование моментальных снимков для создания высокосогласованной среды секвенирования. Поскольку в процессе секвенирования возникает достаточно много проблем с совместимостью приложений, использование ADK для проверки совместимости приложений может быть простым способом оценки технологии. Обратите внимание, однако, что с секвенсором существует проблема, начиная с версии 1703 ADK, которая препятствует запуску службы мониторинга секвенсора, если включена безопасная загрузка, даже на виртуальных машинах. Было подтверждено, что эта потенциальная проблема существует в версии ADK 1903 года.

Совместимость приложений хороша для приложений, размер которых не превышает 2 ГБ для установки. За 10 лет, в течение которых наша организация использовала App-V, нам удалось успешно секвенировать чуть более 70 уникальных приложений. В это число входят некоторые приложения, которые требуют обращения к серверу лицензий при запуске. Нам также удалось поместить некоторые приложения с зависимым ПО промежуточного слоя в отдельные контейнеры App-V, чтобы ПО промежуточного слоя можно было обновлять без необходимости обновлять зависящее от него приложение. Было достаточно упорядоченных приложений, поэтому время создания образа было заметно сокращено за счет удаления приложений из основных образов, а использование сети также сократилось.

С помощью командлетов PowerShell приложения можно полностью предварительно кэшировать в системах. Это очень полезная функция в ситуациях, когда известно, что приложение используется регулярно. Благодаря предварительному кэшированию приложения оно работает как локальная установка, в то время как операция предварительного кэширования может выполняться в нерабочее время, чтобы предотвратить сбои в работе конечных пользователей.

Минусы использования App-V

Сервер потоковой передачи App-V по-прежнему требует получения MDOP. Кроме того, серверный компонент не обновлялся с 2015 года, а секвенсор не обновлялся с Windows 10 версии 1607 в 2016 году. Похоже, что App-V не получал никаких обновлений ни для одного из своих компонентов более трех лет. Столь мало внимания к продукту создает впечатление, что Microsoft не особо привержена этой технологии.

Сервер потоковой передачи App-V может подготавливать приложения только на основе групп пользователей. Для сценариев, в которых приложения должны следовать за пользователем с компьютера Windows на компьютер Windows, эта функциональность — все, что необходимо. Для ситуаций, когда приложение должно быть привязано к конкретному компьютеру — например, для образовательных компьютерных лабораторий с несколькими пользователями — потоковый сервер в лучшем случае не подходит. SCCM имеет встроенную поддержку App-V и поддерживает развертывание приложений с помощью набора компьютеров, а также функции потоковой передачи. Если ИТ-организация уже использует SCCM, это может не быть недостатком.

К сожалению, совместимость приложений застопорилась. Совместимость приложений с App-V никогда не была отличной. Совместимость улучшалась с каждым выпуском, но выпуски значительно замедлялись. App-V по-прежнему не поддерживает драйверы секвенирования и только условно секвенирует службы. Кроме того, можно ожидать, что большие приложения, размер которых превышает 2 ГБ, не будут секвенироваться. Насколько мне известно, некоторые большие и сложные приложения, такие как ArcGIS, AutoCAD и Solidworks, не могут быть секвенированы. По крайней мере, мы никогда не секвенировали их.

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

MSIX и будущее App-V

Microsoft заявляла в различных документах и блогах, что App-V является основной технологией платформы доставки программного обеспечения MSIX, которая должна заменить устаревшую платформу MSI. В настоящее время немного неясно, как App-V вписывается в платформу MSIX. Однако после ограниченного тестирования в среде предварительного просмотра Microsoft кажется, что упаковщик MSIX может использовать некоторую часть секвенсора App-V. Мой тест 7-Zip показал, что у упаковщика MSIX была та же проблема с захватом установки программного обеспечения, что и с App-V: проводник ищет 7-Zip, когда файл щелкнут правой кнопкой мыши, не был захвачен нарушение функциональности. Если MSIX строится на основе технологии App-V, то он, скорее всего, будет иметь общие проблемы с совместимостью приложений при переупаковке, от которых страдает App-V.

Если Microsoft полностью интегрирует App-V в MSIX, перед технологией встанет другая задача: развертывание. В настоящее время для приложений MSIX требуются функции Microsoft Store. Даже если приложение подписано и локально скопировано на целевой компьютер, для конечного пользователя появится всплывающее сообщение, информирующее его о том, что для установки приложения необходимо включить неопубликованную загрузку. Неопубликованная загрузка помечена как опция разработчика, и когда она включена, появляется предупреждение о том, что неопубликованная загрузка потенциально позволяет установить вредоносное программное обеспечение. Управление загрузкой неопубликованных файлов достаточно просто сделать с помощью групповой политики для управляемых компьютеров. Для систем BYOD неопубликованная загрузка, вероятно, окажется более проблематичной, поскольку мы учим пользователей отказываться от продолжения, когда они видят предупреждение о потенциально опасном программном обеспечении. Я также подозреваю, что MSIX потребует наличие полной копии программного обеспечения, прежде чем его можно будет установить и запустить, но ничто не мешает Microsoft адаптировать свою технологию, чтобы сделать больше, чем они объявили.

С учетом того, что Microsoft Store до сих пор встречал без энтузиазма, будущее MSIX не выглядит многообещающим. Сторонние поставщики вряд ли будут изначально упаковывать свои приложения для клиентов таким образом, чтобы от клиентов требовалось включить боковую загрузку в режиме разработчика. В нынешнем виде система плохо работает с клиентами. Поэтому представляется разумным ожидать, что поставщики продолжат распространять свое программное обеспечение в формате setup.exe. Таким образом, если Microsoft перенесет все функциональные возможности и поддержку App-V в MSIX, а метод распространения программного обеспечения MSIX не сможет завоевать популярность, то MSIX может превратить App-V в безвестность вместе с ним.