OpenStack — свободная платформа, позволяющая строить частные и публичные «облака». Проект существует чуть больше пяти лет, участие в нём принимают весьма известные компании, вклад которых в развитие Open Source сложно переоценить: IBM, Red Hat, Canonical...
Сможет ли OpenStack стать полноценной заменой VMware? Готова ли платформа к масштабным внедрениям или разработчикам следует ещё основательно потрудиться? В чём заключаются её основные достоинства и недостатки?
Получить ответы на эти непростые вопросы нам помогут эксперты.
Для директора по продажам Mirantis в России Валерия Безрукова вопрос о готовности к внедрению OpenStack представляется совершенно недискуссионным: «OpenStack изначально создавалась как масштабируемая и надежная облачная платформа и, безусловно, готова к использованию крупными корпоративными заказчиками».
Однако, директор по развитию облачных решений ITKey Илья Алексеев считает, что в действительности дело обстоит несколько сложнее: «Безусловно, проект OpenStack — это разработка на перспективу, создающая предпосылки для появления стандарта облачных вычислений будущего. Но и на сегодняшний день решения на базе OpenStack обеспечивают функционирование облачных сервисов. Вопрос сложности непростой, но если мы рассмотрим примеры использования OpenStack, то среди них встретим и довольно масштабные внедрения».
Разработчик продуктов на базе OpenStack компании EMC, участник OpenStack Tiger Team Всеволод Вайнер ещё более осторожен в своей оценке текущей ситуации: «Последние пять лет связаны с непрерывным и стремительным развитием OpenStack, но лишь разработки последних двух лет были направлены на корпоративный сектор. На данном этапе компании, фокусирующиеся на транзакционных приложениях, по-прежнему крайне скептически относятся к OpenStack, в которой пока отсутствует резервное копирование, нет защиты виртуальных машин и т. д. Такие заказчики с минимальной степенью вероятности будут использовать базы данных Oracle RAC на Trove. Тем не менее, уже существует новый тип заказчиков корпоративного уровня, особенно в сегменте мобильных услуг (Платформа 3.0), для которых использование облака на базе OpenStack является реальным решением, в первую очередь потому, что для них ценность данного решения — в возможности его расширения без существенных затрат».
А системный архитектор Red Hat в России и СНГ Вадим Жаров считает, что корпоративным пользователям следует присмотреться не столько к самой платформе, сколько к специализированным решениям на её основе: «OpenStack — это динамично развивающийся продукт, количество проектов и возможностей в котором постоянно растет. Важно выбрать из этого обилия сервисов такие, которые уже готовы к промышленной эксплуатации как для публичных, так и для внутрикорпоративных облаков. Версия Red Hat Enterprise Linux OpenStack Platform включает в себя именно такие сервисы. Таким образом наша сборка, наша версия OpenStack готова и уже доказала свою надежность как облачная платформа промышленного уровня».
Одно из важных свойств корпоративной облачной платформы — её масштабируемость. Это один из важнейших критериев, на основании которого принимается решение о целесообразности применения.
Валерий Безруков в этом смысле настроен вполне оптимистично: «OpenStack масштабируется от десятков до тысяч узлов (физических серверов). На данный момент известны крупные инсталляции, в которых под управлением одного кластера OpenStack находится более 2000 серверов».
С ним согласен и Вадим Жаров: «Поскольку на этой платформе работает достаточное количество крупных облачных систем и публичных провайдеров, с масштабируемостью у OpenStack все отлично. Например, не так давно ставший частью Red Hat системный интегратор e-Novance, специализирующийся на OpenStack, построил одно из крупнейших публичных облаков Cloudwatt — а это сотни хостов OpenStack».
Илья Алексеев уточняет: «Есть две вещи, о которых имеет смысл говорить в контексте масштабируемости OpenStack: известны достаточно крупные и масштабные инсталляции и работа над масштабируемостью продолжается в каждом релизе. Уже сейчас есть средства для создания федераций облаков на базе OpenStack, так что с масштабируемостью все неплохо».
А вот Всеволод Вайнер считает, что разработчикам предстоит устранить ещё много недостатков: «Есть ряд проблем в этом сегменте, таких как отсутствие стандартов по расширению системы (некоторые конфигурации и плагины от вендоров не рассчитаны на масштабируемость) и увеличению ее производительности. Поэтому необходимо уделять немалое внимание предварительному дизайну и архитектуре системы. С другой стороны, в OpenStack уже есть возможность объединять несколько регионов (площадок) в единый центр (cascading solution), в частности использовать тенанты, расположенные на разных площадках».
Некоторые эксперты (в частности, вице-президент по технологии подразделения Emerging Technologies Division компании EMC Рэнди Байес) считают, что обилие вариантов развертывания OpenStack создает определённые сложности для популяризации экосистемы. Но насколько это важно с практической точки зрения? И стоит ли специально заниматься этой проблемой?
Вадим Жаров не видит причин для беспокойства: «OpenStack — это платформа, продвигаемая и разрабатываемая сообществом людей, и именно сообщество определяет необходимость и полезность опций, функций и сервисов OpenStack. Таким образом, всё непопулярное у сообщества пользователей будет заброшено и со временем перестанет развиваться. Нет необходимости принудительно что-либо сокращать — это, как и множество Open Source-проектов, саморегулируемая система».
Валерий Безруков утверждает, что в рамках одного дистрибутива — Red Hat, Canonical, Mirantis, HP — количество опций не так уж и велико. «Мы, например, даже сделали специальный механизм, позволяющий расширять функциональность Mirantis OpenStack для своего средства развертывания кластера, я говорю о плагинах для Fuel. Если же говорить о количестве различных вариантов „получения“ OpenStack, от исходных кодов до коммерческих дистрибутивов, то их действительно немало. Но тут каждый делает выбор сам. Если у пользователя достаточно экспертизы в OpenStack и Open Source и есть готовность поддерживать кластер собственными силами — это, безусловно, исходный код или пакеты из некоммерческого дистрибутива Linux».
Всеволод Вайнер видит причину подобных трудностей не столько в обилии вариантов развертывания OpenStack, сколько в отсутствии достоверной информации об этих вариантах и опциях, что действительно не позволяет клиенту сделать осознанный выбор. Он утверждает, что при такой ситуации OpenStack рассматривается просто как бесплатная альтернатива VMware, что не соответствует действительности.
Но и это ещё не всё. По его мнению, существует также проблема выбора между разными OpenStack-дистрибутивами, каждый из которых позиционируется как «единственно верное решение». Всеволод Вайнер утверждает: «В результате образуется хаос в головах облачных архитекторов заказчика. К тому же следует помнить, что OpenStack является открытой экосистемой. Соответственно, количество OpenStack-дистрибутивов будет постоянно увеличиваться в поисках так называемого „лучшего“. И контроль этого процесса достаточно непрост».
Одно из существенных достоинств открытых решений — возможность относительно безболезненной смены поставщика. Однако если речь идёт о достаточно сложных программных продуктах, то ситуация заметно усложняется.
Валерий Безруков уверен, что многое зависит от того, с каким именно вендором был начат проект. Дело в том, что в состав закрытых дистрибутивов OpenStack — HP Helion, IBM SmartCloud — входит не только и не столько OpenStack, зачастую достаточно сильно переработанная, но и разный дополнительный софт — оркестраторы, платформы управления и т. д. По его мнению, «слезть» с такого дистрибутива будет непросто, фактически придется делать рядом новый кластер OpenStack и мигрировать в него содержимое текущего облака.
Есть же дистрибутивы более открытые и достаточно близкие к оригиналу — так называемому «ванильному» OpenStack, например Red Hat. «В случае Red Hat правильнее говорить не о дистрибутиве, а о политике вендора. В портфеле компании достаточно большое количество близкого и интегрированного с их дистрибутивом OpenStack ПО — это и CloudForms, и GlusterFS, и oVirt, и OpenShift. И Red Hat как правило пытается предложить заказчику некое комплексное решение, в которое помимо OpenStack входит еще много чего. Заказчик, осознанно или нет, начнет это ПО использовать. Что опять таки затруднит вопрос миграции на другой дистрибутив или ванильный OpenStack. Позиция Mirantis в этом плане иная — у нас полностью открытый и бесплатный дистрибутив, и в нем нет ничего, кроме OpenStack. Да и мигрировать с нашего дистрибутива смысла нет — даже если заказчик решит не продлевать подписку на техническую поддержку, он все равно сможет полноценно пользоваться нашим дистрибутивом, включая доступ к новым релизам», — рассказал г-н Безруков.
Вадим Жаров считает, что с решением на базе открытого кода непреодолимых сложностей не возникнет, как и не возникнет проблем с сохранением инвестиций (как это часто бывает при смене решений на базе проприетарного ПО). Он видит два варианта: адаптировать решение к стандартам нового поставщика услуг или договориться с новым поставщиком услуг о поддержке текущего решения, внося в него изменения только когда это необходимо. Также г-н Жаров советует не забывать о возможности поддержки решения собственной командой — это в некоторых случаях и на определенных временных этапах бывает выгоднее и удобнее услуг сторонней компании.
Всеволод Вайнер, в свою очередь, анализирует причины возможных трудностей: «При работе с одним вендором заказчик с большей долей вероятности выберет облако на базе OpenStack этой компании. Однако при смене вендора и переходе к новому облаку с другим набором опций возникает ряд сложностей. Это объясняется желанием игроков облачного рынка сделать из открытой платформы полностью коммерческий вариант OpenStack, что нарушает целостность идеи проекта. Разработка дополнительных плагинов обеспечивает конкурентоспособность в привлечении заказчиков. Естественно, некоторые плагины могут быть закрытыми, т. е. доступны лишь определенному вендору (например, у IBM есть поддержка PowerVM, которой нет в открытом доступе), или вендоры могут иметь свои механизмы масштабируемости и отказоустойчивости, которые не совместимы при интеграции в единую систему. Таким образом, основная сложность перехода от одного вендора к другому — недоступность ранее использовавшихся компонентов, и, что не маловажно, отсутствие поддержки данных опций».
Таким образом, проблема существует и создана она, в первую очередь, самими вендорами. Хороший выход из ситуации — тестирование интероперабельности разных реализаций OpenStack, которое бы обеспечивало совместимость дистрибутивов разных производителей. Однако рассчитывать на него пока не следует.
«Есть „ванильный“ OpenStack — исходный код на GitHub. Есть дистрибутивы, или, как их иногда называют, сборки на базе этого кода. Какие именно модули „ванильного“ OpenStack взять для своей сборки, какими дополнительными компонентами их разбавить, что добавить, а что выкинуть — решает вендор дистрибутива. Именно поэтому следует выбирать открытые и максимально близкие к оригиналу дистрибутивы и остерегаться сказок про „закрытые улучшения в составе нашего дистрибутива“. Если они такие уж улучшения — то почему бы их не открыть, как минимум, и не вернуть в сообщество, как максимум?», — вопрошает Валерий Безруков.
Что касается тестирования интероперабельности, то Илья Алексеев утверждает: «Существует программа по такому тестированию и наборы тестов для проверки интероперабельности. Можно сказать, что в текущий момент список тестов недостаточно обширный, но это направление развивается. Кроме того, лаборатории по тестированию интероперабельности решений создаются и самими вендорами».
Тем не менее, несмотря на определённые трудности и проблемы OpenStack вполне успешно развивается. А это означает, что у нее есть заметные сильные стороны — как сегодня, так и в перспективе.
Вот что говорит о привлекательности решения Вадим Жаров: «Сильная сторона OpenStack — это, безусловно, скорость появления разнообразных новых функций. Чтобы в этом убедиться, достаточно зайти на сайт проекта и посмотреть, сколько разнообразных сервисов *aaS можно развернуть на базе OpenStack (FWaaS, VPNaaS, LBaaS, DBaaS, Ironic, Manila и т. д.), и скорость их появления от релиза к релизу».
Валерий Безруков считает, что своими достоинствами OpenStack обязана открытой модели: «OpenStack — это как Linux, но только для облака. Почему хорошо развивается Linux, ведь на момент начала роста его популярности было много успешных коммерческих и некоммерческих Unix-систем? Потому что все они не были публичными и открытыми или их публичная лицензия имела существенные ограничения. Linux стала первой платформой, на базе которой все вендоры смогли договорится (в основном против Microsoft), и все стали вкладываться в развитие Linux — и IBM, и Red Hat, и HP, и Oracle. Сейчас Linux — это стандарт серверной ОС де-факто. OpenStack уже выиграл битву у других облачных открытых проектов, в разработке активно участвуют все вендоры, за исключением Microsoft. Поэтому через некоторое время OpenStack станет стандартом облачной ОС».
Как нетрудно заметить, наши эксперты настроены весьма оптимистично. Что не мешает им видеть проблемы, которые существуют как у разработчиков OpenStack, так и у пользователей этой платформы.
Вот что говорит Вадим Жаров о проблемах пользователей: «При проектировании архитектуры и при разворачивании решения необходимо учитывать особенности работы, резервирования каждого из этих сервисов, а также их интеграции с другими компонентами инфраструктуры. Поэтому компании, которая планирует внедрить в своей инфраструктуре OpenStack, необходимо работать с поставщиками, которые действительно имеют опыт построений решений на базе OpenStack, а также взаимодействуют с другими компаниями, с решениями которых необходимо будет интегрировать платформу (ОС, СХД, ЛВС и т. д.)».
А Всеволод Вайнер делится с нами своим видением основных проблем разработчиков: «С каждым релизом появляются новые компоненты, дополняющие портфолио OpenStack. Однако количество не всегда означает качество. В гонке по разработке новых дополнительных опций и надстроек не уделяется достаточного внимания стабильной работе основных компонентов, что уменьшает возможность уверенно конкурировать с другими решениями. По моему мнению, проблема, которая ожидает OpenStack в ближайшем будущем — постепенное превращение платформы в полностью коммерческий продукт. Ее решение представляется мне следующим образом: создается единая базовая платформа (фундамент), а далее компании предлагают ряд своих компонентов, которые будут ими же внедряться и сопровождаться (принцип модульного телефона от Google). Таким образом, заказчик, безболезненно изменяя дополнительную конфигурацию, сохраняет базовую платформу. Так сохраняется главная идея OpenStack — единое большое сообщество, где вендоры работают над своими ключевыми сегментами».