Все мы не раз слышали, что технологии виртуализации и частные облака помогают консолидировать серверную инфраструктуру, создать более гибкую ИТ-среду и сохранить компании деньги.
В общем и целом все сходятся во мнении, что виртуализация – это хорошо.
Однако часто мы забываем, что виртуализация – это не панацея от всех бед. Опрос Trend Micro, в котором приняли участие 1200 компаний, имеющие в штате более 500 сотрудников, показал: в 59% случаев виртуализация серверов уже реализована, либо существует в виде пилотного проекта. Дэйв Эспри (Dave Asprey) более 10 лет посвятил виртуализации. И за это время успел поработать как с потребителями, так и с поставщиками этих услуг. Именно сейчас так важно подойти к виртуализации с неожиданной стороны и описать 10 типовых случаев, когда целесообразнее отказаться от виртуализации приложений.
И вот что получилось:
I. Нагрузка на вычислительные ресурсы статична и легко предсказуема
У вас все хорошо и все работает как часы? В этом случае проект виртуализации – это авантюра, которая может доставить вам массу проблем при минимальных положительных результатах. Единственное исключение – это случаи, когда компании «обречены» поддерживать какую-нибудь устаревшую ОС. В этом случае, конечно, следует смириться с неизбежным и начать виртуализацию.
II. Ваша модель лицензирования ПО плохо «уживается» с виртуализацией
Предположим, вы используете специализированное ПО, лицензия которого не поддерживается на виртуальной машине. Разумеется, вы можете «потихоньку» виртуализировать ПО и не сообщать вендору, однако это неудобно и во многих случаях незаконно. Вы рискуете. Кроме того, такое решение почти неизбежно влечет за собой проблемы с техподдержкой. Представьте себе, что перед каждым обращением к вендору за помощью вам придется реплицировать виртуализированную систему на физический сервер, чтобы «замести следы». Обычно легче обсудить с поставщиком ПО возможность предоставления лицензии с поддержкой виртуализации.
III. Виртуализация просто «плохо работает»
Некоторые приложения в силу разных причин плохо поддерживают виртуализацию. Поставщики ВМ работают над этим: в ближайшем будущем нам обещают появление новых технологий, которые помогут решить эту проблему. Однако в настоящее время виртуализации плохо поддаются
- приложения, активно использующие подсистему ввода-вывода (базы данных и другое ПО, требующее точной настройки);
- приложения, активно использующие дисковые ресурсы (если вы уже виртуализировали такое приложение, используйте транзитный диск (pass-through), а не виртуальный жесткий диск);
- приложения Grid или распределенные SMP-приложения, работающие по высокоскоростным соединениям;
- приложения, использующие специальные карты, для которых нет драйвера виртуализации;
- приложения, которым требуется защитный ключ;
- приложения, активно использующие графическую подсистему (особенно те, которым требуется мощная видеокарта).
IV. Недопустима рассинхронизация времени
Виртуальные машины не «сверяют часы» с физическим хостом, в связи с чем возможна некоторая рассинхронизация времени между ВМ и хостом. Если даже небольшая рассинхронизация может повлиять на работу ваших приложений, лучше поостеречься с виртуализацией. Эта проблема особенно актуальна в отраслях, требующих исключительно точной настройки времени (финансовый трейдинг, системы контроля производства и т.д.).
V. Недостаточный бюджет
Мы, кажется, совсем упустили это из виду, но виртуализация, как и любой другой проект, требует бюджета. Если вы не готовы платить за виртуализацию сегодня, не начинайте ее. Лучше вообще не внедрять, чем внедрять «наполовину»!
VI. Ваши серверы сильно загружены
Добавить гипервизор на работающий сервер – это еще не значит повысить производительность. Действительно, за последние десять лет нам удалось значительно «умерить аппетиты» на ресурсы ЦП, однако современные гипервизоры все-таки создают ощутимую нагрузку. Покупка еще одного сервера для гипервизора – это роскошь. Именно поэтому виртуализировать большинство производственных серверов могут позволить себе лишь немногие крупные компании (такие как Facebook и Google).
VII. Сложности в управлении ключами шифрования
Ключами шифрования легко управлять на физических серверах. Однако в виртуализированной среде обычные механизмы управления ключами, изначально предназначенные для физических серверов, просто не сработают. «Обходные маневры», например использование паролей или сертификатов, хранящихся на отдельных ВМ, не дают необходимого уровня защиты. Если вы собираетесь запускать защищенные приложения в виртуализированной среде, вам потребуется внедрить политику управления ключами шифрования.
VIII. При использовании кластерных приложений
Современные платформы виртуализации предлагают множество средств обеспечения высокой доступности ВМ. Однако некоторые более старые критичные бизнес-приложения также предлагают подобную функциональность. Например, если вы запустите Microsoft Cluster Services на системе с общим доступом к диску, такая конфигурация не будет работать в частном облаке, где ВМ могут динамично перемещаться между системами. Иными словами, если ваша платформа виртуализации включает функции обеспечения высокой доступности, то ваши приложения не должны иметь подобную функциональность, и наоборот.
IX. Вы хотите виртуализировать все ваши настольные системы для экономии средств
Во-первых, серверы стоят дороже, чем бюджетные настольные ПК. Во-вторых, вам все равно придется купить настольную систему (ПК, планшет или тонкий клиент), которая будет нуждаться в управлении и защите. Виртуализация настольных систем помогает защитить ваши данные и обеспечить соответствие требованиям, однако она не дает необходимой экономии.
X. Вы используете компоненты платформы виртуализации
Если ваша платформа виртуализации и гипервизоры используют Active Directory или DNS-серверы и эти серверы виртуализированы, вы попадете в замкнутый круг. А именно, вы не сможете запустить гипервизор, потому что он будет «дожидаться» служб ВМ, которые работают… на этом самом гипервизоре! И не забудьте убедиться в том, что ПО управления виртуализацией (vCenter или другое) подходит для серверов, которыми оно управляет.
Итак, вот эти 10 основных случаев, когда виртуализация приложений может доставить вам одни неприятности! Перечислим их еще раз.
- Нагрузка на вычислительные ресурсы статична и легко предсказуема
- Ваша модель лицензирования ПО плохо «уживается» с виртуальной средой
- Виртуализация просто «плохо работает»
- Недопустима рассинхронизация времени
- Недостаточный бюджет
- Ваши серверы сильно загружены
- Сложности в управлении ключами шифрования
- Кластеризованные приложения со встроенными средствами обеспечения высокой доступности
- Вы хотите виртуализировать все ваши настольные системы для экономии средств
- Вы используете компоненты платформы виртуализации
Надеемся, это небольшое исследование будет полезным и поможет избежать многих досадных ошибок!