Что такое OpenStack? Ответить на этот, казалось бы, довольно банальный вопрос на самом деле не так уж просто. OpenStack довольно часто называют «проектом по созданию свободного ПО для создания облачных систем и сервисов». Это, в общем-то, верно, но нужно понимать, что проект проекту — рознь. На самом деле, OpenStack — это организационный проект по реализации комплекса программных проектов, каждый из которых имеет собственную команду разработки и результатом которого является некий самостоятельный набор программных средств. Фактически проект представляет собой довольно сложную динамично развивающуюся всемирную экосистему, в которой можно выделить несколько срезов, в том числе по направлениям, разработчикам и пользователям, а также участникам Фонда, проектам и командам.
Тем компаниям, которые хотят использовать средства OpenStack в своей работе или принять участие в их создании, а тем более если такие намерения имеют долгосрочные перспективы, нужно разбираться в принципах функционирования и развития данного проекта и быть в курсе состояния и перспектив разработки ПО. Планируя сегодня переход на OpenStack, заказчики должны понимать, что эта система будет представлять собой уже в краткосрочной перспективе и что ее можно ожидать через пару лет. Именно этот тезис — «что представляет собой OpenStack сегодня и каким он будет завтра» — был основным на прошедшей 21 февраля в Москве конференции «Экосистема OpenStack — дорога в облака».
Хорошо известно, что OpenStack реализуется под руководством OpenStack Foundation. Эта организация представляет собой структуру, соизмеримую с крупным научно-исследовательским центром, причем управляемым не традиционным методом «сверху-вниз», а «снизу-вверх» на общественно-демократических принципах участия в процессе управления десятков компаний и десятков тысяч частных лиц. Собственно, так устроены многие проекты Open Source (но далеко не все, демократическая схема характерна для крупных проектов, в случае средних и небольших руководителем часто является конкретная компания), но OpenStack — крупнейший. Число членов Фонда приближается к 150, число компаний, которые заявили о поддержке проекта, выходит за 200 (в том числе почти все мировые ИТ-гранды). Сейчас OpenStack — весьма молодой проект, но он уже самый крупный в мире открытого кода, обогнавший Linux, в том числе по финансовым показателям: бюджет OpenStack сегодня — 16 млн. долл. в год, Linux — 9 млн. долл.
OpenStack динамично развивается: растет число проектов, каждый из них расширяет свою функциональность. Говоря об этом, один из руководителей российского сообщества OpenStack Илья Алексеев подчеркнул, что какие-то проекты пересекаются друг с другом по возможностям, а некоторые новые даже в какой-то степени выступают конкурентами уже существующим, предлагая решение одних и тех же задач, но на основе иных архитектур и технологий. Сегодня имеется 12 проектов (Keystone, Nova, Glance, Neutron, Swift, Cinder, Heat, Sahara, Trove, Horizon. Ceilometer, Oslo), имеющих официальный статус, который можно определить как «введенный в промышленную эксплуатацию», еще пять (Ironic, Manila, Designate, Barbican, TripleO) находятся на этапе «инкубации». Кроме того, более трехсот проектов размещены в репозитории StackForge, где отслеживаются работы уровня «стартапов».
Из ожидаемых новинок на конференции особое внимание было уделено проекту Ironic, который должен расширить возможности Nova (один из ключевых проектов OpenStack — управление жизненным циклом серверов) в направлении управления физическими серверам, а также TripleO, реализующему идею развертывания «OpenStack on OpenStack» (отдельных компонентов на платформе в целом).
В общем-то, хорошо известно, что средства Open Source в своем базовом варианте обычно представляют собой не столько готовые продукты, пригодные для «немедленного использования», сколько технологии и компоненты, на базе которых создаются конечные решения. OpenStack не исключение из этого правила. Но для заказчиков, которые не хотят отвлекаться на технические темы создания таких решений, на рынке сегодня имеется уже достаточно большое число коммерческих дистрибутивов системы как от ИТ-гигантов, так и от специализированных игроков.
В целом, весь проект OpenStack изначально ориентирован на создание облачных систем. Но если раньше основной целью было создание динамических виртуализированных инфраструктур, то сейчас акценты все более смещаются в сторону создания сервисов. Целый ряд программных проектов сейчас ориентирован именно на такой класс задач: официальные Sahara (BigData as a Service) и Trove (DB as a Service), инкубационный Zaqar (распределенный сервис очередей) и еще несколько из репозитория StackForge.
По мнению экспертов, в США и Европе OpenStack уже вышел на тот уровень зрелости, когда им начинают всерьез интересоваться не только сервис-провайдеры, но и крупные корпоративные заказчики. В России ситуация развивается с задержкой, сегодня у нас в этой сфере уровень интереса примерно такой, как