Принцип очень простой: нужно оставить каждому пользователю по самой простой машине с браузером, а все приложения и все данные держать в ЦОДе. Там же, в дата-центре, можно создать для каждого пользователя виртуальный рабочий стол, куда можно будет заходить по аналогу RDP.
Чтобы всё это нормально работало, нужно решение, которое будет обеспечивать наличие таких рабочих столов в облаке, доставку приложений, менеджмент данных и транспорт информации с устройств ввода-вывода до конечного пользователя. Это Citrix XenApp.
Чтобы всё это работало почти «из коробки» и раза в полтора дешевле, мы сделали очень интересное SaaS-решение в своём облаке. Но для начала пройдёмся по основным моментам, облегчающим работу IT-отдела и экономящим средства.
Удобство управления
Когда все рабочие машины, фактически, находятся в ЦОДе, ими очень легко управлять. Мы говорим о создании рабочей машины с назначенными правами и политиками, которая запускается в облаке в виде отдельного виртуального сервера для конкретных пользователей. Если нужно, например, добавить одно приложение всем инженерам компании, это делается не изменением объектов, а одной модификацией класса. По факту – парой щелчков в настройках шаблона виртуального рабочего стола. Обновления не занимают больше 20 минут и касаются сразу всех нужных рабочих станций.
Удобство поддержки
У пользователя физически установлена машина, работающая как терминал: это может быть что угодно, на чём запустится браузер – хоть Raspberri Pi, хоть «змей Горыныч» с тремя мониторами на один системник, хоть обычный офисный дешевый моноблок (что чаще всего).
Операционная система не важна: тонкий клиент запускается где угодно.
Производительность терминала пользователя не важна: даже если он работает с высоконагруженными приложениями, эта нагрузка падает на сервера ЦОДа.
Такой парк компьютеров очень просто обслуживать. Более того, вся прелесть в том, что данные пользователя тоже хранятся в ЦОДе (а не на его терминале доступа), то есть при любой поломке достаточно принести новый системник или посадить пользователя за соседний стол, чтобы полностью решить вопрос. Ещё раз: ни одна поломка железа не приведёт к потере данных, и ни одна поломка железа не потребует больше 15 минут на исправление.
Удобство доступа
К удалённому рабочему столу можно подключаться с чего угодно: с планшета, с телефона, с любого компьютера, с которого системный администратор разрешил авторизоваться в ЦОДе — в том числе, с домашнего, если это необходимо. Это означает тот простой факт, что можно работать где угодно и как угодно. Забыли ноутбук дома? Ничего страшного, всегда можно достучаться до своей привычной рабочей среды откуда угодно.
Архитектура
XenApp – это решение, входящее в группу Citrix Delivery Center (XenDesktop, XenApp, XenServer, NetScaler и Citrix Receiver), предназначенное для доставки любых приложений Windows. Это решение осуществляет виртуализацию приложений, централизацию и управление данными приложениями из центра обработки данных, плюс даёт доступ к приложению по модели «программное обеспечение как сервис» (SaaS) по запросу на любое пользовательское устройство вне зависимости от его местоположения. Для доставки приложения ранее использовался проприетарный протокол ICA, сейчас в последних версиях XenApp используется многопотоковый протокол High-Definition User Experience (благодаря ему трафик минимален).
Для того, чтобы приложение могло быть доставлено конечному клиенту, необходим или Citrix Receiver или Citrix SmartAccess. Первое – софтверное решение для предоставления удалённых рабочих столов и корпоративных приложений, установленных на площадке провайдера или, в нашем случае, в «облаке» по модели SaaS. При этом его работа не требует контроля со стороны ИТ-служб. Существуют реализации Citrix Receiver для Windows, Windows Mobile, iPhone, iPad, Android устройств, Mac OS X и Linux. Второе — web-интерфейс без загрузки клиентского ПО.
Основные принципы работы таковы:
- Пользователь соединяется с балансировщиком нагрузки или сразу напрямую одним из Citrix-узлов в ЦОДе.
- На терминальном сервере, куда подключился пользователь, создаётся рабочий стол.
- Пользователь логинится к этой виртуальной рабочей станции.
- От пользователя до узла Citrix и назад ходят только данные монитора (вниз) и данные нажатий на клавиатуру плюс передвижения мыши (вверх). То есть, по сути, это аналог RDP.
- От узла Citrix идут запросы внутри ЦОДа на базу данных, с которыми работают приложения.
Что это значит?
- Трафик между пользователем и платформой минимален.
- Приложение и его база данных не подтягивается на локальную машину, а работает на серверах ЦОДа. В то время, как решения прошлого поколения подразумевают, что если пользователь «стучится» из Омска, а ЦОД в Москве, то его ждёт неприятный сюрприз в виде медленной работы и большого трафика.
- Пользователь, фактически, подключает свой экран, клавиатуру и мышь к некоей виртуальной машине, находящейся прямо в сердце дата-центра.
- При этом транспорт данных до пользователя хорошо защищён – следовательно, один из немногих способов нарушить безопасность – это просто фотографировать экран терминала пользователя.
- Все данные находятся в дата-центре и сохраняются между сеансами там же.
- Раз данные в ЦОДе – даже при форс-мажоре в офисе данные остаются в целости, сохранности и недоступности для третьих лиц.
Наша практика показывает, что вполне реальна ситуация, когда 600 рабочими станциями клиента управляет, фактически, один сисадмин, плюс работает пара эникейщиков, решающих вопросы с железом. В качестве рабочих станций используются исключительно тонкие клиенты вместо ПК – просто коробки, к которым подключены клавиатура, мышка и монитор. В них даже нечему толком ломаться: нет жесткого диска, нет кулера, в принципе нет никаких механических вещей.
Зачем нужно «облако»?
Понятно, что пока всё вышеописанное вполне можно реализовать без «облачного» подхода, просто закупив десяток серверов. Однако понятно, что больше чем половину времени они будут работать вхолостую: ведь их использование останавливается на выходных, ночью, снижается в обед и так далее.
«Облако» даёт возможность горизонтально масштабироваться как угодно и платить только по факту использования (момент: серверов, но не лицензий). Это прямая экономия средств.
«Облако» даёт возможность не думать о масштабировании при запуске новых рабочих мест (хоть сразу целыми отделами) и повышении нагрузки на существующие.
«Облако» позволяет балансировать нагрузку между серверами.
На практике есть три варианта: в классической схеме с закупкой серверов машины просто работают, что дико неэкономно. В другом подходе можно отключать машины вручную, это также дает некоторую экономию, но все еще неудобно. В реализованном нами подходе в «облаке» КРОК можно настроить автоматическое включение-выключение серверов в соответствии с нагрузкой или расписанием. Работает это решение с использованием стандартного облачного API и встроенных механизмов по управлению Citrix-фермой.
Как это работает в связке с «облаком» КРОК?
Вы хотите иметь в «облаке» терминальные серверы. Допустим, к ним будут подключаться клиенты вашей компании. Можно выстроить график нагрузки в зависимости от времени. Например, ночью пользователей удаленных рабочих столов вообще нет. В момент пика, в 14 часов, пользователей 600. Получается, что пиковая нагрузка (пусть это 600 пользователей) требует 20 серверов, 300 пользователей – 10, а в какой-то момент хватает и одного сервера. Терминальные серверы включаются и выключаются в зависимости от количества пользователей.
Результат — экономия за счёт того, что не надо платить за время простоя серверной инфраструктуры. При этом стоимость разработки ПО для привязки Citrix к «облаку» отбивается, как правило, через 6 месяцев за счет этой экономии. Софт настраивается индивидуально для каждого заказчика. Например, можно настроить так, чтобы дополнительный сервер стартовал, когда на предыдущем осталось место только для пяти пользователей. Можно сделать так, чтобы серверы стартовали по расписанию, или можно настроить автоматическое удаление рабочего стола пользователя, если он неактивен более двух часов. Плюс любые другие пожелания заказчика.
В результате экономится до 80% средств, требовавшихся на работу серверов ранее. Плюс — IT-отдел разгружается от рутины и приводит к тому, что хаос на рабочих станциях кончился раз и навсегда.
Я думаю, что уже лет через 5-10 останется очень мало офисов, где приложения будут работать на локальных машинах.
Автор: MBerezin