Microsoft App-V - Microsoft App-V

Логотип Microsoft Application Virtualization

Виртуализация приложений Microsoft (также известен как App-V;[1] раньше Softricity SoftGrid)[2] является виртуализация приложений и потоковая передача приложений решение от Microsoft. Первоначально он был разработан Softricity, компанией, базирующейся в Бостон, Массачусетс, приобретена Microsoft 17 июля 2006 г.[3] App-V представляет собой выход Microsoft на рынок виртуализации приложений наряду с другими их технологиями виртуализации, такими как Hyper-V, Виртуализация пользовательской среды Microsoft (UE-V),[4] Службы удаленных рабочих столов, и Диспетчер виртуальных машин System Center.[5]

Обзор

App-V позволяет развертывать («передавать») приложения в реальном времени любому клиенту с виртуального сервера приложений. Это устраняет необходимость в традиционной локальной установке приложений, хотя также поддерживается автономный метод развертывания. При реализации на основе потоковой передачи клиент App-V должен быть установлен на клиентских машинах, а данные приложения, которые хранятся на сервере виртуальных приложений, устанавливаются (передаются в потоковом режиме) в кэш клиента по запросу при первом использовании или предварительно -установлен в локальный кеш. Стек App-V песочницы среду выполнения, чтобы приложение не вносило изменений непосредственно в файловую систему базовой операционной системы и / или Реестр Windows, а скорее содержится в "пузыре" для конкретного приложения. Приложения App-V также изолированы друг от друга, так что разные версии одного и того же приложения могут запускаться в App-V одновременно, а взаимоисключающие приложения могут сосуществовать в одной системе. Тем не менее разделение не является границей безопасности.[6]

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

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

Microsoft App-V - это дополнительный компонент, требующий лицензирования для использования. Лицензирование предоставляется на основе пользователей и приобретается либо путем лицензирования пакета Microsoft Desktop Optimization Pack (MDOP) для использования в клиентских операционных системах, либо как часть лицензии клиентского доступа к серверу удаленных рабочих столов Microsoft для использования на серверах удаленных рабочих столов. MDOP - это набор технологий, доступных по подписке для клиентов Software Assurance. Также существует модель лицензирования, которая существует для провайдеров хостинга (облачных услуг).

Основные версии и варианты

В конце ноября 2012 года Microsoft выпустила версию 5 App-V, которая представляет собой крупный редизайн всей платформы третьего поколения. Версия 5 модернизировала продукт, заменив компоненты, изначально предназначенные для использования в Windows NT и Windows 2000 примерно 11 годами ранее. Редизайн также позволил обеспечить поддержку новых функций операционной системы и улучшения поддержки виртуализации.

Версия 4.x продукта все еще широко используется и в настоящее время активно поддерживается. Microsoft расширила поддержку на базе версии 4 до клиентских операционных систем Windows 8.1 и Server 2012 R2; однако некоторые из новых функций операционной системы недоступны для виртуализированных приложений, использующих App-V 4.x. Стандартная дата окончания поддержки Microsoft App-V 4.x - июль 2015 г.[7]

Версии 3.x и 2.x больше не используются в производственной среде; поддержка этих версий закончилась с приобретением Softricity компанией Microsoft. Версии с 2.x по 4.x представляют продукт виртуализации приложений второго поколения.

Версии продукта 1.x не было. До выпуска SoftGrid 2.0 Softricity назывался SoftwareWow!. SoftwareWow! была одним из первых поставщиков облачных услуг с магазином приложений, который транслировал приложения (в основном игры) потребителям. Служба использовала собственный продукт первого поколения для предоставления Программное обеспечение как сервис (SaaS). Хотя сегодня о компании существует мало информации в Интернете,[8] этот продукт предоставлял потоковые сервисы с очень ограниченной поддержкой виртуализации.

Ответвление App-V было выпущено Microsoft под названием Microsoft Server Application Virtualization («App-V для серверов»).[9] Эта платформа, которая поддерживает перенаправление виртуализации, но без изоляции, предназначена для доставки нагрузок виртуализированных серверов, которые не вызывают конфликтов внутри приложения. Продукт доступен как часть System Center Virtual Machine Manager и обычно используется для запуска новых экземпляров серверов по запросу.

Архитектура

Microsoft предлагает три варианта развертывания виртуальных приложений, которые влияют на используемые архитектурные компоненты:

  • Набор серверов, выделенных для App-V.
  • Интеграция с System Center Configuration Manager.
  • «Автономный» режим, в котором приложение может быть доставлено другими средствами.

Реализация этих трех вариантов развертывания различается при использовании версии 5.x или 4.x App-V. Каждый описывается отдельно.

Архитектура в версиях 5.x

У архитектуры на основе 5.x есть три основных варианта, которые можно использовать. Во всех трех вариантах используются несколько общих компонентов:

  • Секвенсор Microsoft Application Virtualization 5.x, который используется для упаковки настроенного приложения для виртуализированной доставки.
  • Клиент Microsoft Application Virtualization 5.x, который используется в операционной системе, используемой для запуска виртуального приложения. Существуют две формы клиента: одна для настольных операционных систем (например, Windows 7 с пакетом обновления 1 и Windows 8) и одна для серверных операционных систем, настроенных для использования в качестве серверов узла сеансов удаленных рабочих столов.
  • Сервер отчетов о виртуализации приложений Microsoft, необязательный компонент, который может собирать информацию об использовании (называемую измерением) виртуализированных приложений.
  • Клиентская консоль виртуализации приложений Microsoft, необязательный компонент, который может быть доставлен в клиентские системы в виде виртуального приложения. Обычно консоль не требуется для конечных пользователей, однако развертывание консольного приложения предоставляет пользователю дополнительный контроль над виртуальными приложениями, которые были ранее авторизованы и доставлены.

Остальная часть архитектуры 5.x зависит от используемого варианта развертывания.

Полный вариант сервера App-V 5.x

Сервер Full App-V 5.x состоит из следующих дополнительных компонентов:

  • Сервер управления Microsoft Application Virtualization 5.x, используется для определения приложений и групп подключения и назначения их группам безопасности Active Directory, содержащим списки пользователей или компьютеров, которым разрешено использовать приложение. Этот сервер также распространяет сводку этой информации на несколько серверов публикации. Сервер управления реализован в виде веб-службы, которая хранит информацию о конфигурации во внутренней базе данных. Доступ к веб-службе можно получить с помощью веб-браузера с поддержкой Silverlight или PowerShell.
  • Сервер публикации виртуализации приложений Microsoft, используется для аутентификации пользователей и компьютеров и доставки соответствующих метаданных виртуального приложения для публикации клиенту.
  • Магазин пакетов, простой файловый ресурс, который будет использоваться клиентами для потоковой передачи виртуальных приложений. В некоторых случаях к Хранилищу пакетов может обращаться веб-сервер.

Вариант интеграции с Configuration Manager

Configuration Manager состоит из следующих компонентов:

  • Сервер сайта Microsoft System Center Configuration Manager, используется для определения операционных образов, пакетов традиционных приложений для установки, виртуальных приложений и других задач развертывания. Эти элементы также могут быть назначены коллекциям пользователей и компьютеров вместе с требованиями и зависимостями. Эта информация хранится в базе данных и доставляется через точку распространения на клиентские машины.
  • Точка распространения Microsoft System Center, используется для кэширования содержимого для развертывания решения с высокой степенью масштабируемости.
  • Агент клиента Microsoft System Center, используется для извлечения метаданных и содержимого развертывания из точки распространения и реализации различных действий клиентских компонентов. С точки зрения App-V этот компонент доставляет виртуальное приложение клиенту App-V.

App-V 5 требует использования System Center Configuration Manager 2012 и более поздних версий для полной поддержки функций App-V. Развертывание более старыми версиями или другими системами электронной доставки также возможно с использованием метода виртуального развертывания msi.

Автономный режим

Клиенты App-V 5.x содержат API-интерфейс PowerShell, который в конечном итоге используется обоими указанными выше режимами сервера. Иногда желательно использовать этот API непосредственно у клиента, вручную или с помощью дополнительных инструментов, разработанных третьими сторонами.

Архитектура в версиях с 2.х по 4.х

У архитектуры на основе 4.x есть три основных варианта, которые также можно использовать. Во всех трех вариантах используется пара общих компонентов:

  • Секвенсор Microsoft Application Virtualization 4.x, который используется для упаковки настроенного приложения для виртуализированной доставки.
  • Клиент Microsoft Application Virtualization 4.x, который используется в операционной системе, используемой для запуска виртуального приложения. Существуют четыре формы клиента, объединенные в наборы, поддерживающие операционные системы x86 или x64. Один набор для настольных операционных систем (например, Windows XP и выше), а другой набор для серверных операционных систем, настроенных для использования в качестве серверов узла сеансов удаленного рабочего стола.

Выделенный сервер управления App-V

Архитектура системы App-V 4.x состоит из следующих компонентов:

  • Сервер управления виртуальными приложениями Microsoft Systems Center, который используется для определения приложений и назначения их пользователям Active Directory или группам безопасности, содержащим списки пользователей, которым разрешено использовать приложение. Сервер также выполняет аутентификацию во время выполнения по авторизованным спискам и записывает информацию об использовании (измерениях) приложений в базу данных для отчетов.
  • Служба управления виртуальными приложениями Microsoft Systems Center, представляющий собой веб-службу удаленного взаимодействия .NET, управляет клиентскими запросами приложений. Этот сервер работает вместе с Management Server для предоставления метаданных авторизованного приложения для публикации, проверки авторизованного использования и данных отчетов. Сервер также обрабатывает потоковые операции виртуализированных пакетов, используя расширение протокола RTSP.
  • Консоль управления App-V, инструмент управления для настройки, администрирования и управления серверами App-V. Его можно использовать для определения политик, регулирующих использование приложений. Его также можно использовать для создания, управления, обновления и репликации пакетов виртуализированных приложений.

Диспетчер конфигурации общего центра системы

В 2009 году Microsoft предложила новый способ реализации App-V с усовершенствованиями System Center Configuration Manager. Архитектура System Center Configuration Manager состоит из следующих компонентов:

  • Сервер сайта System Center Configuration Manager, служащий основным репозиторием для хранения образов системы, пакетов приложений, созданных с помощью традиционных установщиков, и виртуальных приложений.
  • Сервер распространения System Center Configuration Manager, используется для кэширования и распространения программного обеспечения на более локальном уровне.

App-V 4.x имеет прямую интеграцию с Configuration Manager 2007 SP1 по 2012 R2.

«Автономный» режим

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

Операция

Помимо операций, связанных с операциями развертывания, виртуализация приложений App-V в основном состоит из двух компонентов: Секвенсор App-V и Клиент App-V.

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

  • В продукте 5.x используется формат App-V, основанный на стандартных форматах сжатия с дополнительными функциями. Внутренне большая часть форматирования метаданных заимствована из AppX.
  • Версии App-V 4.x создают пакеты с использованием формата SFT,[11] вместе с дополнительными файлами на основе измененной версии[12] спецификации Open Software Description (OSD), первоначально предложенной для WC3 в 1997 году Microsoft и Marimba.[13]

Секвенсор отслеживает установку, настройку приложения и использование ресурсов файлов и реестра во время выполнения для определения содержимого и конфигурации пакета. Он абстрагирует информацию о машинах и пользователях для улучшения переносимости компонентов приложения, позволяя запускать большинство приложений разными пользователями, на разном оборудовании и даже в некоторых случаях в разных операционных системах. Пакет также настроен для потоковых операций, когда части файлов могут доставляться клиентам по мере необходимости. Рекомендации по секвенированию приложений для версии 4.x отличаются.[14] и 5.x[15] версии.

Клиент App-V получает определения пакетов виртуальных приложений несколькими способами. Если настроено получение от сервера инфраструктуры Full App-V, это происходит автоматически при входе в систему или по таймеру и запускается клиентом App-V. Также могут быть отправлены инструкции через клиентский API, который используется развертываниями System Center, виртуальным msi и автономными методами. Клиентский API App-V 5.x основан на PowerShell, а клиент 4.x использует собственный интерфейс sftmime.

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

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

Возможности, характерные для версии 5.x

Версия 5.x, помимо того, что была переработана, добавила ряд возможностей, ранее недоступных в версии 4.x. К ним добавлен 5.0 Service Pack 2. Они включают:

  • Поддержка дополнительных интеграций. У приложений есть много способов обеспечить интеграцию с операционной системой и оболочкой рабочего стола пользователя. Раньше только ярлыки приложений, ассоциации типов файлов и COM были доступны интеграции для предоставления пользователю нативного опыта. Версия 5.x, особенно с пакетом обновления 2 и выше, значительно расширила типы интеграции, называемые расширениями приложений в App-V. В дополнение к улучшенной поддержке ярлыков были добавлены обработчики протоколов, возможности приложений, программные клиенты, пути к приложениям и множество расширений оболочки, вспомогательные объекты браузера и интеграции Active-X. Многие из этих расширений помогают преодолеть возражения против виртуализации сложных приложений, таких как Microsoft Office и подключаемые модули для Office.
  • Размер приложения. Ограничение на размер пакета 4 ГБ снято. Для пакетов App-v 5.x не существует задокументированных ограничений.
  • Улучшенное скриптование. Зависимые компоненты, которые нельзя виртуализировать, теперь могут быть установлены локально клиентом App-V при необходимости с использованием нового интерфейса сценариев, даже если зарегистрированный пользователь не имеет прав администратора для установки программного обеспечения. Сюда входят зависимые драйверы устройств.
  • Группы подключений: Используется, когда несколько пакетов должны работать вместе в одной виртуальной среде приложения, заменяет Dynamic Suite Composition, добавленный в App-V 4.5. Основным преимуществом этого редизайна является то, что группы соединений теперь являются управляемыми объектами на уровне App-V или Configuration Manager, а не скрытыми модификациями, внесенными администратором.
  • RunVirtual: Иногда виртуальные приложения запускаются с использованием локально установленных компонентов, таких как локальный веб-браузер с использованием виртуализированных подключаемых модулей. Ранее виртуализация этих приложений вызывала проблемы у пользователей, которые уже создавали собственные ярлыки для локального компонента. С помощью RunVirtual, администратор может обеспечить виртуализацию любого запуска локального компонента.

Ограничения версии 4.x

  • Плагины Microsoft Office: Хотя можно упорядочивать плагины Microsoft Office, не рекомендуется их упорядочивать из-за многих технических проблем и проблем с использованием. Например, в ситуации, когда пользователем используется более двух подключаемых модулей, если они упорядочены по отдельности, то пользователь не может контролировать, какая последовательность подключаемых модулей запускается при открытии документа. Единственный способ решить эту проблему - создать единый или динамический набор всех подключаемых модулей.
  • Размер приложения: Если максимальный размер кэша клиента установлен как минимум на 4 ГБ (максимум может составлять 64 ГБ), то максимальный размер приложения (sft-файла), которое может транслироваться на этом компьютере, составляет 4 ГБ. Все приложения, у которых установленный размер больше или равен максимальному размеру клиента, установленному клиентом, не следует упорядочивать. Максимальный размер приложения, который Softgrid может обрабатывать, составляет 4 ГБ из-за использования FAT32 файловая система.[16]
  • Драйвер устройства: App-V в настоящее время не поддерживает последовательность драйверов устройств в режиме ядра; таким образом, ни одно приложение, устанавливающее драйвер устройства, не может быть виртуализировано. Единственное исключение - это когда драйвер устройства может быть предварительно установлен локально; в этом случае приложение запускается без драйвера устройства.
  • Ярлыки: Приложения должны иметь как минимум один ярлык. Если ярлыков нет, приложение должно быть упорядочено в наборе вместе с приложением, которому оно нужно. Для подключаемых модулей Internet Explorer требуется специальный ярлык для запуска процесса браузера на уровне виртуализации.
  • ПО промежуточного слоя: Приложения промежуточного слоя не могут быть хорошими кандидатами для секвенирования, поскольку они могут быть предварительными условиями времени выполнения для нескольких приложений. В более поздних версиях App-V их можно упорядочить в отдельный пакет, с которым связаны другие виртуальные приложения с помощью функции, называемой Динамическая композиция сюиты.[17]
  • Жесткое кодирование пути: В приложении не должно быть пути к папке / файлу жестко закодированный в самом приложении. Некоторые приложения жестко кодируют путь к файлам в своих исполняемых файлах, а не параметризуют их или не хранят в реестре Windows. Файлы конфигурации, оканчивающиеся на такие расширения, как ini, conf, dat и txt, являются хорошим местом для поиска специфичных для приложения настроек информации о пути, которые могут вызвать проблемы. В противном случае прокладка может использоваться для исправления приложения, в котором исходный код или обновление недоступны.
  • Автоматическое обновление: Приложения с автоматическими обновлениями не следует упорядочивать, если их механизм обновления не может быть отключен. Последовательные приложения иногда не обновляются. Кроме того, разрешение автообновления приводит к несоответствию версии приложения.
  • Услуги: Виртуализация служб, которые должны запускаться во время загрузки, не поддерживается. Все другие типы услуг могут быть виртуализированы; они запускаются при запуске и завершении работы виртуального приложения или при завершении работы основного исполняемого файла приложения.
  • Политика лицензирования: Приложения с принудительным лицензированием, привязанные к машине, например лицензия привязана к системе MAC-адрес или серийный номер жесткого диска. Этот тип приложения не следует секвенировать, если активация не может быть выполнена пользователем при первом запуске виртуализированного приложения вручную или с помощью сценария.
  • Internet Explorer и пакеты обновления: Microsoft не поддерживает секвенирование любой версии Internet Explorer.

Подобные технологии

Рекомендации

  1. ^ «Прощание с SoftGrid». Получено 2008-07-10.
  2. ^ «Microsoft Application Virtualization 4.5 теперь доступна в бета-версии!». Получено 2007-11-13.
  3. ^ «Microsoft Presspass - Microsoft завершила приобретение Softricity». microsoft.com. Архивировано из оригинал на 2007-06-18. Получено 2007-05-02.
  4. ^ «RedmondMag - теперь доступен пакет Microsoft Desktop Optimization Pack 2014». Получено 2014-07-04.
  5. ^ «Microsoft Presspass - Microsoft расширяет стратегию виртуализации, излагает дорожную карту продукта». microsoft.com. Получено 2007-05-02.
  6. ^ «Вопросы безопасности App-V 5.1». Получено 2015-04-18. «App-V 5.1 не является продуктом безопасности и не дает никаких гарантий безопасности среды».
  7. ^ «Поиск жизненного цикла продукта Microsoft».
  8. ^ «Trademarkia - Поиск торговых марок».
  9. ^ «Виртуализация приложений Microsoft Server».
  10. ^ "TMurgent: App-V в автономном режиме" (PDF).
  11. ^ «Microsoft: спецификация формата файла App-V 4.x SFT».
  12. ^ "OSD проиллюстрировано".
  13. ^ «Предложение по открытому описанию программного обеспечения».
  14. ^ «Руководство по созданию последовательности App-V для App-V 4.6 SP1 - Microsoft Corporation (файл .docx)».
  15. ^ «Руководство по созданию последовательности для App-V 5.0 - Microsoft Corporation (файл .docx)».
  16. ^ «Руководство по созданию последовательности App-V - корпорация Microsoft (файл .docx)». Получено 2018-03-13.
  17. ^ «Как использовать динамическую композицию набора | Microsoft Docs». Technet.microsoft.com. 2016-06-16. Получено 2018-03-13.
  18. ^ Тронд Эйрик Хааварштайн. "Long Live App-V 5 - Потоковая передача приложений мертва". Получено 2014-06-06.

дальнейшее чтение

внешняя ссылка