Виртуальная параллельность
АрхивЛегко жить, когда слова имеют понятный и неизменный смысл.
Легко жить, когда слова имеют понятный и неизменный смысл. Вот, скажем, стол - он и в Африке стол, и сто лет назад был столом, и останется столом, с какой стороной на него ни смотри. Но с каждым днем нам все меньше и меньше удается довольствоваться такой терминологической определенностью. Кажется, что еще вчера я понимал (хотя бы в нулевом приближении), что такое "компьютер" или "операционная система", - а сейчас сомневаюсь во всем.
О красивом, звучном и модном слове "виртуализация" (в том смысле, который в него вкладывают разработчики процессоров и операционных систем) "КТ" писала не один раз - но подробно подходила к делу скорее с "железной" стороны.[См. статью Сергея Озерова в "КТ" #604.] Я же чуть ли не с самого своего появления в редакции собирался рассказать о софтверной составляющей - но подходящий формат все никак не находился: тема казалось слишком технической и специальной, чтобы посвятить ей подробную статью. Так что предложение встретиться и пообщаться, пришедшее из компании Parallels, попало на благодатную почву - все же российских разработчиков ПО, которые уверенно держатся на мировом рынке с собственными технологиями и продуктами, не слишком много.[Формально Parallels зарегистрирована в Швейцарии, но разработка (R&D) ведется в России - хотя вскоре планируется открыть R&D-центр в Сиэтле.]
Именно о рынке виртуализации мы планировали поговорить с Сергеем Белоусовым, генеральным директором Parallels, но в самом начале разговора выяснилось, что рынка этого - нет.
Плюс виртуализация всей страны
Parallels Белоусова (ранее известная как Standard & Western Software, или SWsoft) прошла длинный и тернистый путь - приходилось заниматься внедрением ERP-систем в Сингапуре, нанимать и организовывать работу бангалорских программистов, вести собственные инженерные разработки и создавать свой Linux-дистрибутив (ASP Linux, который ныне развивает самостоятельная одноименная компания). Однако наибольшую известность (хоть и в не самых широких кругах) SWsoft принесла система виртуализации Virtuozzo (ныне - Parallels Virtuozzo Containers), основанная на свободном проекте OpenVZ, разрабатываемом преимущественно этой же компанией. Позволяя запускать несколько параллельно работающих виртуальных сред (контейнеров) на базе одного и того же модифицированного Linux-ядра (этот подход называется виртуализацией на уровне ОС), технология Virtuozzo довольно быстро стала очень популярной у хостинг-провайдеров, предоставляющих услуги виртуальных выделенных серверов (VPS/VDS). Впоследствии появилась версия под Windows, а также ряд других технологий, связанных с виртуализацией (в частности, Parallels Desktop for Mac).
Надо сказать, что в течение последнего года в области виртуализации возникло заметное невооруженным взглядом оживление: в прошлом октябре компания Citrix купила XenSource, разработчика популярного opensource-решения Xen (сумма сделки порядка $500 млн.); примерно тогда же Sun объявила о своем проекте xVM (основанном на Solaris-версии Xen), минувшим летом Microsoft выпустила релиз собственной системы Hyper-V, а в сентябре Red Hat объявила о покупке Qumranet (разработчика системы виртуализации KVM) за $107 млн. По данным июльского отчета IDC, Parallels вошла в пятерку крупнейших (по объемам выручки за 2007 год) разработчиков решений, связанных с виртуализацией, заняв четвертое место - после VMware, IBM и HP - и далеко оторвавшись от Microsft и Citrix/XenSource. В самой компании подчеркивают: если учитывать только виртуализацию для стандартных операционных систем (Windows/Linux/Mac OS), а не специализированные решения для мейнфреймов, то Parallels оказывается второй и напрямую конкурирует с VMware, хотя и имеет на порядок меньшие доходы.
Впрочем, как оказалось, виртуализация в стратегии Parallels не главная, хотя и важная составляющая.
- "Величайшая хитрость дьявола состоит в том, что он убедил людей, что он не существует", - цитирует Белоусов фразу из фильма "Обычные подозреваемые"[Афоризм приписывается французскому поэту Шарлю Бодлеру.], - а компания VMware в какой-то момент сделала наоборот - убедила всех в том, что рынок виртуализации существует. На самом деле, он несколько искусственный, поскольку виртуализация - это не некий "товар", а просто свойство технологий, которое должно поддерживаться другими технологиями или составлять их часть. Мы создаем ПО виртуализации сами, но оно имеет скорее второстепенное значение, - если когда-нибудь во всех нужных нам ОС будет реализована достаточно мощная виртуализация, мы сможем ее поддерживать и зарабатывать деньги именно на поддержке. Но пока этого нет: на Маках вообще нет своей нормальной виртуализации, а Hyper-V не обладает необходимыми возможностями.
Грань между виртуализацией как таковой и более высокоуровневыми сервисами, на которые Parallels делает ставку, довольно размытая. Белоусов подходит к висящей на стене его кабинета доске и начинает рисовать схему: в самом низу - core virtualization, "голый" гипервизор. "Это как двигатель от машины - использовать нельзя, можно только любоваться и рассуждать о техническом совершенстве". Чуть выше - базовые инструменты, работающие из командной строки и позволяющие создавать и настраивать виртуальные машины, выделять им ресурсы и т. д. "Пользоваться можно, но неудобно; как машина без кузова - одна ходовая часть, - продолжает Белоусов. - Это и есть собственно виртуализация, но ее обычно и не пытаются продавать: VMware раздает эту часть "псевдо-бесплатно", OpenVZ - доступна бесплатно, Microsoft тоже не собирается делать деньги на продаже Hyper-V - она продает Windows[Уже после беседы с Белоусовым Microsoft официально объявила, что Hyper-V будет доступен бесплатно.]. Все делают деньги на решениях более высокого уровня - управления инфраструктурой и автоматизации бизнес-процессов предоставления сервисов, хотя иногда называют их тем же словом "виртуализация". Но в целом мы здесь не оригинальны".
Одна из ключевых возможностей, которые дает виртуализация, - более эффективное использование информационных технологий и более простое (во многом автоматизированное) управление ими.
- Происходит консолидация ИТ-инфраструктуры: создаются большие дата-центры, в которых очень много виртуальных машин, серверов, приложений и пользователей. Ключевые слова - "очень много", - подчеркивает Белоусов. - Поэтому автоматизация приобретает все большее значение. Например, полностью автоматизировать инсталляцию физического сервера очень трудно - для этого нужно купить робота, который установит сервер в стойку, подключит к сети. А для "приобретения" нового виртуального сервера в дата-центре достаточно зайти в специальный интерфейс, выбрать конфигурацию, нужное ПО - и все. Не надо никуда звонить, что-то заказывать, с кем-то взаимодействовать. И мы позиционируем себя как компания, которая использует эти изменения в технологиях для производства инструментов автоматизации и управления инфраструктурой.
Появление технологий виртуализации приводит не только к новым возможностям, но и является важным фактором, меняющим ландшафт рынка операционных систем. Если раньше ОС заведомо была самым нижним элементом софтверного стека технологий (то есть платформой в прямом смысле слова), то сейчас ОС естественно представлять в виде "приложения", запускаемого поверх той или иной платформы виртуализации - и конкуренция возникает уже между этими платформами.
- С одной стороны, Microsoft встраивает в Windows свою систему Hyper-V, - поясняет Белоусов. - С другой стороны, VMware пытается развить собственную платформу, которая называется VMware ESX Server, - фактически компания хочет потихоньку, незаметно войти на рынок серверных операционных систем. Вы можете купить сервер, на котором стоит только VMware ESX Server, и запускать на нем так называемые virtual appliances - приложения, которые запакованы с каким-то урезанным ядром того же Linux или FreeBSD. Это по сути образ виртуальной машины, но для пользователя он выглядит как приложение. Таким образом, VMware и Microsoft вступают в противостояние: MS всячески защищает свою территорию в области Windows, им важно не терять контроль за платформой, а VMware становится ее прямым конкурентом на сервере и, возможно, скоро будет конкурентом на клиенте.
Белоусов наблюдает за схваткой со стороны: хотя его компания во многом конкурирует с VMware (и хорошо сотрудничает с Microsoft), основная "фишка" Parallels - поддержка гетерогенных систем, использующих разные платформы. "Microsoft поддерживает свою виртуализацию и средства управления, VMware - свою, а мы делаем системы, которые работают со всеми платформами. Так что нам важно, чтобы в результате не остался только один игрок", - поясняет Белоусов. Впрочем, спрогнозировать, как будут развиваться события, он не готов.
- Microsoft всегда побеждала в таких войнах. В свое время она выиграла у Apple, Novell, Netscape, фактически - у Linux (он развивается сейчас много медленнее, чем мог бы). Может ли она одолеть VMware, сказать трудно, - сейчас это уже мощная компания с оборотом в 2 млрд. долларов.
Виртуализация может привести к еще одному неожиданному удару по Microsoft - в десктопном сегменте, где корпорация, казалось бы, имеет очень прочные позиции. Наверное, вы уже догадались, что имя этому удару - Google Chrome.
Гугл, великий и ужасный
- Имея на своем десктопе гипервизор, работающий на "голом железе", вы можете запустить, например, специально подготовленный браузер от Google. И больше вам ничего не надо, - говорит Белоусов.
Поисковик номер один Сергей недолюбливает и считает очень опасной компанией, а появление у Google собственного браузера рассматривает как очередной шаг на пути к созданию собственной операционной системы, а оттуда - к мировому господству. "Есть вероятность, что в ближайшее время ими могут заинтересоваться антимонопольные органы", - говорит Сергей. Сценарий "захвата мира" выглядит примерно так:
- Для пользователя специально оптимизированный браузер, не требующий отдельной операционной системы, может оказаться очень привлекательным. Дело в том, что программное обеспечение - это такая область, в которой нет никаких чудес. Если у вас ограниченный набор приложений, то у вас маленькое количество кода, и он более надежно работает. С другой стороны, если вы хотите, чтобы браузерное приложение обладало такой же богатой функциональностью, какой обладают "обычные" приложения, и при этом работало на стандартных браузерах, у вас возникнут проблемы с безопасностью, с распределением ресурсов и т. д. Поэтому разумно развивать браузеры в определенном направлении. Google нужно иметь конкретную функциональность, чтобы конкурировать с приложениями Microsoft, и гугловцы не могут ждать, когда Firefox ее реализует.
Получив в распоряжение "браузер-ОС" и уже храня существенную часть своих данных на серверах Google, многие пользователи перейдут на веб-приложения окончательно (даже ценой "мелких неудобств") - и попадут в полную зависимость от "гигантского мейнфрейма". Главная проблема, которую Белоусов видит в этой ситуации, - полная проприетарность серверной (точнее, "облачной") части платформы. "Никакой независимый софтверный разработчик не может сотрудничать с Google, писать для них программы - гугловцы все делают сами и хотят полностью контролировать своих пользователей", - считает Сергей. Разнообразную поддержку свободного ПО, открытых стандартов и открытых API (порождающих целое семейство сторонних сервисов-машапов), на которой любит акцентировать внимание Google, Белоусов называет "отвлекающими маневрами" и не верит ни единому слову о "беззлобности" поискового гиганта.
Впрочем, несмотря на все свои опасения, Белоусов не отрицает возможность и менее фатального варианта развития событий.
Пять облаков
Чтобы описать этот оптимистичный сценарий, уже порядком запутавшись в том, чем отличается "операционная система" от "браузера" и от "гипервизора", мы вынуждены перейти к не менее запутанному терминологическому вопросу. Когда-то в моде была аббревиатура ASP - Application Service Provider (именно от него пошло название ASP Linux). Сейчас на слуху - Software as a Service (SaaS)...
- Нет, SaaS - уже не модно, - перебивает Белоусов, - сейчас нужно говорить "cloud computing". Большой разницы между тремя этими понятиями нет, но cloud computing, на мой взгляд, подразумевает не только "софт как сервис", но и поддерживающую его инфраструктуру, а также данные, которые могут составлять основу сервиса. Например, Яндекс.Пробки - это тоже cloud computing. Или хостинг, где вы можете заказать себе виртуальный сервер с готовой операционкой и поставить на нее свое приложение.
По мнению Белоусова, в ближайшее время мы столкнемся с пятью типами "облаков". Первый из них - это "облако Google", описанное выше. Далее идет Microsoft.
- По логике вещей, Microsoft должна быть более открытой - ее бизнес-модель всегда была направлена на создание партнерской сети. Есть множество компаний, которые пишут софт под Windows, обучают работе с продуктами Microsoft, внедряют их и т. д. Google ничего подобного не делает. Но хотя Microsoft и открыта, она вынуждена конкурировать с Google, и скорее всего у нее тоже будет проприетарное "облако". Следом идут "облака" крупных вендоров - IBM, Apple, HP, EMC, Adobe и пр. Четвертый тип можно описать как экосистему, состоящую из сравнительно небольших независимых разработчиков ПО (Independent Software Vendor, ISV; их обороты, по оценкам Белоусова, в данный момент составляют около 15% от оборотов всей индустрии), а также некоторого "канала доставки" приложений пользователям в условиях "облака". В качестве "канала" могут выступать телекоммуникационные и хостинговые компании. Сюда же включаются некрупные онлайновые сервисы.
Наконец, пятый тип - внутренние облака больших компаний.
- Инфраструктура, которую будут использовать "облака" четвертого и пятого типа, не может быть проприетарной, именно на нее ориентируемся мы. Если Google может позволить себе разрабатывать не только свою операционную систему, но и свое железо, то Microsoft уже отказалась от разработки собственного железа, но пишет ОС; все остальные (за редким исключением вроде Apple), видимо, будут использовать стандартные ОС, и им захочется эффективно управлять своей инфраструктурой.
В настоящий момент экосистема "четвертого облака" только создается, и Parallels, опираясь на опыт сотрудничества с хостинг-провайдерами, планирует внести свою лепту в этот процесс - например, выступая с инициативой стандартизации метода запаковки SaaS-приложений (SaaS Application Packaging Standard, APS). По идее, наличие такого стандарта (и его соблюдение независимыми разработчиками) позволит тем же хостинг-провайдерам быстро развернуть SaaS-приложение в виде сервиса, предоставляемого клиентам.
Конечно, прогнозы о "тотальном переходе всего и вся в Интернет" раздаются не первый год - но лишь в последнее время появились технические возможности, которые действительно позволят это сделать. И нам нужно быть готовыми к очередному изменению не только терминологии, но и окружающего мира - вполне вероятно, что уже завтра термин "персональный компьютер" станет означать флэшку, на которую записан образ виртуальной машины (с нужной операционкой, программами и данными), или аккаунт в каком-нибудь самом-самом глобальном облаке приложений. Ну а пока я на всякий случай буду поглядывать за тем, что происходит на рынке виртуализации - хоть он, по словам Сергея Белоусова, и не существует.