Один из наиболее заметных членов сообщества — компания Mirantis, ключевые команды разработчиков которой находятся в России и на Украине.
О работе компании в проекте, о том, как организован и как развивается проект OpenStack, о перспективах платформы на российском рынке, а также о том, почему разработка Open Source буксует в России, рассказывает Алекс Фридланд, соучредитель и председатель совета директоров Mirantis, член совета директоров OpenStack Foundation.
- Какие изменения в бизнесе компании и какие внешние причины подвигли к участию в проекте OpenStack?
Компания Mirantis была основана в 2000 году. Несмотря на то что в тот год лопнул пузырь доткомов, было очевидно, что Интернет продолжит развиваться. И следующим этапом станет волна глобализации, она сделает востребованными инженерные ресурсы, распределенные по всему миру. Нашей целью было ввести в это поле российскую группу разработчиков, которая была частью нашего предыдущего бизнеса.
Mirantis получила известность как узкоспециализированный игрок в сфере технологического аутсорсинга. Мы работали с производителями очень сложных, высокотехнологичных программных продуктов, создали несколько центров разработки, часть из них была затем продана нашим клиентам.
После кризиса 2008 года и связанного с ним оттока капитала мы поняли, что строить бизнес, который не отличается большими масштабами, на невысокой себестоимости ресурсов не имеет смысла, и начали анализировать рынок и искать перспективное направление, где наши активы будут востребованы. Таким направлением стали облачные вычисления.
К началу 2011 года мы пришли к выводу, что хотим специализироваться на создании новой операционной системы, которая будет фундаментом облака. Среди существующих альтернатив молодой на тот момент проект OpenStack показался наиболее многообещающим. Не самый продвинутый с точки зрения технологий, он был единственным открытым проектом со стремительно растущим сообществом. Было очевидно, что проект востребован и что ни один из вендоров не будет в нем доминировать.
Это определило наш выбор, и мы полностью сосредоточили усилия компании на работе в проекте. Сегодня OpenStack превращается в главную открытую операционную систему для облаков, а Mirantis стал крупнейшим независимым игроком в этой области.
- Ваше представление о том, какой должна быть облачная операционная система, совпало с тем, что предлагал OpenStack?
Облачная операционная система, как и ОС обычного настольного ПК, — это средство абстрагирования сервисов, предоставляемых пользователю, а именно вычислительных мощностей, сетевых коммуникаций и средств хранения данных. Отличие лишь в том, что облако оперирует ресурсами, распределенными физически или логически.
Дьявол в деталях — конечно. Для облачной операционной системы принципиально важно, насколько ее поддерживает мировая экосистема. Мы выбрали OpenStack, увидев, с какой скоростью вокруг него формируется колоссальных размеров сообщество.
Мы постепенно входили в проект. Сначала сами научились работать с платформой, потом стали ставить OpenStack тем клиентам, кому это было интересно, затем построили команду, которая включена в процесс разработки ключевых проектов.
На сегодняшний день Mirantis — третий контрибьютор в OpenStack по объему производимого кода, а по числу разработчиков, имеющих право вносить изменения непосредственно в кодовую базу OpenStack, мы занимаем четвертое место после Rackspace, компании, создавшей этот проект, НР и Red Hat. Таким образом, мы имеем возможность оказывать большое влияние на то, как будет выглядеть эта система. Несколько проектов мы начинали с нуля, а сейчас они стали неотъемлемой частью OpenStack.
- Расскажите об этих проектах.
Проект Sahara по аналитике данных, который позволяет ставить Hadoop поверх OpenStack, входит в ядро OpenStack. Нами также разработаны каталог приложений Murano; проект Mistral для реализации Workflow as a Service, дающий возможность строить потоки работ для организации разработки внутри проектов; проект Rally — стандартный инструмент измерения масштабируемости.
Мы внесли значительные изменения в Glance — библиотеку образов виртуальных машин, эта библиотека теперь может хранить так называемые артефакты. Такими артефактами могут быть в том числе описания компонентов приложений, которые можно ставить поверх OpenStack, и они будут размещаться непосредственно в каталоге Murano.
Mirantis также разработала Fuel — инсталлятор OpenStack. Он пока не является частью платформы, но пользуется популярностью.
- Как в целом организовано управление всем многообразием проектов в OpenStack? Кто решает, какие проекты ведутся, как они интегрируются в единую операционную систему, какие появятся новые направления разработки и т.д.?
Руководство проектом осуществляют два главных органа — совет директоров и технический комитет.
Совет директоров занимается вопросами защиты интеллектуальной собственности — все права на OpenStack принадлежат некоммерческой организации OpenStack Foundation, которая предоставляет возможность пользоваться результатами разработки по лицензии Apache 2.0. Также в задачи совета директоров входит организация всех необходимых процессов и процедур, формализация торговой марки — что является и что не является OpenStack, продвижение бренда OpenStack, проведение регулярных саммитов и т. д.
В совет директоров входит 24 члена, разделенные на три группы. 8 человек представляют платиновых спонсоров OpenStack. Это корпорации, как правило, с многомиллиардным доходом, которые платят OpenStack Foundation самый большой членский взнос. В их числе IBM, Red Hat, Rackspace, Canonical и другие компании.
8 членов совета директоров выбираются из представителей золотых спонсоров (компания Mirantis входит в их число). И еще 8 человек — индивидуальные члены, которые определяются независимым голосованием всех участников OpenStack Foundation.
Технический комитет из 12 человек осуществляет техническое руководство проектом. До последнего времени это происходило следующим образом. Проект разделен на несколько программ по реализации компонентов платформы. Каждая программа имеет своего технического лидера и состоит из набора проектов, в которых ведется разработка. В программе определяется «дорожная карта» ее развития, ставятся конкретные задачи, после чего участники сообщества могут включаться в работу над проектами. В каждом проекте есть свои рецензенты — разработчики, обладающие правом допускать или не допускать включение кода в проект.
Для программы, которая хочет статью частью OpenStack, была предусмотрена строго формализованная процедура: инициаторы программы подавали заявление на инкубацию; технический комитет решал, соответствует ли она определенным критериям. Программа, допущенная в инкубацию, должна была пройти через ряд стандартных этапов прежде чем могла быть интегрирована в проект. С 2015 года эта процедура отменена. Дело в том, что технический комитет стал одновременно и судом, и жюри, и всем, чем хотите. Но его члены не вполне независимы, у них есть свои цели и задачи. Например, член комитета, который является техническим лидером той или иной программы, скорее всего, отвергнет инициативу запуска новой программы или проекта, пересекающихся по целям и функциям с его программой. В результате сложилась ситуация, когда в принятии решений «политика» стала превалировать, и несколько очень хороших проектов, получивших рыночное признание, не смогли войти в OpenStack.
Теперь техническое руководство будет осуществляться по модели под названием Big Tent. Любой проект может стать частью поля OpenStack, но с помощью набора меток мы будем показывать, насколько зрелым он является, уровень его интеграции с другими проектами, его востребованность на рынке, степень поддержки разными дистрибутивами OpenStack и т. д. Это обеспечит конкуренцию различных реализаций компонентов внутри экосистемы OpenStack, так чтобы рынок отбирал наиболее конкурентоспособные, и повысит скорость инноваций в рамках проекта.
Что касается возможности получения торговой марки OpenStack, то претендент должен иметь в своем составе компоненты Nova (предоставление вычислительных мощностей в качестве сервиса), Neutron (облачные сетевые ресурсы) и Swift (облачное объектное хранилище) и пройти стандартный набор тестов API. Тем самым OpenStack Foundation гарантирует конечному пользователю предсказуемость реализации платформы. Сейчас разрабатывается новая процедура, в соответствии с которой для подтверждения, что решение может называться OpenStack, необходимо будет выполнить определенный набор тестов.
- Кому нужна торговая марка OpenStack?
Технически грамотного заказчика, желающего построить собственную облачную инфраструктуру на базе OpenStack, интересует не марка, а уровень зрелости платформы, поэтому он будет смотреть на метки. Торговая марка важна вендорам, которые хотят продавать OpenStack, то есть производителям дистрибутивов OpenStack и разработчикам коммерческих решений на базе платформы. Но и они хотят, чтобы компоненты проекта разрабатывались как можно быстрее и функционировали как можно лучше. Для этого необходимо ускорить инновации в проекте, увеличить число людей, которые могут быть частью содружества OpenStack, и убрать «политику».
- Не создадут ли новшества в техническом руководстве, призванные усилить конкуренцию в рамках OpenStack, тех или иных рисков для развития проекта?
Есть риск, что это сильно размоет OpenStack. Мы в совете директоров это осознаем и не хотим, чтобы OpenStack превратился в репозиторий всего, что работает в облаке. Мы стремимся создавать рабочий проект, так чтобы можно было взять дистрибутив OpenStack и построить облако, способное конкурировать с облаком Amazon.
- Кто основные конкуренты платформы OpenStack, каковы ее основные преимущества и чего ей не хватает?
OpenStack конкурирует с программным обеспечением, с помощью которого сегодня можно развернуть облачную инфраструктуру. Это публичные облака, такие как Amazon Web Services, Microsoft Azure, Google Compute Engine, и решения для частных облаков, прежде всего VMware.
Сегодня для развертывания внутренних облаков вендоры типа IBM или HP предлагают проприетарный и достаточно дорогой стек технологий, на котором можно работать предсказуемо и хорошо. Но если бы Google или Facebook в момент своего создания использовали такой способ построения внутренних инфраструктур, у нас не было бы ни Google, ни Facebook, поскольку лицензии и «железо», за которые они должны были бы заплатить НР, Cisco, VMware и другим, стоили бы на порядок больше, чем они могли заработать. Поэтому в Google строили облако с помощью других технологий, продемонстрировав, что можно создавать такие решения в сто раз дешевле.
Но получается, что если вы не обладаете таким же уровнем технологической грамотности, как Google или Facebook, вам придется заплатить вендорам в сто раз больше. В таких условиях трудно сохранять конкурентоспособность.
Поэтому главным драйвером появления OpenStack была экономическая необходимость в решении, которое позволит компаниям с не очень высоким уровнем технических компетенций добиваться тех же преимуществ, что и Google и Facebook. Использовать такую платформу могут как сервис-провайдеры, строящие облачные инфраструктуры для своих заказчиков, так и компании, которым нужно внутреннее облако. Кроме того, операционную систему OpenStack можно встраивать в различные программно-аппаратные комплексы.
Проблема в том, что продукты, создаваемые сообществом, мало предсказуемы и строятся относительно медленно. Платформе OpenStack всего четыре с небольшим года, и пока это немного сырой продукт. Кроме того, он построен из компонентов, не обеспечивающих необходимого уровня надежности для унаследованных приложений, создававшихся в традиционной, «дооблачной» парадигме. Эти приложения ничего не знают о том, где они исполняются, и если компьютер, на котором они работают, «умер», то умерло и приложение. Поэтому для систем типа SAP или Oracle Applications нужна очень надежная среда, например такая, какую предлагает гипервизор VMware ESX.
Но для новых приложений, написанных для Web, подобный уровень надежности не требуется. В них работают разные агенты, и надежность приложения определяется не тем, жива или умерла инфраструктура, а тем, что живы 70% агентов, а остальные 30% можно перезапустить в другом месте. Поэтому не имеет смысла переплачивать за сложные инструменты обеспечения надежности, которые предоставляют VMware, Red Hat или Microsoft.
OpenStack развивается в направлении поддержки этих новых типов приложений. Для них платформа уже сегодня готова к коммерческому употреблению. А для стандартных сложных систем, написанных в прошлом, OpenStack нужно доводить до ума. Мы в Mirantis умеем это делать.
- Расскажите о заказчиках Mirantis — кто они?
Это компании, которые пишут большое количество приложений, отвечающих потребностям сегодняшнего дня. Например, 30% всех рабочих нагрузок международной платежной системы PayPal реализуется на OpenStack. Переход на нашу платформу позволил компании сэкономить порядка миллиарда долларов в год. Работая в старой системе со всеми ограничениями нединамической инфраструктуры, они тратили на внесение любого изменения в приложения до трех месяцев, а сейчас это занимает 15 минут.
Компания Nissan разработала приложение, которое позволяет ее клиентам управлять машинами удаленно. Например, человек может включить машину, уходя с работы, чтобы она прогрела двигатель и охладила салон. А компания Nest, недавно купленная Google, сделала термостат, подключенный к Интернету, и его параметры можно задавать, будучи далеко от дома.
Это примеры современных инноваций, для которых нужен тип инфраструктуры, отличный от того, что требуется, например, для SAP. Поэтому во всем мире идет колоссальное движение в облако, и есть огромный рынок для OpenStack.
- Можно ли выделить задачи, для которых преимущественно используется OpenStack?
OpenStack востребован в четырех основных областях.
Во-первых, это телекоммуникационные компании, которые стремятся создавать более гибкие услуги на базе программно-конфигурируемых сетей, и сервис-провайдеры, разворачивающие дата-центры и облачные инфраструктуры для своих заказчиков. Например, Ericsson является крупнейшим заказчиком OpenStack, компания строит на этой платформе облачные приложения будущего, и через нее мы получаем еще десятки клиентов в телекоммуникационной индустрии.
Вторая категория заказчиков — компании, для которых инфраструктура является собственным продуктом. Среди них, например, PayPal, Workday (поставщик облачной системы управления финансами и персоналом), Symantec, предоставляющая хостинг своей инфраструктуры безопасности.
Третья категория — корпоративные заказчики, использующие OpenStack для внутренних нужд. У нас, например, много клиентов в финансовой сфере, среди них Wells Fargo, Capital One и другие банки. Есть крупные заказчики в медийной индустрии, например Thomson Reuters и Tecnicolor.
И еще одна группа — технологические компании, которые либо пишут драйверы для OpenStack, либо встраивают платформу в свои решения.
- Каковы перспективы для продвижения OpenStack в России? Есть ли у Mirantis стратегия работы на российском рынке?
В России мы до последнего времени не работали, поскольку не чувствовали, что рынок готов к промышленному использованию OpenStack. В стране слаба культура использования решений с открытым кодом на корпоративном уровне и, наоборот, сильна тяга к коробочным коммерческим продуктам, которые, стоит заметить, весьма дороги — стоимость лицензий и обслуживания зачастую сводит на нет все преимущества виртуализации и облака.
Однако в последнее время ситуация меняется. Многие компании стали задумываться над возможным влиянием на их бизнес западных санкций и падения курса рубля, а бизнес сейчас очень сильно зависит от ИТ. Кроме того, в России осознали, что опасно полностью зависеть от западных вендоров, которые могут подчиняться политическим заказам.
Учитывая эти тенденции, в Mirantis решили выйти на российский рынок — создана структура обслуживания продаж, начата работа с партнерами и заказчиками. На данный момент мы единственный вендор OpenStack на российском рынке, обладающий экспертизой как в разработке платформы, так и в реализации проектов. Уже сейчас у нас и наших партнеров в активной фазе находится несколько интересных проектов, так что, надеюсь, в ближайшее время мы пополним список своих заказчиков российскими компаниями.
Уверен: OpenStack станет стандартной облачной операционной системой, притом открытой. Это означает, что любые игроки, которые хотят заниматься OpenStack, смогут использовать эту платформу. Россия не будет исключением. Мы надеемся, что активизация наших усилий здесь не только приведет к конкретным проектам для Mirantis, но и будет способствовать общей популяризации платформы OpenStack и открытого кода в России. Мы планируем этому всячески содействовать — активно развивать сообщество, помогать разработчикам переносить свои приложения на OpenStack, проводить семинары по тематике OpenStack и участвовать в них и т. д.
- Как строит свой бизнес компания-разработчик ПО, участвующая в проекте Open Source такого масштаба, на чем она зарабатывает?
У Mirantis три основных источника прибыли. Во-первых, кастомизация платформы OpenStack под задачи конкретных заказчиков. Во-вторых, подписка на наш коммерческий дистрибутив OpenStack, который позволяет за один день получить работающее облако. И третий источник дохода — тренинги по OpenStack; наша компания является крупнейшим провайдером обучения по этой платформе.
- Mirantis — это единственный российский участник экосистемы OpenStack или есть другие коллективные либо индивидуальные участники?
Уверен, что индивидуальных участников много — талантами наша земля славится. Но из крупных игроков мы единственные.
Есть компании, в том числе наши партнеры, которые знают OpenStack и могут делать проекты с использованием платформы. Проблема в том, что в России не хватает понимания культуры Open Source. Представьте ситуацию. Очень толковый специалист, как правило интроверт, берется за решение проблемы в рамках проекта с открытым кодом. Работает над ней три месяца в одиночку, выдает 10 тыс. строк кода. Но проект развивается совсем в другом направлении, и ни у кого нет ни терпения, ни желания разбираться в том, что он сделал. Его работу просто отбрасывают. Вывод: «Мы русские, нас не любят».
Но дело не в этом, а в том, что у проектов с открытым кодом свои правила игры. Никто не пишет 10 тыс. строк кода, их разделяют на 20 частей, каждая по 500 строк. И прежде чем что-то писать, нужно проговорить свои планы с остальными, обменяться мнениями и впечатлениями, найти тех, кто тебя поддержит. Такие навыки и умения у нас не развивают и не уважают, у нас учат писать код. Поэтому исторически в России участие в проектах Open source никогда не получалось. Участие же в OpenStack специалистов Mirantis помогает поднять статус русских инженеров.
Нашей компании потребовалось приложить много усилий для того, чтобы сформировать группу людей, которые это умеют. Сейчас у нас накопилась критическая масса таких специалистов; мы ищем молодежь, которую сразу обучаем правильно. Но других таких компаний в России я не знаю.
- Но, казалось бы, любая софтверная компания так или иначе декларирует необходимость уметь вести командную разработку. Сообщество Open Source предъявляет какие-то особые требования?
В команде проекта с открытым кодом каждый участник — сильная индивидуальность, способная не потеряться в коллективе других сильных индивидуальностей. Причем этот коллектив распределенный: один человек в Америке, другой — в Австралии, третий — в Китае и т. д. У нас нет культуры работы именно в такой команде.
Приведу пример из практики. Группа наших московских специалистов ведет разработку открытого проекта инсталлятора Fuel. Была поставлена задача дать возможность другим командам в мире подключаться к проекту, делать свои плагины и пр. Уровень отторжения этой инициативы со стороны наших разработчиков был колоссальный. Понадобились огромные усилия, чтобы все-таки это реализовать, несмотря на то что в коллективе уже сложилась культура Open Source. Аналогичные проблемы возникают у разработчиков из коммерческих компаний, таких как IBM или НР, им сложно встроиться в проекты с открытым кодом.
Культура Open Source постепенно станет превалирующей. Это процесс трансформации мозгов, который не может быть быстрым. Но на Западе он длится уже много лет, поэтому культура Open Source там хорошо развита. России такой путь еще предстоит пройти.