В этом месяце OpenStack'у исполняется 6 лет, всех кто так или иначе связан с проектом, пользуясь случаем, хочу поздравить с этой знаменательной датой! Когда-то я говорил, что история Citrix и OpenStack заслуживает отдельного поста и обещал написать его. Так вот, день (месяц?) рождения, это хороший повод поговорить об истории проекта и выполнить свое обещание.


Не смотря на то, что Citrix входит в десятку самых влиятельных компаний в области Cloud Computing, её нечасто вспоминают при рассказе об OpenStack, попробую немного исправить эту ситуацию. Если почитать новости о Citrix и OpenStack за последние 6 лет, то складывается впечатление, что у этой истории есть три части, которые на первый взгляд, можно было бы назвать “Приверженность”, “Разворот” и “Возвращение”, но на самом деле всё несколько сложнее…

“Project Olympus”
Как и многие другие компании в ИТ-отрасли, Citrix достаточно тепло отнеслась к старту проекта OpenStack. Сразу же после анонса в СМИ писали:
… мы также видим и Citrix в качестве основного игрока этой инициативы … Нет никаких сомнений в том, что Citrix планирует связать свои продукты с IaaS OpenStack, и, таким образом, сделать более ценным их совместное использование. Вероятно, Citrix будет работать над способами развертывания windows-ПО в OpenStack и продвигать использование в качестве гипервизора XenServer (а не KVM). Кроме того, наверняка, Citrix будет заинтересована в OpenStack, как в инструменте соперничества с VMware.
Но потом всё стало ещё интереснее. В мае 2011 года в Citrix рассказали о “Project Olympus”, это решение включало в себя коммерческий вариант дистрибутива OpenStack, оптимизированный для облачного использования гипервизор XenServer, а так же инфраструктурные компоненты NetScaler Cloud Gateway и NetScaler Cloud Bridge. Таким образом, Citrix стала первой крупной компанией, предложившей коммерческое решение на базе OpenStack.


Project Olympus создавался в тесном сотрудничестве с Dell (как поставщиком “железа”) и Rackspace (как одним из основателей проекта). В то время Citrix была основным спонсором OpenStack, вторым по величине вклада кода участником проекта и входила в состав членов совета OpenStack по определению политики (это важная деталь, мы к ней вернемся).

Тут я хочу отдельно подчеркнуть, что Citrix’ом в Project Olympus была заявлена поддержка не только Xen, но и “конкурирующих” гипервизоров. Подобный подход, который можно описать как “вы можете использовать с нашим ПО любые другие продукты” (т.е. независимость cloud-инфраструктуры от поставщика решений) сохранился далее, и сейчас является одним из ключевых преимуществ решений Citrix.

Amazon Web Services API
Принято считать, что разворот Citrix от OpenStack к CloudStack произошел в момент покупки Citrix’ом “Cloud.com” — небольшой частной компании со штатом в 70 человек, разрабатывающей IaaS CloudStack, однако, на самом деле никакого разворота не было. А что же произошло?

Посмотрите на хронологию событий — 25 мая анонс Project Olympus, а новость о завершении приобретения Cloud.com 12 июня 2011 года, т.е. через полтора месяца. Очевидно, что переговоры о покупке велись не один день и начались ещё до анонса “Project Olympus”. А это значит, что в Citrix изначально планировали сотрудничать с разработчиками обеих открытых IaaS-платформ. И даже более того, по некоторым данным, в Citrix хотели объединить кодовую базу обоих проектов, взяв лучшее от каждого из них.

Слайд из презентации о планах Citrix и Cloud.com после слияния:

Таким образом, покупка CloudStack не должна была сказаться на отношении Citrix к OpenStack. Однако, Citrix всё-таки стала гораздо больше внимания уделять CloudStack. Почему это произошло? Официального пресс-релиза на этот счет, конечно, не было, но ходят слухи, что причиной стали разногласия в вопросах принятия решений в проекте OpenStack. Если точнее, то речь идет о поддержке API Amazon Web Services (AWS), Rackspase якобы категорически не хотела добавлять поддержку этого API в OpenStack.

Когда я писал о проблемах с открытыми проектами, там было утверждение о том, что “чем успешнее open source проект, тем больше крупные компании хотят самостоятельно управлять кодовой базой”. Это как раз наш случай — проблема с управлением проектом OpenStack решилась только с образованием OpenStack Foundation и передачей этой организации торговой марки и функций управления проектом.

Парадокс. Получается, что Citrix не смогла добиться принятия API (которое не имело отношения к продуктам самой Citrix) в открытом и независимом проекте. При этом ключевой отличительной особенностью (выкупленной и развиваемой Citrix) IaaS CloudStack с самого начала являлось именно независимость от типа гипервизора и поддержка различных API (в т.ч. API AWS). Иными словами, причиной «разворота» стало не попытка передела рынка IaaS и получение финансовой выгоды, а напротив, нежелание Citrix отказываться от политики независимости cloud-инфраструктуры.

OpenStack Foundation
Официально Citrix стала участником OpenStack Foundation в апреле 2015 года, но это не значит, что со времени «конфликта API» и до апреля 2015 года Citrix не вносила свой вклад в проект OpenStack. Можно вспомнить, как изумленные журналисты писали:
Но, оказывается, в 2013 г. Citrix наряду с CloudStack в определенной мере продолжает инвестировать в OpenStack и рассчитывает поддерживать своих клиентов на обеих облачных платформах.
И далее:
По мнению Дхолакия [вице-президент и главный управляющий Citrix по облачным платформам], нынешний рынок делает выбор в сторону свободного кода и реальное соперничество между свободными платформами OpenStack и CloudStack отсутствует. “По большому счету нашим конкурентом является VMware, и поэтому нас радует, что расцветает много проектов с открытым исходным кодом и есть все условия, чтобы это продолжалось и дальше”, — сказал Дхолакия.
Таким образом, фактически, работа Citrix и с OpenStack и c CloudStack велась параллельно. В этом можно убедиться, по этой вот ссылке.

Тут видно, что код и патчи в проект OpenStack от Citrix шли почти равномерно (до конца 2015 года) и хотя компания и не была участником OpenStack Foundation, она не отказывалась от OpenStack. Вместе с тем, можно было наблюдать шаги по пути «равноудаленния» от открытых IaaS — Citrix сначала передала CloudStack в сообщество Apache Software Foundation, а потом и вовсе продала весь свой бизнес, связанный с CloudStack (но пообещала и дальше инвестировать в проект Apache CloudStack).

Подводя итог...
Можно сказать, что Citrix пытается применить «подход платформы» (я писал об этом подходе при рассказе о Xen) в отношении Open Source IaaS, когда она не конкурирует с открытыми проектами, а напротив, выстраивает свои продукты вокруг них, пытаясь таким образом способствовать внедрению OpenStack и CloudStack (ну и немного заработать на этом, конечно). Т.е.в Citrix видят свои продукты, как дополнение к существующим оpen source IaaS.

На примере Citrix можно увидеть, как непросто бывает «найти свое место» коммерческим компаниям в открытых проектах. Citrix пыталась и делать коммерческий IaaS на базе открытого кода, и предоставлять услуги по внедрению «своей» открытой IaaS и теперь вот использует как платформу, дополняя её своим ПО. На мой взгляд, взаимоотношения Citrix и OpenStack являются весьма интересными и незаслуженно забытыми страницами в судьбе этой открытой IaaS-платформы.

ps: Данная версия событий не является бесспорной и единственно верной. Если я что-то упустил, дополняйте мой рассказ, пишите в комментариях другие известные вам факты и свое мнение относительно вклада Citrix в проект OpenStack.
Поделиться с друзьями
-->

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


  1. amarao
    13.07.2016 22:39
    +4

    У цитрикса проблема: Они всю жизнь писали под винду и для винды. Их presentation server и т.д. — вполне себе нишевые продукты, и даже RDP был (есть?) основан на их наработках.

    Но потом они купили XenSource — полу-гиковую контору, в которой люди играют в computer science и разрабатывают Идеальный Гипервизор Своей Мечты, который утрёт нос Линусу в споре с Танненбаумом про микроядра (таки показав микроядро под названием «гипервизор»). Они пишут на ocaml, реализуют систему по переключению event'ов между доменами, разрабатывают mirage — набор библиотек для окамла для запуска кода прямо под гипервизором, минуя существующие ядра ОС.

    В это же время цитрикс хочет барыжить энтерпрайзу. А энтерпрайз не интересует возможность писать под идеальное ядро на окамле, их интересует винда-винда-винда и фэнсервис для петов. И тогда пуристы на ocaml'е выделяют весь плебейский код на питоне, который пишется индусами, а они (небожители) продолжают развивать идеальную архитектуру с stub domains и усилением изоляции.

    На выходе код, состоящий из computer science на ocaml с одной стороны и адский ужасный код на питоне с другой стороны. Противоречия между задуманной архитектурой и практической реализацией решаются в пользу архитектуры — и у нас появляются «реверсные блочные устройства», набор шелловых костылей от работы которых зависит старт доменов, патченный lvm с патчами от которых у людей волосы встают дыбом.

    Но при этом винда на этом идёт отлично, энтерпрайз рад, цитрикс рад, и покрикивает на индусов, чтобы делали фэнсервис для петов у энтерпрайза.

    Я разговаривал с человеком (на openstack summit), который занимается в rackspace'е Xen'ом для виндовых виртуалочек. От всего «цитрикса» там только самый минимум. Они не используют пулы, кластерные возможности xenserver, они не используют ничего.

    В коде драйвера для xenserver'а в openstack можно видеть как они используют весь тот ужас, который написали в Citrix: скачать image, сделать из него виртуалку.

    Никаких base images, никаких цепочек снапшотов, ничего. Тупой гипервизор уровня обычного xen'а (xm/xl).

    Они продолжают сидеть между этих стульев, а стулья разбегаются как тараканы…


    1. mister_fog
      14.07.2016 11:54

      Есть некоторое противоречие между

      У цитрикса проблема: Они всю жизнь писали под винду и для винды.
      и
      Но при этом винда на этом идёт отлично, энтерпрайз рад, цитрикс рад, и покрикивает на индусов, чтобы делали фэнсервис для петов у энтерпрайза.
      Так проблема есть или нет? Проблемы у Citrix, конечно, есть, но они совсем не в Xen. C Xen у них все хорошо — купили права на код, встроили его в свои продукты и успешно это продают.


  1. vdeneko
    14.07.2016 15:46

    Таким образом, покупка CloudStack не должна была сказаться на отношении Citrix к OpenStack.

    Цитрикс продал уже CloudStack…
    https://www.citrix.com/blogs/2016/01/11/a-new-home-accelerite-to-acquire-cloudplatform/


    1. mister_fog
      14.07.2016 16:07

      Совершенно верно. В 2011 году купил, в 2016 продал, у меня об этом написано «а потом и вовсе продала весь свой бизнес, связанный с CloudStack». И я даже скажу почему — бизнес по продаже услуг, связанных с open source ПО (в т.ч. и IaaS) очень сильно отличается от основного направления деятельности Citrix, об этом я писал более подробно вот тут.