Преимущества потоковой передачи приложений в среде TS/Citrix
Введение
В наши дни все, о чем мы слышим, — это виртуализация и потоковая передача приложений. Теперь, благодаря намерению Microsoft приобрести Softricity (если вы не знакомы с ними, не волнуйтесь, просто продолжайте читать), все потоки стали еще более актуальными, чем раньше. В этой статье я постараюсь рассказать всем новичкам в этой несколько новой технологии, что она из себя представляет и как она может ОЧЕНЬ помочь вам в мире TS/Citrix.
Должен уточнить, что я довольно много работал с Softgrid (от Softricity, http://www.softricity.com) и только с ним. Я не пробовал/не тестировал какой-либо другой инструмент, который похож на него и утверждает, что он похож/превосходит его, и поэтому не могу комментировать их.
Некоторые основные понятия
Я не собираюсь писать здесь целую книгу со всеми техническими подробностями о том, что такое потоковая передача приложений, и о том, как она работает; все они доступны в Интернете на таких сайтах, как Дуг (http://www.dabcc.com) или Брайан (http://www.brianmadden.com). Но некоторые основные идеи и информацию я могу вам дать.
Принцип работы всего этого относительно прост. На одном ПК с базовой ОС Windows (например, 2000 или XP) вы установите что-то, называемое секвенсором. Это отвечает за мониторинг системы во время установки и запуска приложения, которое вы хотите ПОСЛЕДОВАТЬ.
Например, если вы хотите секвенировать Microsoft Office, вы запускаете секвенсор, а затем установщик Microsoft Office. После локальной установки Office на этом ПК вы запустите пару приложений, таких как Word, Excel и PowerPoint. Вы закончили.
Секвенсор запишет всю эту информацию (созданные файлы, файлы, необходимые для запуска приложения, записи реестра и т. д.) в пару пакетов. Если вы хотите секвенировать другое приложение, вам следует восстановить ПК для секвенирования до исходного состояния (без приложений) и начать заново. Он очень похож (тот процесс, который я имею в виду) на Citrix Installation Manager или даже Altiris RDP при создании установочных пакетов.
Затем этот пакет (виртуализированное приложение) копируется на сервер, который фактически доставляет его клиентам (это сервер Softgrid). На клиентах вам нужен только клиент Softgrid (есть специальные для Win32 и для TS/Citrix).
Как только вы запустите приложение на клиенте (вы увидите ярлыки — если администратор настроил систему для размещения ярлыков для вас), сервер Softgrid передает (да, как потоковое видео или аудио) файлы приложения на ваш ПК и приложение. запускает.
Но здесь есть два ключевых момента: во-первых, не ВСЕ файлы отправляются на ПК; передается только то, что НЕОБХОДИМО для запуска этого конкретного приложения (поэтому, если вы запускаете только Excel, вы НЕ получаете весь офис размером 300 МБ!); во-вторых, все это происходит в «виртуальной среде». Это означает, что если вы ищете C:Program FilesMicrosoft Office или ключи реестра, такие как HKLMSoftwareMicrosoftOffice на ПК, вы их не найдете! И что самое приятное, каждое приложение может получить свою собственную «виртуальную среду». Звучит безумно? Ага.
Выгоды
Я думаю, что к настоящему времени мы все можем увидеть здесь преимущества, особенно в среде TS/Citrix. Почему? Что ж, одна из основных проблем с TS/Citrix проста для понимания и на самом деле не является ошибкой TS. TS — это просто многопользовательская рабочая станция; вы устанавливаете туда все необходимое вам программное обеспечение, и ваши пользователи им пользуются. Простой.
Но, как вы знаете, иногда они будут конфликтовать друг с другом. Это означает, что вы не сможете установить Office 2000 и Office 2003 со всеми их компонентами на один и тот же компьютер и ожидать, что все приложения будут работать правильно. А в некоторых случаях после того, как вы что-то установили на машину, что-то ломается, так как приложения не могут сосуществовать на одном ПК!
В мире TS/Citrix до сих пор применялся подход, который мы называем «разрозненностью». Я уверен, что большинство из вас уже где-то слышали этот термин, особенно если вы читали список рассылки THIN.NET. Идея проста: если у вас есть приложение, которое не нравится ни одному другому приложению, вы устанавливаете его на отдельный сервер (на два, вероятно, в целях резервирования), и когда вашим пользователям это нужно, они получают его с этого определенного набора серверов.. Звучит как хорошая идея. Ну, если у вас есть только одно такое приложение, это не очень большая проблема. Но если у вас есть сотни приложений, вы можете столкнуться с несколькими хранилищами, и тогда управление станет огромной проблемой. Вам может понадобиться несколько разных сборок для каждого типа сервера, который у вас есть в каждом бункере; не говоря уже об управлении публикацией этих приложений. Возобновление это МНОГО работы.
С таким решением, как Softgrid, поскольку приложения живут в этой «виртуальной среде», они не конфликтуют! Их файлы, ключи реестра и т. д. остаются полностью разделенными, и весь ад с DLL/реестром окончен!
Можете ли вы представить, что Office 97, Office 2000, Office XP и Office 2003 работают на одном компьютере? Все когда-либо разработанные JVM счастливо живут вместе? Звучит как магия, не так ли?
Теперь все ваши серверы могут совместно использовать общий процесс сборки (надеюсь, у вас есть какой-то автоматизированный способ добавления серверов терминалов в вашу ферму TS!), в котором нет ничего, кроме базовой ОС и клиента Softgrid! Нет необходимости устанавливать приложения ЛЮБОГО вида. Нет необходимости в силосировании! Это слишком круто.
Что ж, плохая новость заключается в том, что, как и во всем остальном в жизни, у каждой вещи есть свои ЗА и ПРОТИВ, и потоковая передача приложений с помощью Softgrid ничем не отличается. Так что же не так?
Недостатки
Ну, я хотел бы быть здесь, пишу это и не мог найти ничего неправильного. Это не относится к делу. Некоторые проблемы существуют в этом типе решения, и я кратко расскажу о некоторых из них.
Во-первых, приложения, работающие как сервисы или использующие драйверы, на сегодняшний день не работают под Softgrid. Хорошо, таких приложений может быть не так много. Но, к сожалению, если одно из ваших самых важных приложений похоже на это, вам не повезло.
Во-вторых, иногда некоторые приложения будут взаимодействовать или даже полагаться на компоненты других приложений, о которых вы даже не догадывались. Например, некоторые решения для управления документами, такие как DOCS Open, будут перехватывать запросы на открытие файла Word и отображать собственное диалоговое окно для извлечения документа Word из центральной базы данных. Он может даже добавлять кнопки, макросы, файлы и т. д. в Office, чтобы обеспечить это взаимодействие.
Это может потребовать от вас последовательности этого приложения С Office, все вместе в одном БОЛЬШОМ фрагменте. Хотя клиенту передается только то, что требуется, в некоторых случаях это может означать все. Файл размером 600 МБ, даже если он передается по локальной сети, не такой быстрый.
Итак, подводя итог, не все приложения будут работать, и в некоторых случаях вы можете столкнуться с некоторыми большими проблемами на своих серверах (что, если честно, не такая уж большая проблема, поскольку Softgrid достаточно умен, чтобы кэшировать все это, когда вы используете заявление). Кроме того, обязательным условием является глубокое знание ваших приложений (особенно внутренних, о которых вы понятия не имеете, кто их разработал).
Но…
Даже если некоторые приложения не работают, вы можете установить их локально, а все остальные получать с сервера Softgrid! Хорошо, это не так чисто и элегантно, как потоковая передача всех приложений, но вы все же можете значительно уменьшить количество имеющихся у вас бункеров, что напрямую уменьшит задачи управления и процесс восстановления сервера.
Таким образом, вы по-прежнему получаете преимущества предотвращения конфликтов и необходимости устанавливать все приложения локально. Для компаний, где требуется более одного языка, потоковая передача приложений может очень помочь, поскольку вы можете доставлять одно и то же приложение, но на разных языках, на любые серверы без каких-либо конфликтов.
Вывод
Хотя сама идея/технология на самом деле не нова, она уже созрела, и с появлением Microsoft за рулем я ожидаю, что в этой области дела пойдут намного быстрее.
Если у вас есть конфликты приложений и вы имеете дело с несколькими хранилищами, я рекомендую серьезно взглянуть на SoftGrid. Как я уже писал, он, вероятно, будет отлично работать с большинством приложений, и если это так, он сэкономит вам МНОГО времени и усилий при развертывании и управлении серверами в вашей ферме.
Единственное, что я забыл упомянуть, это цены. Ну, к сожалению, это совсем не дешево. Но теперь, когда Microsoft собирается приобрести Softricity, мы можем увидеть его встроенным в Windows 3000!
Давайте молиться.