Вы наверняка слышали, что недавно вышел новый релиз IaaS-платформы OpenStack — OpenStack 13 «Mitaka». Это хороший повод написать небольшой анализ-сравнение OpenStack с каким-нибудь более ранним проектом и выяснить, что же сделало OpenStack настолько успешным.

Идея этого поста — в одном из моих предыдущих переводов, где были перечислены проблемы, с которыми сталкиваются компании, пытающиеся вести бизнес на Open Source. А если точнее, о проблемах писал руководитель компании XenSource, и в первую очередь, про проект Xen. Там была такая фраза: «Если вы думаете, что это всё осталось в прошлом и сейчас уже не актуально, я вам скажу, что вижу похожую ситуацию, происходящую сегодня с OpenStack, и такое, вероятно, происходит со многими другими успешными open source проектами.»

Давайте посмотрим, о каких трудностях XenSource писал Питер Левайн (Peter Levine) и как с этим обстоят дела в OpenStack.


Я не буду упоминать технические сложности — они свои у каждого проекта и, скажу прямо, в основном о технических проблемах OpenStack  я слышу почему-то от представителей EMC/VMware.  ;-) Кстати, если вспомнить высказывания представителей VMware, они тоже проводили аналогии между OpenStack и Xen:
Рэгу Рэгурэм (Raghu Raghuram), исполнительный вице-президент VMware по облачной инфраструктуре и управлению, не так уверен в OpenStack.… Рэгурэм приводит пример — не так давно десятки компаний поддерживали Xen, open source гипервизор, но в итоге почти все переключились на KVM.… По словам Рэгурэма, есть два варианта развития событий. Или OpenStack, подобно Linux, станет общепризнанным стандартом, или пойдёт путём Xen.
Конечно, Рэгу Рэгурэм заметно “сгущает краски”, не так уж все плохо было с Xen и в 2012 году, когда я писал тот пост, и сейчас тем более (о позитивных изменениях, произошедших с Xen я писал вот тут).

Но вернемся к теме поста. Питер пишет “я расскажу и про другие факторы, которые играют против “настоящих” open source компаний.” Так каких же проблем нужно опасаться, связываясь с бизнесом на Open Source?

1. Недостаточная поддержка ИТ-отрасли.
Широкая поддержка в ИТ-отрасли (подчеркну, что в том числе и среди производителей проприетарного ПО), наверное, является ключевым фактором успеха любого открытого проекта. Вот, что пишет Питер:
Но если компания не нанимает к себе на работу большинство разработчиков этого open source продукта, то высока вероятность того, что проект никогда не сможет набрать нужный темп разработки.
И действительно, Xen довольно долго набирал обороты в свое время. Вероятно, что это было связано не только с “молодостью” технологий x86-виртуализации, но и с нехваткой ресурсов — многие компании просто выжидали, когда проект “созреет”, вместо того, чтобы вкладываться в разработку.

У OpenStack с этим не было проблем — проект быстро набрал участников, которые активно развивали проект. OpenStack заслуженно называли “самым быстрорастущим открытым проектом” — на рисунке выше данные 2013 года, (а вот тут  актуальный на сегодняшний день список компаний). Хочу отметить, что активным участием в OpenStack многие компании занялись ещё до формирования OpenStack Foundation. У такой широкой поддержки, конечно, были свои причины, но не будем сейчас останавливаться на них.

2. «Расщепление» проекта.
В предыдущем пункте я написал, что немногие компании горели желанием включаться в проект Xen, но даже те из них, кто что-то делали, ничего не возвращали в основной публичный репозиторий (Upstream). Вот что пишет Питер на этот счет:
Кроме этого, риском является то, что другая компания может решить создать форк вашего продукта.
И чуть ниже:
Усугубляется положение тем, что чем успешнее open source проект, тем больше крупные компании хотят самостоятельно управлять кодовой базой. Я сам столкнулся с этим, когда был CEO в XenSource — многие крупные игроки ИТ-рынка заимствовали нашу кодовую базу, а мы не получали взамен никакой выгоды.
Поправьте меня, если я ошибаюсь, в то время было два основных ИТ-игрока, которые специализировались именно на Xen — это компании XenSource и VirtualIron (вторая была поглощена корпорацией Oracle в 2009 году, и с тех пор продукт не развивается и не поставляется заказчикам.)

Но кроме этого, были продукты Sun xVM, Oracle VM, ну и конечно Xen в составе дистрибутивов Linux, среди которых RHEL и SLES. Эти компании слабо координировали разработку между собой, т.к. были прямыми конкурентами. И вместо объединения усилий по разработке получалось распыление сил.

Обратите внимание — главное преимущество модели Open Source, которое заключается в возможности объединить ресурсы компаний, в которых работают лучшие специалисты ИТ-индустрии, не сработало в случае XenSource. Только после передачи Xen “под крыло” LinuxFoundation в 2013 году, появился основной публичный репозиторий (Upstream), который не зависел от коммерческих компаний, но ценное время уже было упущено…

А как с этим в OpenStack? Первоначально, у проекта OpenStack тоже были признаки похожей проблемы, но тут есть два существенных отличия. Первое заключается в том, что основатели OpenStack — NASA и Rackspace не зарабатывали деньги именно на продаже ПО OpenStack. (Заметили, как “торчат уши” платформы, о которой говорит Питер Левайн?). А второе отличие в том, что в 2012 году было образовано OpenStack Foundation и именно это, на мой взгляд, помогло превратить компании из конкурентов в единомышленников.

Посмотрите на картинку выше, у OpenStack  действительно есть много разных дистрибутивов (верхний левый угол). Но это именно дистрибутивы, а не форки проекта OpenStack и это очень важное отличие. Хотя надо признать, что в плане извлечения прибыли, наличие большого числа конкурентов это, конечно, минус — вероятность того, что выберут именно ваш дистрибутив многократно уменьшается, когда на рынок выходят компании, с известным брендом, большой историей успешных проектов и хорошим каналом продаж. Вот и среди участников OpenStack Foundation бывают конфликты на этой почве:
Red Hat начала сотрудничать с Mirantis, но последняя никогда не обещала использовать только RHEL. В июне 2014 г. она заявила о сотрудничестве с Canonical, намереваясь на базе Ubuntu создать свой собственный дистрибутив OpenStack. Ответная реакция Red Hat не заставила себя долго ждать: Red Hat решила прекратить поддержку RHEL в дистрибутиве OpenStack от Mirantis.


3. Слабая управляемость разработкой.
Это самое «больное место» всех открытых проектов. OpenStack, конечно, это не «небольшой коллектив», но для OpenStack данный фактор так же актуален, как и для Xen:
И еще один аргумент — для небольшого распределенного коллектива разработчиков очень сложно определить грань между контролем стабильности кода и активной разработкой.
У XenSource довольно долго были проблемы с включением их патчей в основную ветку ядра Linux, что приводило к усложнению процессов установки и обновления. (Кстати, об этом писали в комментариях к посту-переводу).

Этот фактор, еще больше предыдущего проявился в OpenStack. Было множество разговоров о том, что OpenStack погубит его собственное сообщество и о том, что  проблемы управления платформой остаются актуальными. На хабре есть отличная статья на эту тему, процитирую маленький кусочек из неё:
Поэтому, несомненно, круто ругать OpenStack и говорить, что «что-то обязательно нужно сделать», чтобы изменить проект. Но факт в том, что OpenStack пройдет через этот «трудный подростковый» период, когда он еще неуклюж и когда старшие думают, что «кто-то должен взять мальчика за руку». Можно ли усовершенствовать нынешний процесс? Безусловно. Но сообщество может сделать это самостоятельно, без того, чтобы «папа» (или «мама») говорили ему «прибраться в комнате».
Думаю, что именно из-за этих проблем с управлением, в свое время отношение Citrix к OpenStack менялось от полной вовлеченности до абсолютной отстраненности. И кстати, на прошлой неделе был ровно год с тех пор, как Citrix вернулась к активной работе с OpenStack. Но история взаимоотношений Citrix и OpenStack заслуживает отдельного поста, когда-нибудь я обязательно его напишу.

А c какими ещё трудностями сталкиваются OpenSource-компаний?
Итак, можно сделать вывод, что те препятствия, о которых писал Питер Левайн были в той или иной степени устранены благодаря созданию OpenStack Foundation и более тесному взаимодействию компаний, участвующих в проекте.

Я описал три препятствия, с которыми сталкиваются компании, пытающиеся вести бизнес, связанный с Open Source. Возможно, к ним стоило бы добавить «Недоверие к открытому ПО среди руководства компаний-заказчиков», но думаю, что это препятствие уже в прошлом. Или нет? Как вы считаете? Пишите в комментариях другие трудности, с которыми сталкиваются OpenSource-компании, обсудим. ;-)

Комментарии (12)


  1. raskal
    29.04.2016 15:27
    +1

    «Успешным» — это очень относительное определение. Успешным относительно чего? Свободных аналогов в целом, нет, о конкуренции с несвободными (читай: амазон) пока не идет даже и речи. Опенстек — это хайп, который, быть может, выживет, а быть может и нет. Сейчас он живет исключительно за счет корпораций, готовых вливать туда деньги просто потому что их много, этих денег.

    Как по мне — коммьюнити в целом нужно несколько менять ориентированность и смотреть на возможность предоставления среднему бизнесу возможности легко и просто поставить себе опенстек. Сейчас средний и малый бизнес буквально не может его использовать в силу целого набора технических факторов (начиная от простых вещей, типа «опенстек рассчитан на изначально писаный для него софт, который учитывает то, что вм-ка может упасть и умереть и поэтому мы не будем делать возможность нормальной миграции вм-ок и дублирования данных. Пользуйте свифт, радосгв и пишите свой софт заново» и заканчивая безумной сложностью проекта и руководством по установке типового кластера на 90+ страниц).
    Но — кто платит, тот и девушку танцует, поэтому перспектива для опенстека стать ближе к народу пока очень маловероятна.


    1. svilgelm
      29.04.2016 15:45
      +1

      А как же Fuel? Установка проста до безобразия и сводится к нажатию пары кнопочек.


      1. raskal
        30.04.2016 13:03

        Фуел решает часть вопросов, отрицать не буду. И он совершенно заслуженно стал «инсталером опенстека №3» в мире, войдя в big tent всего-то пару месяцев назад. В нем хорошо (очень сложно, но хорошо) реализован HA, он позволяет просто развернуться на пачке нод. Но никуда не деваются проблемы самого опенстека при этом — невозможность нормальных апгрейдов, отсутствие миграции вм-ок, танцы с бубном вокруг цефа, да даже простой SSL между нодами и то работает не везде. Почему? Ответ все тот же — изначальная направленность на корпорации и полнейшая от них зависимость по причине (тут сугубое суровое имхо) нежелания продавать результаты своего труда и организовывать нормальную поддержку для средних и малых заказчиков.


    1. mister_fog
      29.04.2016 16:13

      Успешным относительно чего? Свободных аналогов в целом, нет,
      А как насчет Eucalyptus? Этот open source cloud появился раньше всех и «не выстрелил». А как насчет Apache CloudStack? CloudStack занимает 2-ое место в списке открытых IaaS и вполне себе свободный аналог. Причем, активно развивался он, в основном, благодаря усилиям Citix'а. Есть еще ряд проектов, но этих трех основных достаточно, я считаю, для формирования конкурентной ситуации в своей нише. И из этих трех проектов, OpenStack очевидно успешнее других.
      возможность предоставления среднему бизнесу возможности легко и просто поставить себе опенстек.
      А зачем? Из того, что я видел, касающееся IaaS, оно просто не нужно среднему бизнесу. Я даже скажу, что оно не всякому крупному-то нужны…


      1. navion
        29.04.2016 19:25

        Из того, что я видел, касающееся IaaS, оно просто не нужно среднему бизнесу.

        Средний бизнес понятие растяжимое, многим нужна интегрированная среда с биллингом и самообслуживанием, а сейчас из готовых продуктов есть только vCloud Suite за безумные деньги.


        1. mister_fog
          29.04.2016 22:15

          А можете привести пример, когда бы для среднего бизнеса это (среда с биллингом и самообслуживанием) могло бы потребоваться?


          1. navion
            30.04.2016 14:59
            +1

            С «многими» я наверное преувеличил, но везде где есть своя разработка это нужно для учёта расходов.


      1. o_serega
        29.04.2016 22:05

        Opennebula, как по мне куда более зрелое решение чем openstack, хотя и не на столько фичастый


      1. nochnoj
        30.04.2016 05:52
        +1

        SMB вполне может позволить себе public cloud, не обязательно ставить у себя private. Компаний, предлагающих, место в своем опенстеке полным полно, тот же рекспейс.


  1. nochnoj
    29.04.2016 22:06
    +1

    Спасибо за статью, мне тоже интересно развитие бизнеса основанного на опенсорсе (тем более в одной такой компании я работаю).
    Честно говоря мне прошлое интервью с Питером показалось очень страным, у меня сложилось впечатление что свои неудачи в роли менеджера он пытается оправдать довольно туманными и нелогичными аргументами, слабо согласующимися с ральным положением дел. Получилось что он весь в белом, а вокруг… враги. И Ред Хат совсем не единственная компания, зарабатывающая на опенсорсе. Но не буду настаивать, я не работал над тщательным анализом ситуации с зеном, а задним умом все крепки :)
    Насчет опенстака хотел бы остаить здесь несколько мой замечаний.
    Во-первых, конечно, ситуация с компаниями в зен и опенстаке совершенна непохожа, посмотрите на количество компаний развивающих зен (2?) и опенстек (200??). Даже если взать самых самых активных, наберется пару десятков, в основном бренды мирового уровня — HP, Red Hat, IBM, Cisco и т.д. Степень заинтересованности даже не сравнить.
    Критика со стороны EMC и VMWare мне малопонятна, учитывая что сами эти компании интегрируют опенстек в свои продукты. У VMWare свой дистр опенстека, в свое время они переманили достаточно народу с других фирм для его создания. У EMC идет активная интеграция собственных продуктов с опенстеком и никакого конкурента опенстеку у них вообще нет (в отличии от VMWare сферы). Ред Хат, не смотря на наличие своего продукта (RHEV/oVirt), занимается опенстеком чуть ли не больше чем любая другая компания. Хотя oVirt по фичам скорее конкурент VMWare и их vsphere.
    Проблема в управлении опенстеком конечно есть, но с последними инсталллерами по-моему даже ребенок может его установить. По-моему проблемным еще остается его менеджмент и мониторинг, но и это активно развивается, так что не думаю что кого-то это остановит.
    Вследствие вышесказанного, как мне кажется, ситуации с зеном и опенстеком совершенно разные и несравнимы. Даже если опенстек умрет (но вряд ли, несмотря на некоторые фейлы, типа нейтрона) кто-то станет вместо него, клауды — это будущее.
    А зен мог стать таким же популярным как и докер с контейнерами, кстати еще пример, но не стал. И насколько велика тут вина неправильно выбранной стратегии, фейла в управлении и неадекватных оценок рынка менеджментом — трудно сказать, но судя по тому что виноваты все вокруг, явно не маленькая.


  1. fakedream
    30.04.2016 15:10
    +1

    После внедрения опенстака в одной довольно большой организации остались следующие впечатления:

    1. Ужасно организованый отчет об ошибках. Ошибки бывают внятными, а бывают какими-то ну совсем неясными, из которых вообще ничего не понятно. при том, что часто ошибки о неудачных запусках виртуалок или неудачных действиях с ними нужно искать непосредственно на гипервизорах.

    2. Horizon, это тот которых дашборд не может много того, что можно делать с CLI, при том, что эти фичи реально необходимы в дашборде. Например возможность запускать виртуалку используя заранее созданный сетевой порт из horizon-а появилась только в mitaka. А без этой фичи очень сложно обойтись при VLAN-based конфигурации сети, когда нет пространства с floating ips.
    или к примеру для того, чтобы выполнить ресайз вольюма, нужно сделать кучу телодвижений из CLI.

    3. возможны ситуации, в результате которых виртуалка или том попадает в какой-нибудь хитрый error state и оттуда ее ничем не достать. ни удалить, ни изменить состояние. приходится лезть в БД и руками фиксить.


  1. zirf
    08.05.2016 19:02
    +1

    Некоторыми ходами можно что-то продемонстрировать зрелость и "крутость" — Red Hat имеет сертификацию по Red Hat System Administrator(Certified Engineer) in OpenStack. Все по взрослому. Это при том, что RHEL OSP 8 — последняя — это по сути Kilo, согласно ChangeLog (хотя смотреть надо, keystone толкует про Mitaka). Подписка само собой платная 60 дней триал, потом 1 или 3 года. Честно сказать. Встанет только на RHEL (проверка есть не CentOS или Fedora, там отдельные репы есть и инструкции на OpenStack.org), каковой тоже с платной подпиской. А клиент что, выше среднего.


    1. Обучение и сертификация решают геморрой клиента с кадрами. Это существенно, одно дело "наши-супер-крутые-специалисты", другое дело "наши сертифицированные специалисты".
    2. Очень промышленное на вид развертывние (TripleO). Реально и инструкция с багами и скрипты тоже. Я на десктопе развернул Director со второго раза, но будем считать — опечатка. Потом он как бы на Bare Metall, я ставил на виртуалку, естественно сетку пришлось перенастраивать.
    3. То есть когда продукт представляют как некоторый хороший, это одно, RedHat откровенно ставит на солидность, зрелость. Red Hat Enterprise Open Stack Platform — звучит.