История Citrix и OpenStack

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

Если почитать новости о 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.
df15fbfe0fa04c0f80d861370acfb033.jpg

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 после слияния:

bc0919c2c3934a6b8448d5909f3039c2.jpg

Таким образом, покупка 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 велась параллельно. В этом можно убедиться, по этой вот ссылке.
ad701fa6be7048af86feba090c20cbf0.png

Тут видно, что код и патчи в проект 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.

587ad76a1d294a02b33a891577cf8f93.jpg

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

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

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

  • 13 июля 2016 в 22:39

    0

    У цитрикса проблема: Они всю жизнь писали под винду и для винды. Их 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).

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

© Habrahabr.ru