История Citrix и 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.
Комментарии (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).
Они продолжают сидеть между этих стульев, а стулья разбегаются как тараканы…