Большинство современного IT сообщества наверняка хоть отдаленно слышали про VDI — Virtual Desktop Infrastructure.
Сегодня хотел бы поделиться своим мнением про VDI в целом и привести некоторые удачные и не очень варианты применения данной штуки для решения тех или иных задач.
Конечно же, все это сплошное субъективное мнение, подкрепленное некоторым субъективным опытом, которое не претендует на звание народной мудрости.
Итак, VDI в наше время принято называть практически любое решение, которое связано с виртуализацией рабочих мест пользователей (End-user Virtualization), хотя по факту — VDI это лишь один из подходов при виртуализации рабочих мест.
Виртуализация рабочих мест подразумевает отвязку от стандартного рабочего места на базе привычного PC и перенесение (полностью или частично) вычислительной части рабочего места в датацентр.
Это значит что пользователь, подключившись с локального устройства к инфраструктуре, работает с программами, которые по факту выполняются на сервере, а на клиентское устройство передается лишь картинка и при этом быстродействие программ не зависит напрямую от вычислительной мощности клиентского устройства, будь-то терминал (тонкий/зеро клиент), старый ПК или мобильное устройство.
Немного истории
Как ни странно, идея виртуализации рабочих мест стара как мир, однако долгое время эти решения были достаточно нишевыми и применялись в основном там, где классические ПК не получалось применить.
И в принципе, все было хорошо, однако в последние лет 10, после массового успеха серверной виртуализации, кто-то придумал толкать и эту идею в массы и тут пошло-поехало…
Немного маркетинга
Основными аргументами, которые используются при продвижении VDI используются следующие глобальные тезисы:
Номер 1 это конечно же экономия денег, т.к. отпадает необходимость регулярно обновлять и обслуживать парк персональных компьютеров, плюс экономия на электричестве
Номер 2 это так называемая повышенная ИТ безопасность за счет хранения данных в центральном хранилище и повышенном контроле доступа пользователей к корпоративной информации
Номер 3 …
Номером 3 и 4 и 5 может быть куча всего другого, в стиле «удобство работы», «гибкость» и т.п. но на самом деле все это уже неважно, т.к. первых двух как правило достаточно, потому что они могут быть представлены в виде конкретных и достаточно убедительных цифр по затратам в баксах и рискам в процентах.
С этими аргументами на самом деле сложно спорить, и все это где-то даже правда, и вроде бы никто никого не обманывает.
«Но есть один нюанс…»
Нюанс заключается в правильной реализации подобного рода проектов и что еще более важно — правильном предварительном анализе на соответствие целей проекта реальным возможностям.
Из всего вышесказанного, может показаться что я против VDI и виртуализации рабочих мест, но это не так, скорее даже совсем наоборот — я вижу в этом будущее End-User Computing-а.
Тем не менее, опыт таких проектов показывает что некоторые заказчики действительно довольны результатами и не только с точки зрения великих боссов, которые видят в основном только цифры на бумаге, но и с точки зрения ИТ специалистов и даже пользователей. При этом другая часть заказчиков испытывает значительные трудности во внедрении и эксплуатации подобных решений.
«Короче, Склифосовский!»
Итак, что я считаю наиболее важными вещами, которые стоит учитывать при планировании VDI:
- Минимальное количество пользователей, при котором все это имеет смысл — от 500
- Однотипность пользователей — если каждый пользователь хочет быть админом на своем компе, ежедневно переустанавливать винду и ставить браузер «Амиго» — это не лучший вариант;
- Ограниченный набор ПО в целевой конфигурации — будьте готовы оптимизировать свой зоопарк, если таковой имеется ;)
- Готовность ИТ инфраструктуры к переменам, оптимизация софта под многопользовательскую среду, замена старого, несовместимого и самописного ПО на более стандартные вещи — всякое «исторически так сложилось» и «это менять нельзя» здесь не подходит;
- Учитывайте каналы связи между клиентами и инфраструктурой — всегда должны быть с запасом и с учетом периферии;
- Особое внимание стоит уделить подключаемым периферийным устройствам и их совместимости в среде VDI — всякие LPT принтеры и СOM-устройства будут лишней головной болью;
Что есть хорошими вариантами для VDI:
- Новые компании с полностью новой ИТ инфраструктурой для большого количества однотипных пользователей с современным офисным ПО — идеальный вариант для VDI, т.к. можно изначально все подобрать правильно и выиграть в цене с учетом будущей поддержки;
- Большие отделы с ограниченным набором задач внутри компании — например call-центры;
- Проекты по стандартизации рабочих станций для работы с различных устройств и локаций, при частом перемещении пользователей внутри компании и за ее пределами;
- Извращенные требования ИТ безопасности;
Примеры не совсем удачных «кейсов» для VDI:
- Компании с многолетней ИТ-инфраструктурой и огромным зоопарком разнородного пользовательского ПО, которое не может быть оптимизировано или заменено по тем или иным причинам;
- Разнородность большинства пользователей и специфические требования для работы — например разработчики или инженерный состав;
- Недостаточные каналы связи для комфортной работы с VDI;
- Извращенные требования ИТ безопасности;
В случае трудностей с виртуализацией некоторых пользователей, проще оставить их на ПК/лептопах чем создавать себе проблемы путем выдумывания разного рода костылей. Лучше начать с виртуализации наиболее «типичных» групп пользователей.
Экономия, помимо того что должна быть экономной, она еще должна быть умной — если бюджет проекта требует отказаться от каких-то совсем базовых вещей в ущерб надежности и стабильности решения — лучше сократить масштабы проекта или отложить проект VDI в целом.
В статье я не учитывал специфические случаи, когда VDI применяется для виртуализации мощных рабочих станций для обработки графики и пр., там упор далеко не всегда делается на экономию — но это, как говориться, уже совсем другая история :)
Old-School компания с большим количеством пользователей и legacy ИТ + self-made п/о — еще тот геморрой в плане десктопной виртуализации ?