Как меняется open source ландшафт в контексте облачных сервисов

Крупные облачные провайдеры всё чаще сталкиваются с давлением со стороны проектов на базе открытого исходного кода. Их разработчики меняют условия лицензий и вводят ограничения, связанные с запуском управляемых сервисов: в блоге beeline cloud мы уже обсуждали ситуацию с CentOS. С другой стороны, продолжают развиваться и открытые проекты, позволяющие компаниям развернуть собственную инфраструктуру. Поговорим о том, способны ли платформы вроде OpenStack и UbiCloud стать массовыми.

Изображение — Lightsaber Collection — Unsplash.com

Изображение — Lightsaber Collection — Unsplash.com

Открытое давление

Нельзя не заметить тенденции последних лет, когда все больше разработчиков открытых решений отказываются от лицензий вроде Apache или MIT в пользу BSL или SSPL. Недавно по этому пути пошли в HashiCorp, похожим образом развивается ситуация в Redis. Подобные практики сталкиваются с критикой со стороны представителей open source сообщества, которые считают, что новые лицензии не соответствуют духу открытого программного обеспечения.

В то же время такой подход влияет на решения, которые принимают крупные облачные провайдеры. Поставщики облачных услуг в значительной степени полагаются на open source, и внезапные смены лицензий вносят разлад в бизнес-процессы. Как минимум, сотрудникам компании приходится разбираться, в каком контексте можно продолжить использовать открытый продукт, а в каком — уже нельзя. Как максимум — пересматривать инфраструктуру и разработку сервисов. 

Поэтому сервис-провайдеры активнее развивают форки открытого программного обеспечения. Так, Google и AWS и несколько других игроков присоединились к проекту Valkey (это — «ответвление» системы управления базами данных Redis). Как отметили ИТ-журналисты, крупные компании впервые настолько быстро сплотились вокруг единого форка. А в марте этого года он стал частью Linux Foundation. В то же время поставщики облачных услуг избирательноподходятквыбору сторонних open source проектов, которые ложатся в основу их сервисов. Разработчики стараются избегать лишних программных зависимостей и все чаще формируют собственные хранилища пакетов.

Такой подход не только исключает риски, связанные с внезапной сменой лицензии, но и положительно сказывается на информационной безопасности в целом. Так, в прошлом году в Google запустили сервис Assured Open Source Software с пакетами для Python и Java. Список курируют непосредственно специалисты компании. Они также представили бесплатный API-сервис Deps.dev с информацией о пакетных зависимостях. Работа с такими инструментами должна снизить вероятность ИБ-эксцессов вроде появления «закладок» в открытых продуктах.

Наконец, провайдеры всё чаще опираются на внутреннюю экспертизу — и меньше интересуются поддержкой сообщества. В прошлом году Amazon прекратила обновлять большую часть репозиториев AWS на GitHub. Это произошло всего спустя пять лет после того, как они появились на площадке.

В то же время борьба open source и облака разворачивается не только на уровне компактных утилит, но и на уровне комплексных решений, позволяющих развернуть полномасштабную облачную инфраструктуру. Крупные западные провайдеры проектируют масштабные экосистемы, которые, по сути, замыкают построение облачной инфраструктуры на предложения одного вендора, и ограничивают возможность перехода на другие решения. В таких условиях со стороны бизнеса растёт запрос на появление полнофункциональных облачных решений, не связанных с крупными провайдерами напрямую.

Какие проекты уже есть

Одну из первых попыток создать конкурентную альтернативу облачным платформам в 2010 году предпринял проект OpenStack. Он появился на свет, когда разработчики открыли исходный код платформ NASA Compute Project и Rackspace Cloud Files и объединили их в один комплекс. В последующих релизах к OpenStack добавляли новые сервисы, превращая систему во всё более функциональную альтернативу решениям от крупных облачных провайдеров. 

В 2012 году Rackspace решили передать права на дальнейшую разработку проекта некоммерческой организации OpenStack Foundation (сегодня известна как Open Infrastructure Foundation). И уже в 2015 году к проекту присоединилось более 500 корпораций и организаций поменьше. Проект развивается до сих пор и представляет собой модульную систему. На сегодняшний день в OpenStack входят десятки основных сервисов, исходный код которых распространяется под лицензией Apache. Среди них есть контроллер вычислительных ресурсов Nova, оркестратор Heat и балансировщик нагрузок Octavia.

Однако за последние несколько лет число корпоративных пользователей OpenStack сократилось почти в два раза. Дело в том, что проект представляет собой модульную систему, в которую входят десятки сервисов — например, провизор Nova, оркестратор Heat и балансировщик нагрузки Octavia. С одной стороны такой подход делает платформу гибкой, с другой — является источником проблем ИБ. Разрозненность сервисов упрощает задачу злоумышленникам, которым становится проще находить новые векторы атак. Так, четыре года назад в системе идентификации OpenStack Keystone обнаружили серию уязвимостей, позволяющую удаленно обходить ограничения безопасности. 

Исправить ошибки OpenStack и предложить достойную альтернативу платформе AWS стремится другая компания — UbiCloud. Её основатели — соучредители Citus Data и разработчики распределенной базы данных PostgreSQL. На сегодняшний день в составе UbiCloud находятся серверное веб-приложение, контрольная панель на Ruby, блочное хранилище и несколько других. Исходный код платформы доступен под лицензией AGPL 3 (хотя изначально ПО распространяли под лицензией Elastic). 

В качестве ключевых отличий проекта авторы называют в разы меньшую цену на свои услуги, по сравнению с лидерами рынка, а также возможность развернуть ПО на любой инфраструктуре — on premise или у сторонних провайдеров. При этом основатели компании прямо противопоставляют UbiCloud платформе OpenStack, в разработке которой участвует широкий набор корпораций. По их словам, OpenStack происходит «из другой эпохи», и из-за своей совместимости с десятками ОС и гипервизоров требует группы специалистов для настройки. В свою очередь, UbiCloud доступен как управляемый сервис, а также совместим с дополнительными open source утилитами — например, PostgreSQL.

Перспективы

На текущем этапе даже масштабные open source проекты не могут полностью заменить решения от крупных провайдеров. В то время как у лидеров рынка может насчитываться более двухсот отдельных сервисов под разные задачи, OpenStack и UbiCloud способны похвастаться всего несколькими десятками альтернатив. Хотя не все видят в этом проблему. Например, как заявляют разработчики UbiCloud, на практике большую часть ценности представляют примерно 10% от всех предложений AWS. Поэтому авторы UbiCloud в первую очередь сосредоточились на замещении именно этих сервисов по более низкой цене, чтобы быть конкурентоспособным на рынке. Пока неясно, насколько такой подход окажется удачным, но UbiCloud как минимум уже удалось привлечь 16 млн долларов инвестиций в начале этого года. 

При этом, как показал опыт OpenStack, развитию может помешать общая разрозненность в разработке. В конце 2010-х проект выпал из области интереса бизнеса, а многие из поддерживающих её компаний переключились на другие направления. Спонсоры OpenStack Foundation хотели, чтобы разработчик активнее внедряли новые функции для корпоративных клиентов, но не спешили инвестировать в экосистему средства в необходимых объёмах.

Изображение — James Lee — Unsplash.com

Изображение — James Lee — Unsplash.com

Наконец, кроме OpenStack и UniCloud, на рынке больше просто нет активно развивающихся альтернатив крупным облачным платформам. И этому есть причины: не все могут выдержать конкуренцию и масштабы, из-за чего со временем такие инициативы замораживают. Так произошло, например, с M3O. Проект анонсировали как API-хаб для сервисов, позже начали позиционировать как open source альтернативу платформе AWS с десятками облачных сервисов. Спустя несколько лет M3O трансформировался в универсальный публичный API-интерфейс. Разработчикам не удалось определиться с нишей: GitHub-репозиторий проекта заморозили в этом году, а сайт закрыли. 

Из крупных провалов можно также вспомнить Eucalyptus, разработку которого, по сути, приостановили после передачи прав между разными компаниями. Сегодня на его основе развивают несколько форков, ни один из которых, впрочем, не предлагает столько же сервисов, как UbiCloud или OpenStack. Впрочем, в зависимости от дальнейшей судьбы проектов, на рынке ещё могут появиться другие стартапы со своим взглядом на альтернативу крупным облакам.

beeline cloud — secure cloud provider. Разрабатываем облачные решения, чтобы вы предоставляли клиентам лучшие сервисы.

© Habrahabr.ru