На протяжении всей своей инженерной карьеры, включающей работу в Amazon и Facebook, я ощутил преимущества использования открытого программного обеспечения, такого как elasticsearch, redis, MySQL и Postgres, для создания сложных платформ.
Сказать, что я и вся команда Plural поддерживаем программное обеспечение с открытым исходным кодом, будет преуменьшением.
- pluralsh / plural
- Развертывание ПО с открытым исходным кодом на kubernetes в рекордные сроки. 🚀
- Самый быстрый способ создания отличной инфраструктуры
- Преимущества использования программного обеспечения с открытым исходным кодом
- 1. Снижение стоимости
- 2. Изобретение колеса
- 3. Сильное сообщество
- 4. Портативное программное обеспечение
- Почему Open-Source вписывается в будущее DevOps
- Где Open-Source терпит неудачу в DevOps
- Снижение барьера для входа в Open-Source
pluralsh / plural
Развертывание ПО с открытым исходным кодом на kubernetes в рекордные сроки. 🚀
Самый быстрый способ создания отличной инфраструктуры
Plural дает вам возможность создавать и поддерживать облачно-нативную и готовую к производству инфраструктуру с открытым исходным кодом на Kubernetes.
Plural развернет приложения с открытым исходным кодом на Kubernetes в вашем облаке, используя такие общие стандарты, как Helm и Terraform.
Платформа Plural обеспечивает следующее:
- Управление зависимостями между модулями Terraform/Helm с развертыванием и обновлением с учетом зависимостей.
- Аутентифицированный реестр docker и прокси chartmuseum для каждого репозитория.
- Шифрование секретов с использованием AES-256 (чтобы вы могли хранить весь рабочий процесс в git).
Кроме того, Plural также обрабатывает:
- Выдачу сертификатов.
- Настройка службы DNS для регистрации полностью определенных доменов под onplural.sh, чтобы избавить пользователей от необходимости регистрации DNS.
- Быть провайдером OIDC, чтобы обеспечить безопасность входа «без касания» для всех приложений Plural.
Платформа plural получает все артефакты развертывания, необходимые для развертывания…
Когда я основал компанию Plural в 2021 году, рынок услуг с открытым исходным кодом оценивался в 21,7 миллиарда долларов, а 97% кодовых баз содержали программное обеспечение с открытым исходным кодом. В недавнем отчете MarketsandMarkets прогнозируется, что мировой рынок услуг с открытым исходным кодом достигнет 50 миллиардов долларов к 2026 году.
Программное обеспечение с открытым исходным кодом становится все более востребованным и начинает играть ключевую роль в эволюции инструментария DevOps.
Преимущества использования программного обеспечения с открытым исходным кодом
У разработчиков есть множество преимуществ использования программного обеспечения с открытым исходным кодом. Прежде чем перейти к более тонким вопросам, давайте начнем с очевидных преимуществ, которые большинство разработчиков получают сразу после внедрения открытого ПО в свой технологический стек.
1. Снижение стоимости
Программное обеспечение может быть чрезвычайно дорогим, особенно в моделях с переменными ценами, которые быстро увеличиваются до астрономических ежемесячных счетов. Часто это отходит на второй план по сравнению со временем выхода на рынок, но оптимизация расходов на программное обеспечение и инфраструктуру еще никогда не была столь ценной, особенно в мире, где финансирование не так обильно, а показатели окупаемости стоят на первом месте.
Я не говорю, что вы должны использовать только программное обеспечение с открытым исходным кодом, поскольку существует множество сценариев, в которых это не имеет смысла. Но вы должны серьезно рассмотреть решения с открытым исходным кодом в качестве альтернативы дорогостоящим программным продуктам.
В компании Plural мы используем первый стек программного обеспечения с открытым исходным кодом и в результате экономим десятки тысяч долларов в год на таких дорогостоящих продуктах, как Looker, Amazon RDS и Fivetran. Мы можем инвестировать эти деньги обратно в наших сотрудников и освободить бюджет для еще одного важного найма или увеличения расходов на маркетинг.
2. Изобретение колеса
Для зрелого стека потребуется множество субкомпонентов с вполне адекватными существующими реализациями. При создании своего продукта вам, скорее всего, понадобится использовать систему флагов функций, оркестратор заданий и, конечно же, реляционные базы данных. Реализовывать их самостоятельно — пустая трата времени, и, честно говоря, вам будет трудно превзойти в этом отношении проверенные в боях реализации в экосистеме с открытым исходным кодом.
3. Сильное сообщество
Высококачественные проекты с открытым исходным кодом имеют активные сообщества с тысячами разработчиков, которые вносят свой вклад в исходный код, разделяя и побеждая в решении чрезвычайно трудоемких задач. Отличным примером этого является Airbyte, платформа EL(T) с открытым исходным кодом, которая помогает вам реплицировать данные из разрозненных источников в хранилища данных, озера данных и базы данных.
Airbyte подключается к более чем 170 разнородным API, и написание экстракторов и загрузчиков для них является очень трудоемким процессом. Команда Airbyte проделала большую работу по созданию активного сообщества, которое стремится внести свой вклад в развитие платформы. Со временем они постепенно объединили все эти интеграции.
Другой ключевой аспект, связанный с сообществом, — это возможность получить согласие тысяч разработчиков. Некоторые из самых популярных проектов с открытым исходным кодом часто имеют наиболее удобные и функциональные API.
4. Портативное программное обеспечение
Наконец, я думаю, что одним из наименее ценимых атрибутов программного обеспечения с открытым исходным кодом является то, что оно создано для самостоятельного размещения. Это означает, что вы можете перенести приложение в среду, соответствующую требованиям безопасности вашей организации или для решения трудноразрешимых проблем с гравитацией данных.
Многие приложения, которые наши пользователи считают наиболее полезными, такие как Airflow и Airbyte, требуют доступа к внутренним базам данных, которые не могут быть доступны из централизованно размещенного SaaS-решения. Этот уровень переносимости становится суперсилой, когда вы начинаете бороться с этими проблемами».
Почему Open-Source вписывается в будущее DevOps
Ранее я намекнул, что open-source имеет уникальное значение для DevOps, и на этом стоит остановиться подробнее. Наши друзья из Gitlab определяют DevOps как методологию разработки программного обеспечения, которая направлена на интеграцию работы команд по разработке и эксплуатации программного обеспечения путем содействия культуре сотрудничества и общей ответственности.
По своей сути, DevOps — это проблема знаний для разработчиков. Ваша работа заключается в склеивании тонны разрозненных систем и обеспечении их нормальной работы, что подразумевает знание всех их внутренних компонентов и режимов сбоев.
Реалистично, единственный способ сделать эту ситуацию отслеживаемой — способствовать стандартизации, которая, как мы видим, постоянно возникает благодаря сильным сообществам с открытым исходным кодом, стимулирующим внедрение. Если перечислить типичный стек разработчика, то почти все программное обеспечение с открытым исходным кодом:
- Linux в качестве операционной системы
- Docker/containerd для контейнеризации
- Kubernetes в качестве механизма оркестровки
- Git для контроля версий
- Postgres для персистентности
- redis/Memcached для кэширования
- nginx/envoy/HAProxy для балансировки нагрузки
Этот стек с открытым исходным кодом значительно сокращает площадь поверхности, которую должен покрыть оператор, чтобы понять свою систему. Кроме того, благодаря тому, что исходный код и процесс разработки открыты для общественности, вы получаете богатые знания, которые пригодятся вам при устранении неполадок, поскольку, скорее всего, на Github найдется какой-нибудь вопрос или сообщение на форуме, касающееся того, с чем вы столкнулись в данный момент.
И наконец, возможность самостоятельного хостинга решений является основным отличительным признаком инструмента DevOps. Практически любой инструмент, затрагивающий жизненный цикл разработчика, представляет собой высокий риск безопасности, который может либо повлиять на доступность вашего продукта, либо привести к утечке ценных IP-адресов. Я не могу не подчеркнуть, насколько важно держать все инструменты, обращенные к разработчикам, в защищенных сетях с проверенной инфраструктурой.
Конечно, простота использования и время выхода на рынок — это противоположные проблемы, но любой инженер сегодня понимает, какие последствия для организации может иметь нарушение безопасности. Если вы можете принимать собственные обоснованные решения, я настоятельно рекомендую вам выбрать частный экземпляр для большинства инструментов разработчика.
Где Open-Source терпит неудачу в DevOps
Я бы не был справедливым по отношению к сообществу, если бы быстро не объяснил, почему некоторые люди до сих пор с осторожностью относятся к открытым исходным кодам.
Первое, что обычно бросают скептики open-source, — это качество продуктов с открытым исходным кодом. Я могу подтвердить это, поскольку лично видел некоторые проекты с открытым исходным кодом, которые не поддерживаются должным образом, и в результате являются низкокачественной альтернативой SaaS-решению.
Я часто вижу это в веб-приложениях, разработанных с открытым исходным кодом, где дизайн и качество продукта не идут ни в какое сравнение с конкурентом с закрытым исходным кодом. Отличный пример — Apache Superset против Looker. Мы являемся счастливыми пользователями Apache Superset в Plural, но мы соврем, если скажем, что этот продукт так же хорош, как Looker, который является лидером рынка не просто так.
Также важно отметить, что стоимость владения иногда скрыта в продуктах с открытым исходным кодом. Конечно, внедрение любого продукта с открытым исходным кодом, теоретически, «дешево». Однако существует неясная стоимость инженерных накладных расходов на управление развертыванием в долгосрочной перспективе.
Большинство продуктов SaaS имеют прозрачную стоимость, которая доступна на странице с ценами, и даже если это модель ценообразования на основе потребления, вы все равно можете получить общее представление о том, сколько это будет стоить в месяц. Если вы не сможете правильно управлять решениями с открытым исходным кодом, стоимость может быстро увеличиться или, что еще хуже, превратиться в ненадежный продукт.
Снижение барьера для входа в Open-Source
В конечном итоге, мы считаем, что проблема качества является следствием истинной проблемы — стоимости владения. Если внедрение программного обеспечения с открытым исходным кодом будет легким, то возникнет спрос на качество решений с открытым исходным кодом. В свою очередь, этот спрос будет удовлетворяться жизнеспособными, финансируемыми предприятиями, занимающимися разработкой решений с открытым исходным кодом, которые предоставляют необходимые ресурсы для удовлетворения растущего спроса. Однако этот спрос будет оставаться низким, если пользователи будут чувствовать, что стоимость начала работы высока.
К счастью, компания Plural стремится сделать внедрение решений с открытым исходным кодом делом двух команд и ожидания предоставления кластера K8s, а также обеспечить бесперебойную работу в долгосрочной перспективе. Надеюсь, это станет толчком для следующей волны программного обеспечения с открытым исходным кодом и снизит барьер для входа, когда речь идет о том, чтобы начать работать с открытым исходным кодом.
Чтобы узнать больше о том, как работает Plural и как мы помогаем инженерным командам по всему миру развертывать приложения с открытым исходным кодом в облачной производственной среде, свяжитесь со мной и остальными членами команды.
Вам нравится то, что мы делаем, и вы хотите внести свой вклад в нашу кодовую базу? Ознакомьтесь с нашей кодовой базой
Готовы без усилий развернуть и эксплуатировать приложения с открытым исходным кодом за считанные минуты? Начните работу с Plural уже сегодня
Присоединяйтесь к нам на нашем канале Discord для вопросов, обсуждений и знакомства с остальными членами сообщества.