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 Remote Desktop Server Client Access License для использования на серверах удаленных рабочих столов. MDOP — это набор технологий, доступных в виде подписки для клиентов Software Assurance. Также существует модель лицензирования, которая существует для поставщиков хостинга (облачных сервисов).
Основные версии и варианты
Microsoft выпустила версию 5 App-V в конце ноября 2012 года, которая является третьим поколением крупной переработки всей платформы. Версия 5 модернизировала продукт, заменив компоненты, изначально разработанные для использования против Windows NT и Windows 2000 примерно 11 лет назад. Переработка также позволила поддерживать новые функции операционной системы и улучшения поддержки виртуализации.
Версия 4.x продукта по-прежнему широко используется и в настоящее время находится в активной поддержке. Microsoft расширила поддержку версии 4 до клиентских операционных систем Windows 8.1 и Server 2012 R2; однако некоторые из новых функций операционной системы недоступны для виртуализированных приложений, использующих App-V 4.x. Стандартной датой окончания поддержки App-V 4.x от Microsoft был июль 2015 года. [7]
Версии 3.x и 2.x, как известно, больше не используются в производстве; поддержка этих версий закончилась с приобретением Softricity корпорацией Microsoft. Версии 2.x по 4.x представляют собой продукт виртуализации приложений второго поколения.
Версии 1.x продукта не было. До выпуска SoftGrid 2.0 Softricity была известна как SoftwareWow.com . [8] SoftwareWow.com был одним из первых поставщиков облачных услуг с магазином приложений, который транслировал приложения (в основном игры) потребителям. Служба использовала собственный продукт первого поколения для предоставления программного обеспечения как услуги (SaaS). Хотя сегодня в сети мало информации о компании, [9] этот продукт предоставлял услуги потоковой передачи с очень ограниченной поддержкой виртуализации.
Ответвление App-V было выпущено Microsoft под названием Microsoft Server Application Virtualization («App-V для серверов»). [10] Эта платформа, которая поддерживает перенаправление виртуализации, но без изоляции, нацелена на доставку виртуализированных серверных нагрузок, которые не будут иметь внутриприкладных конфликтов. Продукт доступен как часть 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 Sequencer , который используется для упаковки настраиваемого приложения для виртуализированной доставки.
Microsoft Application Virtualization 5.x Client , который используется в операционной системе, используемой для запуска виртуального приложения. Существуют две формы клиента: одна для настольных операционных систем (например, Windows 7 с пакетом обновления 1 и Windows 8), а другая для серверных операционных систем, настроенных для использования в качестве серверов Remote Desktop Session Host.
Microsoft Application Virtualization Report Server — дополнительный компонент, который может собирать информацию об использовании (называемую измерениями) виртуализированных приложений.
Microsoft Application Virtualization Client Console — дополнительный компонент, который может быть доставлен в клиентские системы в качестве виртуального приложения. Обычно консоль не требуется для конечных пользователей, однако развертывание консольного приложения предоставляет пользователю дополнительный контроль над виртуальными приложениями, которые были ранее авторизованы и доставлены.
Остальная часть архитектуры 5.x зависит от используемого варианта развертывания.
Полная опция сервера App-V 5.x
Полный сервер App-V 5.x состоит из следующих дополнительных компонентов:
Microsoft Application Virtualization 5.x Management Server , используемый для определения приложений и групп подключений и назначения их группам безопасности Active Directory, содержащим списки пользователей или компьютеров, авторизованных для использования приложения. Этот сервер также распространяет сводку этой информации на несколько серверов публикации. Сервер управления реализован как веб-служба, которая хранит информацию о конфигурации в серверной базе данных. Доступ к веб-службе можно получить с помощью веб-браузера с поддержкой Silverlight или PowerShell.
Сервер публикации Microsoft Application Virtualization Publishing Server , используемый для аутентификации пользователей и компьютеров, а также для предоставления соответствующих метаданных виртуальных приложений для публикации клиенту.
Package Store , простой файловый ресурс, который будет использоваться клиентами для потоковой передачи виртуальных приложений. В некоторых случаях Package Store может быть представлен веб-сервером.
Возможность интеграции с Configuration Manager
Менеджер конфигурации состоит из следующих компонентов:
Microsoft System Center Configuration Manager Site Server , используемый для определения рабочих образов, традиционных пакетов приложений для установки, виртуальных приложений и других задач развертывания. Эти элементы также могут быть назначены коллекциям пользователей и компьютеров вместе с требованиями и зависимостями. Эта информация хранится в базе данных и доставляется через Distribution Point на клиентские машины.
Точка распространения Microsoft System Center , используемая для кэширования контента для развертывания в высокомасштабируемом решении.
Microsoft System Center Client Agent , используемый для извлечения метаданных развертывания и контента из Distribution Point, а также для реализации различных действий клиентских компонентов. С точки зрения App-V этот компонент доставляет виртуальное приложение в App-V Client.
App-V 5 требует использования System Center Configuration Manager 2012 и выше для полной поддержки функций App-V. Развертывание более старых версий или других электронных систем доставки также возможно с использованием метода развертывания виртуального msi.
Автономный режим
Клиенты App-V 5.x содержат PowerShell API, который в конечном итоге используется обоими режимами сервера, указанными выше. Иногда желательно использовать этот API непосредственно на клиенте, вручную или с помощью дополнительных инструментов, разработанных третьими лицами.
Архитектура в версиях 2.x — 4.x
Архитектура на основе 4.x имеет три основных варианта, которые также могут быть использованы. Все три варианта используют несколько общих компонентов:
Microsoft Application Virtualization 4.x Sequencer , который используется для упаковки настраиваемого приложения для виртуализированной доставки.
Клиент Microsoft Application Virtualization 4.x , который используется в операционной системе, используемой для запуска виртуального приложения. Существуют четыре формы клиента, объединенные в наборы, которые поддерживают операционные системы x86 или x64. Один набор для настольных операционных систем (таких как Windows XP и выше), а другой набор для серверных операционных систем, настроенных для использования в качестве серверов Remote Desktop Session Host.
Выделенный сервер управления App-V
Архитектура системы App-V 4.x состоит из следующих компонентов:
Microsoft Systems Center Virtual Application Management Server , который используется для определения приложений и назначения их пользователям Active Directory или группам безопасности, содержащим списки пользователей, которым разрешено использовать приложение. Сервер также выполняет проверку подлинности во время выполнения по спискам авторизованных пользователей и записывает информацию об использовании приложений (измерении) в базу данных для отчетности.
Служба Microsoft Systems Center Virtual Application Management Service , которая является веб-службой удаленного доступа .NET, управляет запросами клиентов для приложений. Этот сервер работает совместно с Management Server для предоставления авторизованных метаданных приложений для публикации, проверки авторизованного использования и предоставления данных отчетов. Сервер также обрабатывает потоковые операции виртуализированных пакетов с использованием расширения протокола RTSP.
App-V Management Console — инструмент управления для настройки, администрирования и управления серверами 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 могут также использоваться в «автономном режиме» [11] без какой-либо из ранее описанных серверных инфраструктур. В этом случае упорядоченные пакеты доставляются с использованием внешней техники, такой как система электронной доставки программного обеспечения или ручное развертывание.
Операция
Помимо операций, связанных с операциями развертывания, виртуализация приложений App-V в основном состоит из двух компонентов — секвенсора App-V и клиента App-V .
Секвенсор App-V — это компонент, который переупаковывает приложение для виртуализации и потоковой передачи. Он анализирует приложение на предмет требуемых ему ресурсов, поддерживает настройку приложений и из этого создает пакет, содержащий исполняемые компоненты, файлы данных и параметры реестра, требуемые приложением. Формат пакета для версий 4.x и 5.x существенно отличается:
Продукт 5.x использует формат App-V, основанный на стандартных форматах сжатия с дополнительными функциями. Внутри большая часть форматирования метаданных заимствована из AppX.
Версии App-V 4.x создают пакеты, используя формат SFT [12], а также дополнительные файлы, основанные на модифицированной версии [13] спецификации Open Software Description (OSD), первоначально предложенной WC3 в 1997 году компаниями Microsoft и Marimba. [14]
Секвенсор отслеживает установку, настройку и использование файловых и реестровых ресурсов приложениями во время выполнения для определения содержимого и конфигурации пакета. Он абстрагирует информацию, специфичную для машины и пользователя, для улучшения переносимости компонентов приложения, позволяя запускать большинство приложений разными пользователями, на разном оборудовании и даже в разных операционных системах в некоторых случаях. Пакет также настроен для потоковых операций, когда части файлов могут доставляться клиентам по мере необходимости. Руководства по секвенированию приложений различаются для версий 4.x [15] и 5.x [16] .
Клиент App-V получает определения пакетов виртуальных приложений несколькими способами. При настройке на получение с сервера полной инфраструктуры App-V это происходит автоматически при входе в систему или по таймеру и инициируется клиентом App-V. Он также может отправлять инструкции через клиентский API, который используется развертываниями System Center, виртуальным msi и автономными методами. Клиентский API App-V 5.x основан на PowerShell, тогда как клиент 4.x использует фирменный интерфейс sftmime.
Получив пакет, клиент загрузит соответствующие метаданные и, возможно (в зависимости от конфигураций как пакета, так и клиента) некоторые или все компоненты пакета. Клиент разработан для использования потоковой файловой системы, которая работает во многом подобно локальной подкачке файлов. Это позволяет запускать приложение без всех файлов, присутствующих в локальном кэше. Когда приложению требуется отсутствующая часть файла, выполняется операция, называемая stream-fault, которая извлекает необходимую часть файла. Потоковое содержимое пакета кэшируется клиентом в памяти на время сеанса приложения и может быть сохранено в локальном кэше диска для будущего использования.
Настройки пользователя хранятся в самой локальной системе с помощью перенаправления, чтобы гарантировать, что кэшированная копия приложения не будет изменена. В некоторых случаях это позволяет развертывать приложения, не поддерживающие многопользовательскую среду, для использования в системах Remote Desktop Shared Host.
Возможности, характерные для версии 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 . [17]
Драйвер устройства : App-V в настоящее время не поддерживает секвенирование драйверов устройств режима ядра; таким образом, любое приложение, устанавливающее драйвер устройства, не может быть секвенировано. Единственным исключением является случай, когда драйвер устройства может быть предварительно установлен локально; в этом случае приложение секвенируется без драйвера устройства.
Ярлыки : приложения должны иметь минимум один ярлык. Если ярлыков нет, то приложение должно быть включено в набор вместе с приложением, которому это необходимо. Плагины Internet Explorer требуют специального ярлыка для запуска процесса браузера под слоем виртуализации.
Middleware : приложения Middleware могут быть неподходящими кандидатами для секвенирования, поскольку они могут быть предпосылками выполнения для нескольких приложений. С более поздними версиями App-V их можно секвенировать в отдельный пакет, с которым другие виртуальные приложения связаны с помощью функции, называемой Dynamic Suite Composition . [18]
Path hard coding : Приложение не должно иметь жестко закодированного пути к папке/файлу в самом приложении. Некоторые приложения жестко кодируют путь к файлам в своих исполняемых файлах, а не параметризуют их или не сохраняют в реестре Windows. Файлы конфигурации, заканчивающиеся на расширения, такие как ini, conf, dat и txt, являются хорошими местами для поиска специфичных для приложения настроек информации о пути, которые могут вызывать проблемы. В противном случае можно использовать оболочку для исправления приложения, где исходный код или обновление недоступны.
Автоматическое обновление : приложения с автоматическими обновлениями не должны быть упорядочены, если их механизм обновления не может быть отключен. Упорядоченные приложения иногда не обновляются. Кроме того, разрешение автоматического обновления приводит к несоответствию версии приложения.
Службы : Виртуализация служб, которые должны запускаться во время загрузки, не поддерживается. Все остальные типы служб, как правило, могут быть виртуализированы; они запускаются при запуске и завершении работы виртуального приложения или при завершении работы основного исполняемого файла приложения.
Политики лицензирования : приложения с лицензионным обеспечением, привязанным к машине, например, лицензия привязана к MAC-адресу системы или серийному номеру жесткого диска. Этот тип приложений не следует секвенировать, если активация не может быть выполнена пользователем при первом запуске секвенированного приложения вручную или с помощью скрипта.
Internet Explorer и пакеты обновлений : Microsoft не поддерживает последовательность каких-либо версий Internet Explorer.
Citrix XenApp (Ранее входил в состав «Application Streaming»/«Project Tarpon». Поддержка прекращена с Windows Server 2012. [19] Теперь также использует App-V.)
^ "Microsoft Application Virtualization 4.5 теперь доступна в бета-версии!" . Получено 13 ноября 2007 г.
^ "Microsoft Presspass - Microsoft завершает приобретение Softricity". microsoft.com . Архивировано из оригинала 2007-06-18 . Получено 2007-05-02 .
^ "RedmondMag - Microsoft Desktop Optimization Pack 2014 уже доступен" . Получено 2014-07-04 .
^ "Microsoft Presspass - Microsoft расширяет стратегию виртуализации, описывает дорожную карту продукта". microsoft.com . Получено 2007-05-02 .
^ "App-V 5.1 Security Considerations" . Получено 2015-04-18 .«App-V 5.1 не является продуктом безопасности и не предоставляет никаких гарантий безопасной среды».
^ «Поиск жизненного цикла продукта Microsoft».
^ Лор, Стив (29 июля 2002 г.). «Технологический климат мрачен, но его будущее все еще кажется светлым» . The New York Times . Получено 22 октября 2024 г.
^ "Trademarkia - Поиск товарных знаков".
^ «Виртуализация серверных приложений Microsoft».
^ «TMurgent: App-V в автономном режиме» (PDF) .
^ «Microsoft: Спецификация формата файла App-V 4.x SFT».
^ "Иллюстрированное экранное меню".
^ «Предложение об открытом описании программного обеспечения».
^ «Руководство по секвенированию App-V для App-V 4.6 SP1 — Microsoft Corporation (файл .docx)».
^ «Руководство по секвенированию для App-V 5.0 — Microsoft Corporation (файл .docx)».
^ "Руководство по секвенированию App-V - Microsoft Corporation (файл .docx)" . Получено 2018-03-13 .
^ «Как использовать динамическую композицию набора | Microsoft Docs». Technet.microsoft.com. 2016-06-16 . Получено 2018-03-13 .