Опыт работы с облаками показывает, что реализация всех их преимуществ возможна только в гибридной модели представления сервисов, построению которой мешает сложность повторного развертывания облачной инфраструктуры на различных платформах. Однако ни одно из существующих проприетарных общедоступных облаков не позволяет создать частное облако, что автоматически исключает их из гибридной инфраструктуры. Все это делает актуальной задачу создания унифицированной операционной системы для облака, позволяющей за счет стандартизации и открытости ускорить переход на облачную модель.
Проект OpenStack, объединивший объектное хранилище хостинг-провайдера Rackspace и систему управления гипервизорами от NASA, был задуман в помощь организациям, предоставляющим облачные вычислительные ресурсы на любом оборудовании. Первый релиз OpenStack вышел в октябре 2010 года, и сейчас эта среда представляет собой 13 модулей, взаимодействующих через каталог сервисов, для работы с облаками разных типов. Среди этих модулей — средства управления различными гипервизорами, объектное хранилище и хранилище образов виртуальных машин, веб-интерфейс управления, каталог пользователей и сервисов, средство работы с сетевой инфраструктурой, блочное хранилище, инструмент оркестровки облачных приложений, СУБД как сервис.
Сегодня OpenStack — это один из наиболее быстрорастущих проектов сообщества OpenSource, объединившего тысячи индивидуальных участников и организаций из более чем сотни стран. В истории ИТ не было бы многих прорывов без бесплатных открытых дистрибутивов BSD, Linux, Android и т. п., что свидетельствует о необходимости появления аналога ОC Linux для облаков. Экосистема проекта нацелена на создание условий для генерации лучшего в индустрии ПО управления большими пулами облачных вычислительных, сетевых ресурсов и ресурсов хранения.
Среди причин успеха OpenStack часто упоминаются передовые технологии и структура OpenStack Foundation, которая позволяет привлекать к работе над облачной ОС ведущих игроков ИТ-рынка, не допуская диктата какого-либо единственного производителя. Однако главная интрига OpenStack кроется в причинах приверженности ему крупных компаний.
Больше остальных в разработке кода отличилась компания Rackspace, зарабатывающая на предоставлении IaaS. Далее идет RedHat, которая занимается продажами, внедрением и поддержкой решений OpenStack, затем — HP и IBM, предоставляющие облачные услуги на базе платформ, использующих наработки OpenStack. В отличие от других проектов с открытым исходным кодом, большинство участников OpenStack вовлечены в работу от имени коммерческих компаний, которые решают реальные бизнес-задачи и ожидают от проекта выполнения конкретных функций для своих пользователей и клиентов. Развивая предлагаемые сообществом идеи, коммерческие компании реализуют их в составе своих проприетарных решений, естественно, отвечая за их надежное функционирование, — доля независимых программистов-энтузиастов в проекте OpenStack невелика.
К проекту подключаются новые игроки, например компании Mirantis, SUSE, и не остаются в стороне производители как аппаратуры, так и ПО, преследующие собственные цели: NEC обеспечивает поддержку своего оборудования, работающего с OpenStack, компания VMware обороняет свои продукты, инвестируя в работы по поддержке совместимости OpenStack с ESXi. Компания Cisco, как видно, например, из статьи «OpenStack и модель групповых политик», озвучивает бытующее мнение о том, что в этом стеке все работает, но ничто не работает хорошо. Естественно, чтобы получить выгоды от этого технологического стека, необходимо обеспечить интероперабельность с уже существующими решениями, и, конечно, для этого производители настоятельно рекомендуют применять проприетарное ПО.
Сегодня далеко не каждый участник проекта может утверждать, что полностью ориентируется в OpenStack, для которого вполне реален риск обвалиться под собственным весом. Динамизм и разнообразие OpenStack затрудняют ориентацию в этом стеке технологий, требуя регулярного мониторинга происходящих в нем изменений: в конечном счете пользователи хотят знать, могут ли они полностью доверять построенной облачной платформе. Стоит напомнить, что успешные проекты разработки открытого ПО, например ОС Linux, управляются немногочисленной командой сильных менеджеров, которые чаще говорят «нет», однако в OpenStack пока принято говорить «да» каждой новой функции, хотя она может и не гарантировать интероперабельности или решения критичных для проекта конкретных сложных проблем.
Для совершенствования OpenStack требуется наладить процессы тестирования совместимости модулей для увеличения надежности их слаженной работы, попутно улучшив взаимодействие между проектами, а также развернув экосистему образования и подготовки актуальной качественной документации. Как отмечается в статье «OpenStack на практике: виртуальная сервисная платформа», использование OpenStack для серьезных конфигураций поддержки критичных для бизнеса приложений потребует доработки модулей, особенно по устранению нестабильности компонентов и неспособности модулей работать в условиях высоких нагрузок.
Платформа OpenStack еще молода и активно меняется, но при правильном подходе ее «детские болезни» лечатся без потери заложенного в OpenStack инновационного начала. Как бы то ни было, проект стал сегодня де-факто стандартом эластичной облачной инфраструктуры IaaS, работающей по принципу «любое устройство, любое приложение в одном гибридном облаке», и, наверное, заслуженно OpenStack все чаще называют облачной операционной системой будущего.