Когда речь заходит о виртуализации, первое, что приходит на ум большинству пользователей — это виртуализированный ПК или сервер. В данном случае платформа виртуализации выступает как программа или служба, запущенная в рамках операционной системы хоста (реального компьютера), и позволяет создать виртуального гостя (виртуализированную машину).
Есть еще гипервизоры — микроядра, которые позволяют компьютеру загружаться, но не содержат в себе операционной системы. Гипервизоры требуют специального интерфейса для администрирования и взаимодействия с виртуальными машинами. Такой подход значительно укрепляет безопасность, поскольку не предусматривает наличия операционной системы хоста, нуждающейся в обслуживании и обновлении. Примеры гипервизоров — Microsoft Hyper-V Server и VMWare ESX. Бывают и исключения — например, Microsoft Hyper-V запускается в рамках ОС компьютера хоста, но все равно использует гипервизор.
Совершенно новая концепция — это виртуализация приложений. Виртуализированные приложения ведут себя так, как будто установлены на локальном компьютере, а пользователи при этом даже не догадываются, что происходит в фоне. Такие приложения требуют значительно меньше системных ресурсов (циклов процессора, оперативной памяти, дисковых операций) и регистрируются в системе по-другому, чем если бы были установлены локально. У виртуализированных приложений могут быть другие записи в реестре, а исполняемые файлы могут храниться не там, где обычно, или вообще отсутствовать на локальном компьютере.
Зачем нужны виртуализированные приложения?
Экономное потребление системных ресурсов — одна из причин, по которой используются виртуализированные приложения. Другая причина — возможность запускать две разные версии одной и той же программы одновременно (например, Excel 2007 и Excel 95). Это особенно удобно, когда старая версия используется, например, на работе, но не может быть мигрирована, или когда просто нет денег на обновление.
Еще один повод для виртуализации приложений — расширенные возможности контроля. Виртуализация позволяет с легкостью обновлять и модернизировать приложения в фоновом режиме незаметно для конечного пользователя. Техническое обслуживание приложений при этом не препятствует нормальной работе — просто при следующем подключении пользователи получают обновленную версию программы.
Для виртуализации приложений используется ряд систем, включая Citrix XenApp, Install Free, Microsoft App-V и Microsoft MED-V. В этой статье я расскажу о последних двух.
Application Virtualization (App-V) и Microsoft Enterprise Desktop Virtualization (MED-V)
Microsoft App-V выстраивает программы, подлежащие виртуализации, в очередь на модельной системе, а затем распространяет по клиентским компьютерам. Это ПО позволяет виртуализировать приложения в Windows XP, Windows Vista, Windows Server 2003, Windows Server 2008 (включая версии Terminal Server) и будет совместимо с Windows 7.
Распространение виртуализированных приложений осуществляется посредством инфраструктуры App-V или Microsoft System Center Configuration Manager 2007 R2.
Чтобы приложение могло быть виртуализировано в одной из перечисленных систем, оно должно быть с ней совместимо, иначе App-V работать не будет. В таком случае можно воспользоваться Microsoft Enterprise Desktop Virtualization (MED-V). В отличие от App-V, MED-V сочетает все преимущества виртуализации приложений с виртуализацией компьютеров.
К примеру, если приложение работает только в Windows Server 2000, виртуализировать его с помощью App-V для какой-нибудь другой системы не получится. Зато можно виртуализировать саму ОС — с помощью Virtual PC, Virtual Server, Hyper-V или VMware. MED-V позволяет запустить приложение Windows 2000 в изолированной среде на виртуальной машине с помощью Virtual PC. Поскольку Virtual PC представляет собой простое приложение или службу, работающую в рамках операционной системы, запустить виртуальную копию этого приложения в неподдерживаемой ОС с помощью MED-V не составляет труда!
А вы пользуетесь виртуализацией приложений? Изменило ли это вашу привычную рабочую среду? Какие аспекты конкретных сценариев виртуализации вам не понятны?