В наиболее общем представлении под виртуализацией понимают представление физических ресурсов в форме их логических аналогов. Чаще всего для этой цели используется специальное программное обеспечение, которое позволяет, например, разделить один физический компьютер на множество изолированных сред выполнения программ. Можно трактовать виртуализацию еще проще — это технология, позволяющая использовать один компьютер там, где без нее понадобилось бы несколько.
На рубеже нынешнего века появились программные реализации средств виртуализации для наиболее массовых процессоров семейства x86, до недавнего времени не имевшие специальной аппаратной поддержки виртуализации, но имевшие некоторые особенности архитектуры, затрудняющие ее программную эмуляцию. Это вызвало волну интереса к технологиям виртуализации, но уже гораздо ближе к конечному пользователю.
Основные технологии виртуализации
На рис. 1 представлены схемы поддержки двух основных технологий виртуализации — гипервизор и контейнеры (виртуализация ОС), отличающиеся уровнем, на котором происходит виртуализация. Гипервизор работает на уровне оборудования, создавая набор виртуальных машин (virtual machine, VM) с виртуальными устройствами, а виртуализация-ОС формирует операционную систему, создавая набор контейнеров, выглядящих изнутри как полноценная операционная система. Таким образом, в первом случае имеется набор виртуальных машин, каждая со своей ОС, а во втором — общее ядро и уровень виртуализации.
Сравнение этих технологий не всегда получается в пользу гипервизора:
Увеличивается число используемых ОС внутри компании. Хотя количество физических серверов уменьшилось, все еще имеется столько же гостевых ОС, как и раньше. Более того, ситуация ухудшилась — некоторые из этих виртуальных машин могут быть неактивны большую часть времени и не получать обновления автоматически, что представляет серьезную угрозу безопасности сети.
Субоптимальное управление ресурсами не очень удобно. каждая операционная система внутри VM распоряжается ими самостоятельно. Однажды выделенную для VM память потом будет сложно забрать обратно, так как нет возможности контролировать гостевую ОС. Это также сказывается на масштабируемости — невозможно отдать неиспользуемые ресурсы одной из виртуальных машин, тогда как любому контейнеру в любой момент все ресурсы потенциально доступны.
Эмуляция оборудования приводит к потере производительности. Кроме того, становится невозможной оптимизация работы драйверов высокопроизводительных устройств.
Контейнеры лучше справляются с задачами, чувствительными к производительности. Во-первых, весь ввод-вывод использует стандартный код стандартной операционной системы и драйверов, гарантированно и полностью сохраняя оптимизации, заложенные производителем и избегая лишних накладных расходов на эмуляцию виртуального оборудования. Во-вторых, переключение между разными операционными системами остается крайне тяжелой в вычислительном смысле операцией, даже при аппаратной поддержке виртуализации. Контейнеры используют единственное ядро, у них нет такой проблемы.
С другой стороны, изменения в поведении ОС в контейнере приводят к плохой применимости этого типа виртуализации в случае разработки и тестирования. Ограничения самой ОС также иногда сужают рамки применимости контейнеров, например, лимит на количество сессий в клиентских версиях Windows ограничивает и количество доступных по сети контейнеров. Наконец, использование единого ядра тоже представляет собой проблему при запуске разных ОС, — например, Linux и Windows на одном физическом сервере.
Таким образом, эти типы виртуализации имеют свои преимущества и недостатки, и оба имеют право на существование. Именно этим принципом руководствуется компания Parallels, развивая разные технологические подходы и предлагая в зависимости от бизнес-задачи соответствующее решение (см. таблицу).
Ситуация на рынке
Базовые технологии виртуализации сегодня совершенствуются, дешевеют и получают широкое распространение. Производители оборудования (Dell, IBM, HP, Fujitsu/Fujitsu Siemens) выпускают серверы со встроенным гипервизором, производители программного обеспечения (особенно производители средств резервного копирования и быстрого восстановления: Symantec, Quest, Acronis) встраивают в свои продукты поддержку технологий виртуализации. Вполне предсказуемо, что широкое распространение виртуализации (например, встроенный гипервизор в Windows Server) резко снизит доходы от базовых технологий — к примеру, компания Dell, включив встроенный гипервизор как бесплатную опцию в своих новых серверах, вызвала немалое раздражение продавцов базовых технологий; компания Citrix сделала агрессивный ценовой ход, отказавшись от принятой в индустрии политики лицензирования «за каждый процессор» (per-socket) и перейдя к политике «за сервер» (per-server). Учитывая, что для большинства практических задач виртуализации производительность лимитирована процессорными ресурсами, такая ценовая война обещает быть интересной. Следующий ход, вероятно, будет сделан Microsoft в августе этого года, когда на рынок будет выпущен гипервизор Hyper-V для Windows Server 2008.
Можно выделить три новые волны виртуализации. Первая характеризуется активным проникновением новых технологий в хостинговые корпоративные центры данных. Вторая — активным ростом спроса со стороны «обычных» пользователей, ранее не проявлявших к виртуализации интереса. Две эти волны создают условия для третьей, самой интересной — полной виртуализации всей инфраструктуры, от клиента до сервера. Если серверов во всем мире сейчас продается около 6 млн в год, то настольных систем — более 100 млн, и все эти машины в ближайшее время будут работать в виртуализированной среде. Технологии к этому уже готовы, осталось преодолеть порог осведомленности и предубеждение клиентов, например с точки зрения безопасности.
На рынке сервисов для виртуализации намечается переход от простой поддержки инсталляций первой волны и обучения персонала к полноценной системной интеграции и консалтинговым сервисам. Это обещает значительный рост прибыли. Аналитики IDC считают, что рынок сервисов практически удвоится к 2011 году, достигнув примерно 12 млрд долл. Зарабатывать на виртуализации больше всего будут те, кто находится на гребне третьей волны, предлагая полностью интегрированное решение для управления виртуализованной инфраструктурой.
Технологии и подходы Parallels
Компания Parallels изначально ориентировалась на поддержку и интеграцию широкого спектра базовых виртуализационных технологий, как собственных, так и других компаний: VMware, Microsoft, Xen. Стратегия Parallels направлена на построение интегрированной платформы управления инфраструктурой и предоставления услуг, оптимизированной под требования бизнеса. Ближайшими шагами в этом направлении является выход на рынок инфраструктуры виртуальных рабочих мест (Virtual Desktop Infrastructure, VDI). Такой рынок сформировался снизу, по запросам и требованиям реальных потребителей, и потенциально весьма большой — в разы превышает серверный рынок. Кроме того, особое место в стратегии компании занимает продвижение бизнес-модели SaaS, обеспечивающей доставку приложений пользователю по запросу. В случае модели SaaS, поддерживаемой на базе продуктов виртуализации, меняется как способ доставки программ (подписка через внешние сайты соответствующих провайдеров и через Web), так и расширяются перспективы для независимых разработчиков и провайдеров, через серверные площадки которых осуществляется доставка SaaS-приложений.
Поддержка различных технологий виртуализации в портфеле Parallels позволяет оптимизировать использование физических серверов под любые типы нагрузок. Такая стратегия позволяет «закрыть» разные потребительские сегменты. Интегрированная среда управления Parallels Infrastructure Manager позволяет расширить предложение для рынка малых и средних предприятий, хотя до сих пор принято считать, что технологии виртуализации ориентированы на крупных заказчиков и корпоративные центры данных.
Ряд поставщиков виртуальных рабочих мест предлагает продукты, характеризуемые большим количеством одновременных сессий на сервере, однако при этом могут возникнуть трудности изоляции сессий и обеспечения совместимости приложений. Лицензионная политика этих продуктов может предполагать плату за каждого работающего пользователя. Другие поставщики поддерживают решения с хорошей изоляцией (каждый пользователь получает свою виртуальную машину, нет проблем с совместимостью приложений и условия лицензирования предполагают плату за процессор), однако предусмотрена низкая плотность клиентов на сервер (примерно пять-восемь на процессорное ядро). Это приводит к повышению стоимости решения, которая может компенсироваться увеличением гибкости инфраструктуры и скорости развертывания новых сервисов. Таким образом, требуется решение, предлагающее высокую плотность, хорошую изоляцию по ресурсам и возможность использования гипервизора для тех случаев, когда важна гибкость, а не плотность клиентов. Управление всеми компонентами должно быть интегрировано, чтобы устранить необходимость в изучении нескольких непохожих продуктов от разных поставщиков. Кроме этого, политика лицензирования такого решения должна позволять даже небольшим компаниям постепенно перейти к частично или полностью виртуальной инфраструктуре.
Виртуализация, автоматизация и SaaS
Интерес компании Parallels к виртуализации был вызван появлением услуги ASP (application service providers), которая обещала произвести такую же революцию, как и появление коробочного ПО, снизившее риски разработки программ на заказ и ускорившее путь к внедрению готового решения (при этом освободив конечного пользователя от вложений в инфраструктуру и поддержку ПО и предоставив ему возможность просто платить за использование уже развернутого продукта через Сеть). Идея была хороша, но существующее тогда ПО подразумевало его монопольное использование одним потребителем, и при этом типичная загрузка сервера в корпоративном центре данных не превышала 3-5%. Из подобной ситуации было два выхода — переписывать программное обеспечение с расчетом на много потребителей или же виртуализовать среду исполнения ПО, запуская много копий на одном компьютере.
Крах рынка надолго остудил интерес к ASP, но компания Parallels уже выпустила первую версию продукта под названием Virtuozzo (сейчас Parallels Virtuozzo Containers). Вместо эмуляции оборудования и запуска поверх него многочисленных копий операционных систем, — каждая из которых распределяет виртуальные ресурсы, не имея понятия о наличии соседей, — Virtuozzo работает на уровне самой операционной системы, модифицируя распределение ресурсов и создавая изолированные «контейнеры». Программы, запускаемые в этих контейнерах, получают полный набор сервисов операционной системы и не испытывают взаимовлияния со стороны соседей. Контейнеры могут иметь разные версии пользовательского окружения, например, на одном сервере могут сосуществовать RedHat, SuSE и Debian. Вскоре аналогичная система виртуализации была включена в ОС Sun Solaris 10, под названием Solaris Zones.
С помощью Parallels Virtuozzo Containers на одном большом сервере можно запустить тысячи контейнеров, каждый из которых содержит собственную конфигурацию операционной системы и приложений. Безусловно, управлять таким количеством по сути независимых операционных систем вручную было бы очень тяжело. Именно поэтому следующим логическим шагом в стратегии Parallels стала автоматизация полного жизненного цикла ОС и приложений: развертывание, установка приложений, мониторинг производительности и системных параметров, управление конфигурацией ОС и приложений и так далее, вплоть до удаления из системы.
В дополнение к собственным технологиям автоматизации, компания приобрела технологии других компаний (Plesk, Confixx, Ensim Pro и др.), которые будут интегрированы в Parallels Open Platform — платформу, связывающую системы виртуализации и автоматизации в единую среду управления инфраструктурой. Однако, несмотря на некоторые преимущества в эффективности контейнерного решения, прогресс в разработке гипервизоров не стоит на месте. Прорывом следует считать решение Intel и AMD поддержать виртуализацию аппаратно. Это позволило Parallels в 2006 году выпустить продукт для частных пользователей Parallels Desktop для Apple Macintosh, исполняющий Windows-приложения с привычной для пользователя производительностью, а интерфейс Coherence позволил запускать эти приложения в отдельных окнах.
Вернемся к ASP — выжить смогли те провайдеры, которые нашли разумную бизнес-модель, позволяющую контролировать собственные затраты, предоставляя гарантии сервиса и своевременного обновления и поддержки ПО. Новая модель получила название SaaS (Software as a Service), и реализация подобной модели практически невозможна без автоматизации всех основных процессов. Для оптимизации применения вычислительных систем в бизнесе компания предложила систему Parallels — Optimizing Computing.
SaaS стала очередным шагом в оптимизации процесса доставки программного обеспечения к конечному пользователю, причем распространение именно согласно логике бизнеса обуславливает успех этой модели. По данным исследования, проведенного Sand Hill Group (sandhill.com), из 34 приложений, размещаемых сейчас компаниями у хостинг-провайдеров (CRM, Payroll, Human Capital mgmt, Logistics, PLM и т.д.), только девять не могут быть преобразованы к работе в рамках модели SaaS. Можно назвать ряд факторов, свидетельствующих о том, что рынок SaaS вот-вот «выстрелит».
-
Готовность пользователей к использованию SaaS значительно выше, чем кажется. По данным Saugatuck Technology, всего 15% корпораций не намерены использовать SaaS вообще. Среди крупных компаний этот показатель еще ниже — 4%. В целом, к 2012 году 70% всех компаний с числом работников свыше 100 будут использовать SaaS. По всей видимости, рост рынка в большой степени сдерживается пока недостатком предложения.
-
Основные приверженцы модели SaaS смогли завоевать доверие пользователей как с точки зрения безопасности данных, так и надежности сервиса. Основную роль в этом играет открытость — так, например, Salesforce.com открыто публикует данные по доступности серверов и скорости исполнения запросов пользователей. Подавляющее число использующих модель SaaS довольны результатами — около 85%, согласно результатам опроса 420 компаний, произведенного консалтинговой компанией Saugatuck Technology.
-
Появляются все новые платформы для SaaS-приложений, как от традиционных производителей Microsoft и IBM, так и от новых игроков ИТ-рынка Google, Amazon и Facebook.
Отличие подхода Parallels к SaaS состоит в открытости платформы и ориентированности Parallels Virtuozzo Containers на SaaS-рынок: Virtuozzo было изначально разработано именно для такой модели, содержит встроенные средства управления уровнем сервиса (SLM) и позволяет эффективно использовать серверные ресурсы. Cервис-провайдеры используют решения по виртуализации и автоматизации от Parallels для консолидации серверов, управления учетными записями электронной почты или Web-ресурсами. Кстати, более половины оборота компании приходится на продажи ПО как услуги.
Что дальше?
Дальше наблюдается то самое «разрушительное» (disruptive) шествие виртуализации в качестве инновации. Переход на полностью виртуальную инфраструктуру сотрет грани между производителями ПО и оборудования, провайдерами Internet, телефонии и других сервисов. Инфраструктура сама по себе станет широкораспространенной и общедоступной, возможно, даже бесплатной — плата будет взиматься только за сервисы (из «облака»). Если вы думаете, что пользователи никогда не согласятся хранить свои личные данные «в облаке», задумайтесь о том пути, который прошли деньги. От ракушек и золотых монет до записей в банковском компьютере. Волнует ли вас, что купюры не шуршат у вас в кармане? Конечно, нет. Байты где-то там на другом конце света и карточка для доступа к ним — это гораздо удобнее. Корпорации уже прошли большую часть этого пути и выбирают SaaS, то же будет и с обычными пользователями. Просто кто-то должен сделать «облако» удобным в решении текущих и долгосрочных задач.
Юрий Цибровский ( jt@parallels.com) — инженер-исследователь компании Parallels (Москва).
Компания Parallels
Компания Parallels (до января 2008 года SWsoft) была основана в 1999 году и сегодня насчитывает около 1 тыс. сотрудников по всему миру. Продуктами от Parallels пользуются 10 млн конечных пользователей в 125 странах.
Решение Parallels Virtuozzo Containers получило широкое распространение на рынке хостинга, где важна эффективность использования ресурсов. Parallels Desktop стало поддерживаемым производителем стандартным решением для виртуализации на платформе Apple Macintosh. Parallels Server (имеется открытая бета-версия продукта) объединяет оба подхода к виртуализации, контейнеры и гипервизоры в одном продукте, позволяя использовать их оптимальным образом и сохраняя общую систему управления виртуализованными сервисами.