Виртуализация серверов и систем хранения считается одним из условий построения эффективной инфраструктуры. К предоставлению приложений посредством терминальных служб присоединилась виртуализация рабочего стола (VMware VDI, Citrix XenDesktop). Еще один вариант — виртуализация приложений: их предоставляет сервер, но выполняются они на клиентских компьютерах.

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

ПОТОКОВОЕ ПРЕДОСТАВЛЕНИЕ ПРИЛОЖЕНИЙ

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

Рисунок 1. Microsoft SoftGrid заменяет локальную установку приложений их потоковой передачей с сервера SoftGrid аналогично видеопотоку.

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

SoftGrid — как раз такое решение виртуализации приложений, которое выпускает Microsoft. Продукт базируется на технологии компании Softricity, приобретенной Microsoft в 2006 г. На компьютерах предприятия требуется только установить клиент SoftGrid, чтобы пользователи могли обращаться к приложениям на сервере SoftGrid. Пользователь регистрируется на любом компьютере в сети, после чего сервер SoftGrid сразу же предоставляет ему доступ к разрешенным для него приложениям. Microsoft SoftGrid входит в пакет Microsoft Desktop Optimization Pack (MDOP), имеющийся в версиях для Windows XP и Windows Vista, а кроме того, работающий на терминальных серверах под управлением Windows 2000 Server и Windows Server 2003. Эта технология поддерживает и 64-разрядные системы.

SoftGrid состоит из нескольких компонентов. Во-первых, из сервера приложений Microsoft System Center Virtual Application Server (SoftGrid Application Server), на котором программные пакеты хранятся и откуда передаются на настольные компьютеры. Дополнительно сервер протоколирует, как используется программное обеспечение, и осуществляет аутентификацию пользователей. Все пакеты хранятся в собственной базе данных SQL. Системные администраторы создают программные пакеты с помощью SoftGrid Sequencer (подробнее об этом ниже).

Sequencer определяет и собирает все необходимые файлы, настройки и записи приложения в реестре, как это делается при создании программных пакетов для автоматической установки (см. Рисунок 2). На профессиональном жаргоне такие пакеты называются «файлы SFT». Выполнение программы на компьютере пользователя обеспечивает клиент SoftGrid, который предоставляет соответствующую среду (Runtime Environment) для виртуализованного приложения. Клиент работает как на настольных ПК, так и в терминальной среде. При использовании обеих технологий достаточно одного универсального пакета. Допустимо параллельное применение SoftGrid и Citrix XenApp (Presentation Server), по-скольку Citrix может взаимодействовать с пакетами SoftGrid.

Рисунок 2. SoftGrid Sequencer обеспечивает создание пакетов для потокового предоставления приложений. 

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

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

СЛОЖНОСТЬ В УПРАВЛЕНИИ

Хотя на первый взгляд SoftGrid кажется идеальным решением, на некоторые моменты следует обратить особое внимание. Новой технологией не очень-то просто управлять. Она порождает множество сложных процессов, к примеру, к ним относится создание последовательности (Sequencing) приложений. Решение еще не очень распространено, поэтому практический опыт пока не накоплен, и советов в Internet можно найти немного (см. врезку «Ресурсы Internet»). Достаточно скудно представлена и специальная литература. Администратору необходимо иметь полный контроль над инфраструктурой, ведь если какой-то из пакетов перестанет функционировать, пользователи не смогут работать. Так возникает источник общесистемного отказа (Single Point of Failure). Прежде всего, необходимо овладеть составлением сценариев и пакетированием приложений, по-скольку это основа SoftGrid.

Управление инфраструктурой еще недостаточно отлажено, в част-ности, консоль управления иногда не может установить соединение
с сервером или возникают проблемы с потоковым предоставлением приложений. На странице Internet http://www.softgrider.de системные администраторы найдут ответы на часто задаваемые вопросы, здесь же описываются наиболее распространенные проблемы и возможные способы их решения. Уже при просмотре списка вопросов становится понятно, сколько трудностей с использованием продукта существует на данный момент. Особенно часто бывает так, что после установки на новом сервере соединение с системой SoftGrid оказывается невозможным. Зачастую причина кроется в проблемах с правами доступа пользователя «Сетевая служба». Его необходимо внести в службы компонентов, а также предоставить полные права доступа к каталогам C:WindowsTemp и C:WindowsMicrosoft.NETFrameworkTemporary ASP.NET Files.

SEQUENCER

Для потокового предоставления клиенту обычных приложений в виде виртуальной среды через сервер SoftGrid системный администратор сначала создает последовательности. Необходимый для этого компонент Sequencer можно установить отдельно от сервера SoftGrid. Первый шаг при создании последовательности — планирование: нужно знать, какие изменения каждое приложение производит при обычной установке на компьютер. Изменения могут вноситься, к примеру, в программные файлы, файлы DLL, INI и, конечно, в параметры реестра. Microsoft рекомендует создавать последовательности на специальной рабочей станции, где установлены только операционная система и Sequencer.

Во время этого процесса SoftGrid следит за изменениями, которые установка приложения производит в реестре, а затем вставляет их
в пакет (см. Рисунок 3). Естественно, все другие изменения в это время недопустимы, иначе SoftGrid и их включит в пакет. Здесь кроется еще одно слабое место SoftGrid: при создании пакета администраторам необходимо четко отслеживать, что в него включать, а что нет, так как велика вероятность ошибки, из-за которой виртуальные приложения не будут работать. В идеале следует иметь образ рабочей станции для Sequencer, с помощью которого компьютер возвращался бы в исходное состояние по окончании создания последовательности для очередного приложения.

Рисунок 3. Построение последовательностей (Sequencing) основывается на предварительном и последующем сравнении эталонного образа, изменения которого контролируются программой Sequencer.

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

После подготовки рабочей станции необходимо воспроизвести Sequencer, который в SoftGrid представлен в виде файла MSI. На компьютере, после завершения инсталляции, для Sequencer создается собственная программная группа. Специальная программа-помощник помогает устанавливать приложения и создавать последовательности в виде файлов SFT. Естественно, сервер осуществляет потоковую передачу приложений, в том числе в соответствии с правилами. В результате получается в значительной степени автоматизированная инфраструктура для оптимизации рабочего стола.

Тот факт, что разные приложения выполняются в отдельных виртуальных средах, имеет как преимущества, так и недостатки. С одной стороны, сбой единственного приложения не оказывает никакого отрицательного влияния на остальные программы, но с другой, при использовании этой технологии обмен данными между двумя приложениями осуществляется либо обходными путями, либо невозможен совсем. Так, если нужно экспортировать данные из системы ERP в Excel, то традиционный способ оказывается неприменим, поскольку обе системы функционируют независимо. То, что отлично работает на стандартных рабочих станциях, здесь может создать массу проблем. Поэтому введение SoftGrid и процесс пакетирования следует тщательно планировать, особенно если необходим обмен данными между различными программами. В грядущей версии 4.5 Microsoft намерена устранить эту проблему.

ПЕРСПЕКТИВА: APPLICATION VIRTUALIZATION 4.5

Microsoft работает над версией SoftGrid 4.5 под названием Microsoft Application Virtualization. В данный момент она доступна для тестирования в виде бета-версии. Компания дополнит грядущую версию некоторыми новыми технологиями. Так, в ней появится возможность доступа из одной виртуальной среды к ресурсам другой виртуальной среды, что, как ожидается, улучшит взаимодействие между виртуальными приложениями. Кроме того, более эффективным станет использование совместно применяемых подключаемых модулей и промежуточного программного обеспечения.

Версия 4.5 будет нацелена и на поддержку филиалов: в качестве посредника для центрального сервера SoftGrid системному администратору дотаточно будет установить в филиалах подчиненные серверы SoftGrid, которым не требуются ни Active Directory, ни сервер SQL, при этом управление осуществляется через центр. Дополнительно специалисты из Рэдмонда хотят улучшить технологии создания последовательностей и ввести новые возможности управления для командной строки (см. Рисунок 4). Выпуск версии 4.5 запланирован на лето 2008 г. Интересная информация о новой версии представлена на сайтaх http://www.brianmadden.com  и http://www.softgridguru.com . Немецкая страница http://www.softgrider.de  тоже содержит множество интересных сведений, а кроме того, советы и рекомендации.

Рисунок 4. Управляющая консоль SoftGrid предназначена для управления на протяжении всего периода использования потоковых приложений.

Томас Йосс — независимый консультант по ИТ. Он является автором книг на тему сетевых Windows. техно-логий.


© AWi Verlag


Ресурсы Internet

Флэш-фильм о SoftGrid и лежащей в его основе технологии: http://www.microsoft.com/systemcenter/SoftGrid/evaluation/guidedtour.mspx.  

Разные Web-касты о SoftGrid: http://www.microsoft.com/germany/technet/webcasts.  

Обзорный Web-каст о SoftGrid: http://wm.microsoft.com/ms/austria/technetbriefingwebcasts/DesktopDeployment/Webcast2.wmv.  

Страница с полезной информацией о SoftGrid: http://www.SoftGrider.de.  

Форум немецкой группы пользователей SoftGrid: http://www.dsgug.de.  

Готовые пакеты SFT для бесплатно распространяемых приложений: http://www.sftdownloads.com.  

Блог разработчиков SoftGrid в Microsoft: http://blogs.technet.com/SoftGrid.  

Описание упомянутой в статье проблемы с доступом: http://blogs.technet.com/SoftGrid/archive/2007/11/07/SoftGrid-error-a-remoting-error-occured-error-code-0000c824.aspx.