15 лет «Фланта»: переход от сервисной компании к продуктовой, покупка внешнего продукта, вера в Open Source

Моя цель - предложение широкого ассортимента товаров и услуг на постоянно высоком качестве обслуживания по самым выгодным ценам.

В мае 2023 года «Фланту» исполнилось 15 лет. За это время из небольшого предприятия двух друзей-студентов, которые мечтали поставить GNU/Linux на каждый рабочий стол, мы выросли в команду опытных и уважаемых в индустрии DevOps-инженеров и активно трансформируемся в продуктовую компанию с собственной экосистемой продуктов.

В этой статье мы хотели порефлексировать о переходе от сервисной компании к созданию собственных продуктам, рассказать, как эти продукты развивались и что с нами произошло за последние 5 лет.

Сразу обозначим свой «символ веры». Услуга DevOps as a Service (DaaS) была, есть и будет основой нашей продуктовой линейки. Именно благодаря инженерам, которые 24/7 обслуживают сотни клиентских кластеров, мы можем получать максимально быстрый фидбэк по своим продуктам, тестировать новые релизы и собирать кучу новых идей для дорожной карты. То есть в нашем случае услуга, как бы странно для классических продуктовых компаний это ни звучало, является одним из ключевых компонентов продуктовой разработки.

Первые 10 лет: как мы искали свою суперсилу

Первые 10 лет проскочим довольно быстро, хотя именно они заложили основу того «Фланта», который существует сегодня. Мы уже писали статью к своему десятилетию — в ней все рассказано гораздо подробнее. Остановимся лишь на том, что особенно важно в контексте этого материала.

В 2008 году два друга — студенты одной кафедры и тезки — основали «Флант». Всё было пропитано духом авантюризма: любовь к Open Source, романтика, мечты о Linux на каждой рабочей станции. Кстати, именно тогда мы написали свой первый продукт — панель управления хостингом. С самого начала мы то и дело писали небольшие утилиты для собственных нужд.

Дальше был долгий период становления бизнеса — причем без поддержки инвесторов и внешней помощи. Мы постепенно определялись с направлением работы: сначала обслуживали «всё под Linux», потом ограничились шестью направлениями, затем — четырьмя. Где-то тут появился и наш первый международный сертификат — мы стали авторизованным партнером Canonical.

В 2015 году мы признали, что основным фокусом все это время были веб-приложения, и «официально» отказались от остальных видов деятельности. А еще спустя небольшое время сузили услуги до обслуживания инфраструктуры на Kubernetes. Да, в Kubernetes и Docker мы поверили практически сразу после их появления, потому что до этого сами, как и некоторые другие игроки рынка, пытались сделать жизнь лучше похожими, но сделанными собственноручно решениями. В частности, у нас был внутренний проект по созданию инструментов для удобного управления изоляцией на базе Linux cgroups… 

Когда же мы сделали ставку на Kubernetes, это тоже потребовало определенных «обвязок» — ведь ни для кого не секрет, что технология молода, сложна и очень быстро меняется. Чтобы автоматизировать нетривиальные процессы установки и настройки инфраструктуры, реализации CI/CD, мы регулярно писали скрипты, операторы и какие-то мелкие утилитки для упрощения работы. В частности, было два интересных проекта: dapp (теперь уже werf) и shell-operator. 

Наш CEO Александр Баталов не нашел золота в песке. И мы продолжили искать его в бизнесе:) Корпоратив «Фланта», 2017 год
Наш CEO Александр Баталов не нашел золота в песке. И мы продолжили искать его в бизнесе:) Корпоратив «Фланта», 2017 год

werf мы начали разрабатывать в 2016 году — он помогал выстроить процессы CI/CD для приложений наших заказчиков быстро и эффективно, а также предлагал унифицированный подход для их дальнейшей поддержки и совершенствования. 

А shell-operator позволял писать операторы для K8s на Shell/Bash или Python. Оба инструмента мы в итоге выложили в Open Source и они остаются полностью открытыми по сей день. Подробнее об этих проектах мы ещё расскажем ниже.

В 2017 году мы сделали ставку на Okmeter как систему мониторинга инфраструктуры. До этого наши инженеры уже перепробовали самописные скрипты и веб-приложения, Cacti, Zabbix и другие инструменты, но все было не то. И мы поняли: надо либо делать какое-то полноценное внутреннее решение, либо искать что-то готовое. Делать свое с нуля было бы долго и сложно, а достойный инструмент был нужен «уже вчера»: как минимум, от качества мониторинга зависели штрафные санкции, зафиксированные в SLA, а как максимум — уровень сервиса и наша репутация.

И хотя мы тогда этого не понимали, именно werf, shell-operator и Okmeter стали основой нашей будущей продуктовой экосистемы — причем все они появились в жизни «Фланта» примерно в одно время, в 2016-2017 годах. В последующих разделах статьи мы разберем, как эти продукты эволюционировали, как мы переосмыслили свой подход к их развитию и что с ними происходит сейчас. А в завершении расскажем, какие еще важные события произошли в жизни «Фланта» за последние пять лет.

werf: первый большой Open Source-проект, CNCF и капитан Флинт

В 2016 году мы начали работать над внутренним инструментом под названием dapp, который автоматизировал сборку Docker-контейнеров. Со временем он вырос в решение для управления всем жизненным циклом поставки программного обеспечения в Kubernetes. Это был не первый Open Source-проект «Фланта», но по масштабам он заметно превосходил все предыдущие. 

Dapp стал не просто какой-то небольшой утилиткой, он оказался связующим звеном для ряда других решений и процессов, превратившись в важный инструмент, который наши инженеры ежедневно использовали в работе. В нем мы реализовали свое видение того, «как делать правильно»: годами мы накапливали лучшие практики, оттачивали процессы CI/CD и наконец сумели автоматизировать их с помощью собственного программного решения.  

Когда ты оказываешь услуги, самое лучшее, что можно сделать для повышения эффективности — это унифицировать процесс оказания услуг. Dapp как раз выступил в качестве единого каркаса для построения процессов CI/CD в разных проектах, имеющих разные особенности и требования.

Со своей задачей утилита справилась: реализация CI/CD-пайплайнов была значительно упрощена, а инженеры получили что-то вроде тюбика клея, который позволял объединять и адаптировать под каждый проект стандартную связку популярных инструментов: Docker, Git, Helm, Container Registry, Kubernetes. Так у нас появился полноценный внутренний продукт. 

Кстати, именно таким путем изначально рождались все наши продукты: мы делали что-то под себя, а потом понимали, что ценность в этом есть и для внешнего сообщества.

Из dapp в werf

Однако с dapp возникла небольшая проблема: название со временем стало все больше ассоциироваться с разными блокчейнами. Поэтому 22 октября 2018 года мы начали придумывать для него другое название. Конечно, за основу взяли морскую тематику, моду на которую в DevOps-тусовке ввел Docker, а потом поддержал знаменитый «Кормчий» — и речь не про старину Мао

Источник: https://habr.com/ru/companies/flant/articles/743462/


Интересные статьи

Интересные статьи

MLOps использует проверенные методы DevOps для автоматизации создания, развертывания и мониторинга конвейеров ML в производственной среде. По мере развития MLOps-инструментов для работы с ним стан...
В соответствии с новыми требованиями (проект постановления Правительства, вносящего изменения в постановление от 17 июля 2015 г. № 719, опубликован 22.10.2021, публичное обсуждение до 15.11.2021, ...
22 июня автор курса «Разработчик C++» в Яндекс.Практикуме Георгий Осипов провёл вебинар «Вычисляем на видеокартах. Технология OpenCL». Мы подготовили для вас его текстовую версию, для удобства разб...
Мы живем в мире, где у опытного IT-инженера куча путей развития. Можно пойти в мега-корпорацию, устроится в стартап, открыть свою фирму или уйти на фриланс. ...
Приветствую всех читателей "Хабра". Дисклеймер Статья получилась довольно длинная и тем кто не хочет читать предысторию, а хочет перейти сразу к сути прошу прямиком к главе "Решение" Вступлени...