Виртуализацией уже никого не удивить. Виртуализируется сегодня все: серверы, приложения, рабочие места. Однако для большинства рядовых пользователей эта технология является чем-то вроде того суслика из фильма ДМБ: «ты не видишь, я не вижу, а он есть». Однако все меняется, когда приходят они — виртуальные рабочие места, и вместо громоздкого системного блока или ноутбука на столе офисных работников появляется маленькая коробочка, т.н. тонкий клиент. Конечно, все может быть и немного по-другому, но сути это не меняет. О том, что такое виртуализация десктопов, какая она бывает, и что ждет нас в будущем, мы и поговорим.
Итак, что такое VDI (инфраструктура виртуальных рабочих столов)? Все просто: на физическом сервере разворачиваются виртуальные машины с пользовательскими либо серверными ОС, которые доступны через интернет из любой точки мира, где он есть (от 64 Кбит/с, если работу надо сделать, не считаясь с комфортом) с любого «умного» девайса. При этом для пользователя ничего не поменяется, но вот для ИТ-департамента ситуация с администрированием значительно изменится с точки зрения безопасности доступа к данным, доступности рабочих мест, простоты и стоимости обслуживания. Несмотря на сравнительно большую стоимость VDI (иногда в несколько раз) по сравнению с терминальным доступом, в случае, когда обязательным условием является изоляция рабочей среды пользователя с клиентской ОС на уровне отдельной виртуальной машины, VDI становится наиболее экономичным вариантом разворачивания новых точек и офисов вне зависимости от географии присутствия компании. При этом сохраняется вся функциональность сотрудников на местах и значительно снижается риск утечек конфиденциальной корпоративной информации за счет централизации управления рабочими данными.
VDI или терминальный доступ: критерии выбора
Основные вендоры VDI-решений активно рекламируют VDI как must have для средних и малых компаний, но, положа руку на сердце, малому и среднему бизнесу виртуальные рабочие столы не нужны по той цене, по которой они предлагаются. Даже если вдруг потребуется жесткое соблюдение политик безопасности, терминального доступа более чем достаточно. Под терминальным доступом в самом общем плане имеем ввиду удаленный доступ множества пользователей к приложениям, запущенным в рамках операционной системы сервера, общей для всех пользователей, с едиными низкоуровневыми системными процессами и т.д. Это основное отличие от VDI, где для каждого пользователя на аппаратном сервере будет развернута отдельная виртуальная машина с операционной системой и необходимыми конкретному пользователю приложениями. Также существует выгодная гибридная схема, когда пользователь подключен к серверной ОС, но 1 пользователь = 1 виртуальная машина. Это так называемый «серверный VDI», сочетающий в себе плюсы терминального решения и виртуализации десктопов.
С точки зрения экономии терминальные сервисы остаются предпочтительным вариантом. Если никаких ограничений (основная проблема терминального режима заключается в том, что это серверная ОС и многопользовательская система) работоспособности приложений нет, то компания продолжает использовать виртуальные сервисы как наиболее экономичный вариант. Какие ограничения могут быть:
- Производитель приложения говорит, что не поддерживает приложение в терминальной среде. При этом оно может работать там совершенно нормально, но если что-то произойдет, то вендор откажет в поддержке. Например, Autodesk Autocad. До определённой версии он официально не поддерживался в терминальной среде, но исправно в ней работал. Однако поддерживался Autodesk Autocad Map 3D, который в функциональном плане от обычного Autodesk Autocad почти не отличался.
- Приложения собственной разработки, написанные с отступлением от лучших практик. Например, используются недокументированные функции или вызовы, как результат – приложение «привязано» к одной конкретной версии ОС и не может быть перенесено на любую другую – клиентскую или серверную. Зачастую такие приложения никуда нельзя перенести без того, чтобы они либо не потеряли часть функций, либо вообще не перестали работать.
- Устаревшие или «доработанные напильником» приложения, которые при запуске требуют прав администратора. На локальной машине это нормальная ситуация, но в терминальном режиме каждый пользователь, запустивший такое ПО, будет работать под правами администратора, и если он решит, например, выключить сервер, так как он администратор, он это сможет сделать и все другие пользователи на этом сервере останутся без доступа к своим рабочим местам.
- Приложение работает, всех устраивает, но оно периодически вызывает падение «синего экрана». Например, если оно раз в месяц падает на личном ПК – ничего страшного. Но если оно будет работать в терминальной среде на 100 пользователей, то статистически начнет падать по 3 раза в день.
В этих 4 сценариях рекомендуется использовать виртуальные десктопы вместо терминальных сервисов.
VDI гипервизорная
Давайте оговоримся: под VDI мы рассматриваем проекты внедрения виртуализации рабочих мест у преимущественно крупного бизнеса. На чем же они строятся, и какие есть варианты?
По сути, сегодня есть всего два варианта виртуальной инфраструктуры рабочих мест (терминальный доступ и «серверный VDI», упомянутый выше, также часто используются для решения задач VDI, но за полноценный VDI мы их считать не будем): гипервизорная и контейнерная. Гипервизорная наиболее распространена, и именно к этому виду относится большинство популярных решений для виртуализации от таких производителей как Microsoft, VMware и Citrix. Причем в связи с тем, что такая модель наиболее распространена, она имеет множество отлаженных «фишек», которые недоступны в случае с «контейнерами». Например, функцию прямого подключения дополнительного GPU, часто требующегося в конструкторских и дизайнерских бюро. Подобная технология (GRID Virtual GPU) полноценно поддерживается гипервизором XenServer. Рассмотрим же ПО для обеспечения удаленного доступа к рабочим столам Citrix XenApp и XenDesktop.
На сегодня архитектурно XenApp и XenDesktop друг от друга не отличаются. Единственно, что их технически отличает – агент, который ставится на клиентскую ОС – VDI (часто именно это называют XenDesktop) или на серверную ОС – терминальный сервер (то, что подразумевается под XenApp). Однако, не нужно забывать, что в XenDesktop начиная с редакции Enterprise включены и VDI и терминальные сервисы. Раньше, до версии 7, технически это были два разных продукта – разная архитектура, консоли управления. И если пользователю система представлялась единой, то администратору было сложнее: фактически в рамках решения присутствовали и терминальные сервисы, и виртуальные десктопы, настройку каждого из них приходилось выполнять отдельно в разных местах. Сейчас в решении есть единая консоль для терминального варианта и виртуальных десктопов, единый веб-портал, где можно отслеживать состояние системы (Desktop Director), статус конкретной машины и многое другое.
Инфраструктура виртуализации десктопов Citrix работает на любом гипервизоре: XenServer, Microsoft Hyper-V, VMware ESXi, и Nutanix Acropolis. Это четыре гипервизора, где система может сама автоматически создавать виртуальные машины, удалять их, перезапускать, выключать. Соответственно, при смене гипервизора можно бесшовно перейти с одного на другой. В случае с другими гипервизорами XenDesktop будет воспринимать виртуальные машины как физические, без возможности их автоматического создания, удаления и управления.
С помощью XenDesktop фактически можно заменить рабочее место любого сотрудника. В рамках данного решения используется свой фирменный протокол передачи данных. В случае если нет возможности использовать агента, который ставиться на клиентское рабочее место, используется собственная (Citrix) реализация HTML5. Это одно из отличий от продуктов некоторых других вендоров, у которых один протокол лицензированный, второй — собственной разработки.
Даже если у кого-то из заказчиков еще остался промышленный UNIX (AIX, HP Unix, Solaris), то в рамках XenApp и XenDesktop начиная с редакции Enterprise есть возможность поставить XenApp for UNIX. Соответственно, продукты Citrix поддерживаются серверными операционными системами Windows и различными вариантами Linux. Если нужно использовать офлайновый режим работы, то есть отдельный продукт Desktop Player, который работает на Mac- и Windows-ноутбуках. Это корпоративное решение, которое не подразумевает, что конечный пользователь сам может развернуть себе виртуальную машину, это можно сделать только с помощью администратора.
При вопросе «что выбрать?» стоит исходить не из конкретного желаемого продукта, а из ограничений, накладываемых приложениями, их вариантами лицензирования, требованиями пользователей и стоимостью всего решения. XenApp в чистом виде лицензируется только как конкурентный пользователь. XenDesktop может лицензироваться и как конкурентный пользователь, и как пользователь/устройство, то есть здесь нет отдельной лицензии на пользователя и на устройство. В этом случае работает логика сервера лицензий, который выбирает, в какой вариант переключиться, чтобы было потреблено наименьшее количество лицензий при текущем использовании.
Разница в стоимости лицензии пользователь/устройство против конкурентного пользователя (XenApp и XenDesktop) приблизительно в два раза. Иногда получается, что заказчику нужен XenApp, но ему выгоднее купить XenDesktop, который продается по схеме лицензирования пользователь-устройство. Он получит необходимое ему в два раза дешевле, но при этом сможет в дальнейшем при необходимости подключить виртуальные десктопы.
VDI контейнерная и из облака
Теперь поговорим о контейнерной виртуализации. На сегодня она является экзотикой, самый известный пример такой технологии — Parallels Containers для Windows. Главное преимущество этого варианта – значительно большая по сравнению с традиционным VDI (но меньшая, чем у терминальных сервисов) плотность размещения пользователей на сервере (до 250 мест), и в некоторых случаях возможность немного сэкономить на лицензиях ПО Microsoft. Контейнерная виртуализация объединяет в себе ряд плюсов, но и ряд минусов, перешедших к ней от VDI и терминальных сервисов. До выхода Windows Server 2016 Microsoft не поддерживала контейнерные технологии вообще, и компании, внедрившие этот продукт в свою инфраструктуру, при выходе любого обновления к серверной ОС (а это десктоп серверной ОС) должны были ждать, пока Parallels проверит и даст добро на установку соответствующего обновления. Теперь, после выхода Windows Server 2016, и официальной поддержки технологии контейнеров Windows в рамках ОС ситуация может изменится.
Контейнерная технология виртуализации работает в ядре ОС (Windows Server 2008/2012), что позволяет разделять объекты ядра между контейнерами, тем самым изолируя их друг от друга. Каждый контейнер имеет свой собственный набор процессов, сессий и драйверов, а также реестр и дерево объектов ядра. При этом достигается полноценная виртуализация рабочих столов, а пользователи не замечают никакой разницы по сравнению с классическим вариантом, потому что видит десктоп серверной ОС, специальными темами «перекрашенный» в привычную ему клиентскую операционную систему. В среднем в таком варианте требуется в полтора раза меньше вычислительных ресурсов и ресурсов СХД, чем в случае гипервизора. Нельзя сказать, что этот вариант однозначно экономичнее, чем классическая VDI, но при определенных условиях экономия на вычислительной мощности серверной части может стать главной и оправдать внедрение с точки зрения бизнеса. Стоит сказать, что на сегодняшний момент это все еще не до конца признанная технология виртуализации десктопов (Microsoft до сих пор не оказывает поддержку при таком варианте VDI) и часть возможностей, доступных гипервизорной виртуализации, недоступна контейнерной.
Вот актуальные на сегодня подходы к VDI. Что же дальше? А дальше путь идет «в облака». Например, уже сегодня в VMware Horison 7 в версии Enterprise реализован запуск десктопов и приложений с помощью облачной автоматизации. Однако стоит учесть, что согласно лицензионным правилам Microsoft, на настоящий момент доставка клиентского десктопа из публичного облака запрещена. Единственное «послабление» сделано для продуктов Citrix. В начале 2016 года компании Citrix и Microsoft объявили о том, что единственным легальным вариантом будет развернутая в облаке Microsoft Azure система XenDesktop. В этом случае можно будет отдавать пользователю Windows 10 в качестве десктопа. XenDesktop уже сейчас можно развернуть «из коробки» в облачных средах Amazon Web Services, Microsoft Azure или в рамках Cloud Platform.
Пока что это лишь зачатки «включения» в продукт виртуализации облачных сред, но действительность ИТ с все возрастающим множеством «..aaS» говорит о том, что возможно появится и аббревиатура «VDI-as-a-Service». Реализуется поддержка программных продуктов конкурента, а также работа с максимальным числом ОС и ПО, как открытого, так и проприетарного. Что ждет VDI – покажет время, но очевидно, что трансформация не останавливается, становится доступнее и проще. Возможно, мы застанем те времена, когда «толстый» клиент полностью будет вытеснен тонким.
Комментарии (11)
vlreshet
11.11.2016 15:37Всё новое — хорошо забытое старое? В начале 2000х везде стояли тонкие клиенты, потом от них избавились, ибо тормозило и лагало. А теперь снова этот тренд возвращается?
sergx71
17.11.2016 13:53А он никуда и не девался. На самом деле можно исторически вернуться в ещё более далёкое прошлое и вспомнить мейнфреймы и алфавитно-цифровые терминалы. Та же самая идея – работа осуществляется на мощной машине, разделяя её ресурсы, а простые конечные устройства использовались лишь для ввода и отображения информации. Затем наступила эра ПК, и идеи удалённой работы на какое-то время отошли на второй план. Затем терминальные сервисы стали использоваться как средство решения определённых тактических задач, а сейчас они же + виртуализация десктопов позволяют говорить о переносе нагрузки в облака и переходе к использованию различных xaaS решений.
DYm00n
11.11.2016 19:59Далек от подобного, поэтому хотелось бы узнать у знающих людей. Лет 10-15 назад были тонки клиенты, как я понимаю, смысл их — тупая железка с минимальным софтом конектится к серверу, а уже на нем запускается «твоя операционка», а подобные системы, это по сути то же самое, только запускать их можно практически на любом устройстве (планшет, смартофон, малинка) и через сеть, или инет конектится в своей операционке, которая может находиться на др. континенте?
sergx71
17.11.2016 14:20В целом да – идея именно такая. Убирается зависимость от того, на какой платформе работает приложение, какое устройство у пользователя есть сейчас в руках, а также где сейчас находится этот пользователь. Если есть сеть передачи данных, есть устройство, которое может подключаться к этой сети, и есть агент для данной платформы, то пользователь может работать со своими приложениями. Сейчас даже последнее требование не является обязательным, так как есть возможность подключиться к системам, используя браузер с поддержкой HTML5.
Mako_357
Если мы говорим про десктоп, то почему ни слова про графику? Как то некомфортно работать, когда скроллинг дёрганый или любая анимация тормозит. Или я отстал от жизни?
navion
Комфорт для печатных машинок считается непозволительной роскошью, а все красивости с анимациями стараются отключать.
sergx71
Всё очень сильно зависит от тех задач, которые хотят решить с помощью решения с виртуальными десктопами или терминальными приложениями. Если основной целью внедрения является предоставление возможности сотрудникам работать по каналам с минимальным потреблением трафика, то да – вы абсолютно правы, администратор будет изыскивать все возможности, чтобы с помощью политик, твиков убрать у пользователя всё, что вызывает дополнительную нагрузку с точки зрения сетевой подсистемы. С другой стороны есть множество примеров, когда основными триггерами внедрения были – повышение безопасности решения; доступ пользователей к бизнес приложениям с любых устройств (планшеты, смартфоны, альтернативные ОС); возможность привлечения талантов из других регионов; экономия на стоимости рабочей силы и арендных платежей; необходимость предоставления доступа к тяжёлым графическим приложениям. Во всех этих случаях обеспечение комфортности работы пользователя является одной из приоритетных задач.
Мако_357 и navion – описанные вами ситуации были справедливы к системам развёртываемым несколько лет назад. Прогресс на месте не стоит
navion
Скорее у современных ОС интерфейсы стали такими медленными, что тормоза от терминала почти незаметны.
С трудом могу представить проект, где сервер набьют гридами и терадичевскими картами ради красивостей в ворде у офисных работников, а не увеличения плотности.
sergx71
Про графику сказали :) Сейчас есть различные варианты предоставления графических возможностей при удалённой работе: Терминальные приложения могут воспользоваться ресурсами графической карты установленной в сервер (если речь идёт про аппаратный сервер). В случае виртуальной машины можно использовать проброс графического ядра в ВМ, можно работать с виртуальной графической картой vGPU от NVidia или GVT-g от компании Intel. Если нагрузка со стороны графики не очень большая, то можно использовать варианты эмуляции графических карт средствами гипервизора. На стороне клиентского устройства применяются свои «хитрости» — обработка графической информации не центральным процессором, а выделенным чипом, что позволяет например на устройстве, стоимостью менее 100$, построенном на ARM процессоре, осуществлять просмотр FullHD видео. Но не следует забывать о том, в комфортность работы пользователя немалый вклад вносит протокол и доступная полоса пропускания.
navion
Это какое же устройство на чипе Teradici продают за сотню баксов?