Сегодня технологии виртуализации вызывают большой интерес со стороны всех участников ИТ-рынка — все больше заказчиков видят в ИТ реальный инструмент бизнеса и все меньше внимания потребители информационных услуг уделяют оборудованию и программным средствам, на которых будет выполняться интересующая их задача. ИТ-инфраструктура все чаще оценивается как единое информационное поле, позволяющее получать, структурировать, обрабатывать и хранить необходимую компании информацию. Концепции виртуализации, начавшие развиваться около 40 лет назад, стали ответом на эти требования, однако виртуализация таит в себе не только преимущества.
Первые технологии виртуализации использовались еще в мэйнфреймах IBM, затем виртуализация применялась для эмуляции унаследованных аппаратных платформ, прикладное программное обеспечение для которых еще решало возложенные на него задачи. За 40 лет виртуализация насколько плотно вошла в жизнь ИТ-специалистов, что мы даже не думаем об этом, ежедневно сталкиваясь с ней при работе с системой имен и адресов в Internet, логическими локальными дисками персонального компьютера и т.д. Однако, как и в любой технологии, методике или концепции, в виртуализации имеются как положительные, так и отрицательные аспекты.
Виртуализация позволяет концентрироваться на решении бизнес-задач, а не структурных особенностях ИТ-систем — эксплуатирующим подразделениям в идеале не надо задумываться о физической составляющей их информационной системы, так как она скрыта за виртуализационной «прослойкой», а проблемы и вопросы, связанные с настройкой, конфигурированием и поддержкой этой «прослойки», ложатся на плечи системного интегратора. Другим аргументом в пользу виртуализации является снижение совокупной стоимости владения информационной системой, например путем замены нескольких серверов, требующих значительных затрат рабочего времени администратора на конфигурирование, мониторинг и управление, более мощными серверами, на которых работает виртуальная среда, позволяющая создать множество виртуальных серверов.
Виртуализация — как на уровне вычислительных ресурсов, так и на уровне ресурсов сетей хранения данных — позволяет оптимизировать использование этих ресурсов. В виртуальной вычислительной среде проще осуществлять перераспределение процессоров или памяти между задачами, работающими в изолированных виртуальных машинах, что позволяет более рационально использовать дисковые ресурсы.
Однако можно привести и немало аргументов против виртуализации.
При внедрении технологий виртуализации возрастает сложность программно-аппаратных комплексов. Это связано с необходимостью иметь либо программные «прослойки» (как в случае с программным продуктом VMware), либо аппаратные (как в случае программно-аппаратного решения виртуализации систем хранения EMC Invista). Появление в вычислительной инфраструктуре дополнительного программного или аппаратного обеспечения требует дополнительных затрат на сопровождение и поддержку, а также способно вызвать увеличение количества потенциальных точек отказа, что в свою очередь может привести к снижению надежности всей системы и сложности отслеживания отказов.
Проблемы возникают и на этапе интеграции решений по виртуализации от различных производителей. Отсутствие каких-либо стандартов приводит к тому, что эти решения либо вообще не интегрируются (точнее, интегрируются, но ни одним из производителей не поддерживаются), либо требуют для интеграции дополнительный слой нестандартных решений, что приводит к гетерогенности всей системы в целом, снижению надежности или к необходимости построения всей инфраструктуры на решениях от одного производителя для устранения проблем несовместимости. Предположим, компания нуждается в портальном решении, которое содержит метарепозитарий, хранящийся на сервере СУБД, и слой серверов приложений. Сервер СУБД и его ресурсы уже размещены и виртуализированы на RISC-платформе, а вот на серверах приложений хотелось бы сэкономить, поэтому приобретаются недорогие Intel-серверы под управлением Red Hat 5 Linux. В результате на RISC- и Intel-серверах будут разные средства виртуализации, а интегрировать такое портальное решение с использованием сертифицированных решений производителя портального программного обеспечения будет практически невозможно.
Повышение сложности информационной инфраструктуры, увеличение критичности сбоя компонента, обеспечивающего виртуализацию, применение узкоспециализированных решений предъявляет дополнительные требования к персоналу, обеспечивающему разработку решения, внедрение этого решения в существующую информационную инфраструктуру и реализацию последующей технической поддержки. Например, ИТ-инфраструктура содержит RISC-серверы IBM System p с ОС AIX, серверы-лезвия HP на платформе Intel с ОС Red Hat 5 Linux и «обычные» Intel-серверы с Windows и Linux. На RISC-серверах IBM System p в качестве системы виртуализации используется IBM APV; на серверах-лезвиях от HP для виртуализации ввода/вывода применяется HP Virtual Connect и VMware; на остальных Intel-серверах установлен виртуализатор Xen. В этом случае ИТ-персоналу придется изучить четыре системы виртуализации, а компании — прямо или косвенно оплатить затраты на обучение персонала и содержание системы.
Среди других «подводных камней» виртуализации следует отметить возможные проблемы, связанные с технической поддержкой решений, осуществляемой производителями программного обеспечения, проблемы лицензирования и проблемы централизованного мониторинга и управления средствами виртуализации. Производители программных продуктов, как правило, осуществляют техническую поддержку своих решений только в проверенных ими средах, а работоспособность в других не гарантируется. При использовании программного продукта в среде виртуализации, не поддерживаемой производителем программного обеспечения, могут возникнуть сложности с получением реальной технической помощи. Например, имеется некое приложение в ОС Linux на виртуальной машине, реализованной VMware, и в процессе эксплуатации обнаруживается сообщение об ошибке приложения. Специалисты службы поддержки производителя приложения определяют, что причина ошибки в операционной системе, и перенаправляют запрос в службу поддержки ОС, работники которой будут утверждать, что ошибка возникает в среде виртуализации. Таким образом, путь прохождения заявки на техническую поддержку в лучшем случае, увеличивается на один этап.
Не все поставщики программного обеспечения пересматривают схемы лицензирования с учетом виртуализации, а некоторые вообще не поддерживают свои программные продукты для работы в такой среде. Если, например, политика лицензирования программного продукта привязана к вычислительной мощности сервера, то, разместив приложение в виртуальной среде, использующей только часть вычислительных ресурсов, пользователь все равно должен будет оплатить лицензии за мощность всего сервера.
В гетерогенных средах, когда приложения размещены в разных средах виртуализации, каждой такой средой приходится управлять собственным инструментом. Общей консоли на данный момент на рынке не существует, и пока имеется только один выход — механизм скриптов, что довольно сложно, трудоемко и может значительно усложнить задачи управления и мониторинга. Кроме того, возникают чисто организационные вопросы — в случае консолидации в организации приходится менять привычные схемы разделения ответственности за оборудование и программное обеспечение.
У виртуализации имеется еще одна проблема, которая пока мало кем изучалась, — речь идет о защищенности виртуальных ресурсов. Ясно, что виртуализация, внедряемая без учета политики безопасности, чревата неприятностями для компании. У этой технологии имеется ряд узких мест, например монитор виртуальных машин, от степени защиты которого может зависеть работоспособность множества критически важных приложений. Как считают аналитики Gartner, в ближайшие два года 60% виртуальных серверов будут менее защищены, чем их физические аналоги.
Александр Замятин (azamyatin@technoserv.ru) — директор департамента информационных и телекоммуникационных технологий компании «ТехноCерв А/С» (Москва).