
Kubernetes — открытое решение, которое можно развернуть самостоятельно. Собственная разработка дает полный контроль, но требует много времени и экспертизы. Есть и коммерческие K8s-платформы, которые упрощают эксплуатацию. Эксперты из крупного бизнеса рассказали, какой подход они выбрали для себя.
- Введение
- Какой подход выбирает крупный бизнес
- Зачем платить вендору, если Kubernetes бесплатный
- Какая команда есть внутри
- Сколько времени нужно на создание собственной платформы?
- Плюсы вендорского решения
- Выбор продукта: что стоит учитывать
- В чём ценность Kubernetes?
- Выводы
Введение
Kubernetes стал стандартом для оркестрации контейнеров, но его настройка и поддержка могут быть сложными. В исходном виде Kubernetes гибок, распространяется свободно, но требует глубоких знаний. С другой стороны, есть коммерческие дистрибутивы и управляемые (managed) решения, которые упрощают жизнь за дополнительную плату.
В совместном эфире AM Live и разработчиков платформы «Штурвал» эксперты провели сравнительный анализ обоих подходов, рассмотрев ключевые факторы, которые должны влиять на выбор. Вы узнаете, в каких случаях самостоятельное развертывание Kubernetes оправдано, а когда разумнее довериться готовым платформам от ведущих вендоров.
Рисунок 1. Эксперты в студии AM Live
Участники эфира:
- Александр Базарнов, руководитель направления развития систем электронного бизнеса, Почта Банк.
- Игорь Лабудев, руководитель центра компетенций разработки и тестирования, АЛРОСА ИТ.
- Андрей Колесников, руководитель группы разработки, «Авито».
- Михаил Марченко, руководитель центра DevOps, Beeline Cloud.
- Андрей Жуков, руководитель разработки платформы продвижения Wildberries & Russ.
Ведущий и модератор эфира — Владимир Беляевский, исполнительный директор, «Лаборатория Числитель».
Какой подход выбирает крупный бизнес
Андрей Жуков:
«WB — большая компания с высокими нагрузками, с которыми не справился бы ни один вендор. Уже много лет мы развиваем собственные решения в разных сферах. Накапливается опыт создания платформы, эксплуатации — всё это обрастает самописными инструментами. Многие вещи приходится узнавать самостоятельно. Используется не “ванильный” Kubernetes, а сильно допиленный, как и инструментарий вокруг него».
Михаил Марченко:
«До 2021 года всю систему в “Билайне” поддерживали вендоры. Однако мы решили уйти от использования чужих продуктов, так как были проблемы, и приняли решение собрать свою K8s-платформу на базе Open Source».
Михаил Марченко, руководитель центра DevOps, Beeline Cloud
Александр Базарнов:
«Мы пробовали “ванильный” K8s, но для нас предпочтительнее оказалось использование коробочного решения. Выбирали из многих вариантов, но в итоге остановили свой выбор на платформе “Штурвал”. Она позволяет легко масштабироваться, стандартизировать подходы к разработке и безопасности, строить действительно сложные технологические системы. Сейчас при помощи платформы создаются кластеры Kubernetes для всех ИТ-систем банка».
Андрей Колесников:
«В “Авито” много лет используется и развивается своя платформа. Уже более пяти лет используется собственный PaaS с множеством подуровней, слоев. В последние годы идет тенденция на замену Open Source решений собственными, расширяются возможности по автоскейлингу, облачным платформам, на которых мы можем размещаться. Совершенствуем PaaS под конкретно наши нужды, чтобы быть ещё эффективнее».
Игорь Лабудев:
«Сейчас используем решения на базе открытого кода. Своя экспертиза строилась изначально в Open Source, но появились требования регулятора, которые предопределяют наш выбор. Мы будем отказываться от Open Source не только в части систем контейнеризации, но и в целом. Пока мы склоняемся к выбору вендорского продукта, так как для небольшого или среднего объёма достаточно дорого содержать собственную команду разработки, которая будет заниматься тонкой настройкой, сборкой и всеми сопутствующими процессами. Сейчас активно выбираем и анализируем представленные на рынке решения».
Игорь Лабудев, руководитель центра компетенций центра разработки и тестирования, АЛРОСА ИТ
Зачем платить вендору, если Kubernetes бесплатный
Владимир Беляевский уточнил, что Kubernetes в чистом виде никто не использует. Обычно под этим подразумевают собственную сборку разных компонент внутри компании. Но сам Kubernetes бесплатный и доступен для скачивания каждому. Зачем тогда нужны вендорские решения?
Александр Базарнов объяснил, что теоретически Kubernetes бесплатен, но если готовить его для продуктива, нужно учитывать трудозатраты, которые за этим последуют. Kubernetes в чистом виде — больше про апробирование технологии или минимально жизнеспособные продукты (MVP), что, возможно, подойдёт для стартапа и небольших компаний. При этом использовать его для большой инсталляции сложно. Опенсорсный продукт в том виде, в котором его можно скачать, не подойдет для бигтехов и крупных компаний.
Зачем вообще нужны сборки? Здесь вопрос в том, куда эффективнее вкладываться — либо в собственное решение, либо в готовое. Платформа управления Kubernetes — это история про стандарты. Оптимизацию лучше всего проводить через стандартизацию — так удобнее масштабироваться, передавать экспертизу, сопровождать.
Александр Базарнов, руководитель направления развития систем электронного бизнеса, Почта Банк
Андрей Жуков уверен, что крупной компании не обойтись «чистым» Kubernetes, его нужно дополнить способами доставки, авторизации, механизмами безопасности, мониторингом и прочим. Отсюда вопрос — возможно ли всё сопровождать самостоятельно, есть ли специалисты, готовые развиваться. Когда компания достигает определённого размера, масштабирование становится неизбежным: поддержка Kubernetes через вендора становится слишком дорогой, и выгоднее развивать собственную команду.
Михаил Марченко рассказал, что они отказались от вендорских решений — были сложности интеграции с существующим ИТ-ландшафтом. Есть центр мониторинга (SOC) и другие инструменты, которые уже хорошо работают. Чтобы интегрировать вендорское решение, были необходимы дополнительные прослойки и коннекторы. Трудозатраты оказались выше, чем при создании своего решения с нуля.
Андрей Колесников уверен, что Kubernetes в чистом виде никто не использует — с первых месяцев эксплуатации становится понятно, что нужны автоматические сборки, деплой, индивидуальные ресурсы (CRD) и прочее. Переход к собственной разработке — это непростое решение, которое приносит свои плоды через один-два года.
Кроме самого Kubernetes в платформе необходимо использовать сетевые плагины (CNI), Ingress-контроллеры — это стандартный набор средств, чтобы получить базовую функциональность. Далее нужно закрыть вопросы администрирования — командную строку (CLI) не все могут использовать, поэтому хорошо, если есть графический интерфейс. Также уже стали стандартными такие инструменты, как Argo CD, средства мониторинга, трассировки, логирования. Кроме этого, нельзя обойти вопрос безопасности контейнерных сред.
В рамках первого опроса зрители поделились, какой Kubernetes они используют: в чистом виде — 37%, российское коробочное решение — 25%, свою разработку — 25%. Фактически, больше половины респондентов так или иначе допиливают “ванильную” версию.
Рисунок 2. Какой Kubernetes вы используете?
Какая команда есть внутри
Андрей Колесников:
«На заре разработки у нас была одна команда, которая работала над созданием концепции. Первые плоды мы получили быстро, а на последующее внедрение и оптимизацию ушло около года. Сейчас команд больше, так как нужны ещё и различные инфраструктурные сервисы. Например, чтобы разработчик получил базу данных, он в своём коде это указывает буквально в одну строку и автоматически получает доступ. У нас есть порядка 10 команд, которые частично или полностью развивают платформу – это около 60-70 человек».
Андрей Жуков:
«Есть ядерная команда, которая занимается базовыми вещами, чтобы не приходилось поднимать с нуля “кубы”, настраивать Postgres. Есть команда из нескольких десятков человек, которые делают “кубы”, PaaS, Postgres, S3-хранилища. Появляются свои инфраструктурные команды, которые делают специфичные инструменты для разработки».
Андрей Жуков, руководитель разработки рекламной платформы, RWB Media
Игорь Лабудев:
«У нас команда из 10 человек, эксплуатирующая до 20 развёртываний. Мы оказываем тот уровень поддержки кластеров, который требуется для компании, но если потребности возрастут, этого количества людей не хватит. Сейчас нет возможности развивать свои решения, мы комбинируем те инструменты, которые берём в Open Source. Возникают задачи, связанные с встраиванием систем в сетку требований ИБ. Это отдельный фактор, который влияет на приживаемость системы в целом. Для крупных компаний, у которых есть специфические требования в платформе, вендору их реализовывать экономически невыгодно. Возникает необходимость в создании своего продукта, а для этого нужно собрать команду и поставить им задачи».
Михаил Марченко:
«Команда Kubernetes состоит из 6–7 человек, которые занимаются поддержкой самого Kubernetes, интеграциями, помогают в разборе инцидентов. Зачастую они оказывают помощь продуктовым командам, которые потребляют эти сервисы».
Александр Базарнов:
«Готовый вендорский продукт поддерживает всего условных два инженера вместо десятка. Наш масштаб — порядка 30 кластеров Kubernetes. Под поддержкой я понимаю решение проблем, работа с тикетами, взаимодействие с вендором, кастомизация».
Сколько времени нужно на создание собственной платформы?
Игорь Лабудев:
«Платформа существует четыре года, под этим мы понимаем совокупность развёрнутых и протестированных компонентов, которые находятся в эксплуатации. Нужно учитывать, что есть большое количество унаследованных приложений, которые никогда не будут контейнеризированы. Первые один-два года — это период накопления экспертизы: внутреннее развитие, привлечение сторонних специалистов. После закрытия основных моментов, связанных с компонентами, которые мы эксплуатируем, развитие стало менее динамичным, но более точечным».
Андрей Колесников:
«Проработка идеи и реализация заняли месяцы, а развитие и разработка крупных компонентов, переработка или пересмотр каких-либо моментов длится годами. Этот процесс будет продолжаться и дальше, так как технологии развиваются стремительно».
Андрей Колесников, руководитель группы разработки, «Авито»
Михаил Марченко:
«Мы постоянно живём в развитии. До момента запуска продуктивной нагрузки прошло достаточно мало времени. Драйвером выступала бюрократия в компании. Потребовалось порядка двух месяцев до первого тестового Kubernetes».
Андрей Жуков:
«Все развивалось динамично с самого начала. За несколько месяцев мы сделали всю автоматизацию. Теперь команда может заниматься интересными вещами, а не только рутинными операциями. Платформа развивается уже около десяти лет — это непрерывный процесс. Построение платформы, пригодной для эксплуатации, заняло несколько месяцев, так как нужно было делать быстро — некогда ждать».
Плюсы вендорского решения
Александр Базарнов рассказал, что сначала банк стремился создать собственную платформу. Но всегда нужно учитывать, на каком этапе развития находится ваша компания и, конечно, её масштаб. Для создания собственной платформы Почта Банку бы пришлось собирать свою команду разработки, тестирования, поддержки — фактически, организовать продуктовую вертикаль, что достаточно затратно. После долгих поисков решения, удовлетворяющего перечень требований, нашёлся подходящий вариант, который сейчас успешно внедрён и используется. Всё должно исходить из задач компании: главное — эксплуатировать тот инструмент, который будет полезен.
Игорь Лабудев добавил, что есть требования регуляторов, от которых не уйти. Также стоит понимать: если выходить на сложные масштабные развёртывания, нужно сильно вырасти во внутренней компетенции, а это сложная задача для небольшой команды. Проще купить вендорское решение, чтобы он закрыл эту задачу в своей платформе. В какой-то степени это разделение рисков.
Во втором опросе зрители ответили, стоит ли платить за удобство или лучше взять всё в свои руки: комфорт выбирают 71%, контроль — 29%.
Рисунок 3. Стоит ли платить за удобство или лучше взять контроль в свои руки?
Выбор продукта: что стоит учитывать
Игорь Лабудев считает, что это многофакторная задача. Есть технические требования, которым должен соответствовать продукт. Взаимоотношения с партнером также могут сильно влиять на выбор. Платформа существует не в вакууме — есть операционная система, интеграции со смежными продуктами. Кроме этого, он должен обладать соответствующей репутацией и необходимыми возможностями — нужно ориентироваться на 5-7 лет.
Александр Базарнов уверен, что при выборе вендора стоит оценивать его репутацию и потенциал, а также как долго компания работает на рынке. Критерии зависят от конкретного заказчика, но есть базовые требования, которым должна соответствовать платформа:
- Автоматизировать жизненный цикл кластеров Kubernetes: установка, обновление, настройка — всё должно быть «из коробки».
- Бесшовно интегрироваться с существующей ИТ-инфраструктурой.
- Обеспечивать высокий уровень технической поддержки и сервиса (SLA).
- Насколько много разных функций вендор берет на себя. Если зависимость от вендора велика, такая платформа не нужна: у заказчика должна оставаться базовая возможность управления Kubernetes. Платформа не должна быть точкой отказа.
- Возможности кастомизации под себя.
Также можно рассматривать такие критерии, как лицензирование, документация, возможности импортозамещения.
Важно помнить, что за продуктом стоит конкретная команда. Если она слышит замечания и пожелания, адаптируется и выкатывает новые функции, то это основа долгосрочного сотрудничества.
Андрей Жуков добавил, что если у компании нет специфических требований и амбиций делать свой продукт, и она понимает свои потребности и видит, что вендор их может удовлетворить, то можно с выбрать решение от поставщика.
Финальный опрос показал, что только 29% зрителей готовы отдать вендору свой продуктив на поддержку. 71% проголосовал против.
Рисунок 4. Отдали ли бы вы на поддержку вендору ваш продуктив?
В чём ценность Kubernetes?
Михаил Марченко уверен, что наибольшая ценность Kubernetes, как инструмента заключается в том, что команде всегда известно, как развернуто. Можно структурировано описать, какие вносятся изменения.
Андрей Жуков объяснил, что вся инфраструктура превращается в код. Это можно эффективно использовать, видеть, как всё развивалось. Можно получить оркестровку сервисов и добиться гибкости.
Владимир Беляевский подытожил: если у компании есть особые требования, высоконагруженная инфраструктура, большая команда, то нужно развиваться в сторону собственной разработки. Чаще всего такие компании уже сделали этот выбор и этим занимаются. Компаниям с более стандартными требованиями, отсутствием лишних внутренних ресурсов и не имеющим желания идти в свою разработку стоит обратиться к вендору.
Владимир Беляевский, исполнительный директор, «Лаборатория Числитель»
Выводы
Выбор между «ванильным» Kubernetes и коммерческими решениями сводится к балансу между контролем, затратами и удобством.
Первый вариант даёт максимальную гибкость и независимость от поставщика, но требует глубокой экспертизы и значительных трудозатрат на настройку, обновление и поддержку. Это хороший вариант для команд, которые готовы вкладываться в развитие собственных компетенций и имеют специфические требования к инфраструктуре.
Коммерческие решения предлагают готовую, предварительно настроенную платформу с встроенными инструментами мониторинга, безопасности и CI / CD. Они избавляют от рутинного администрирования, ускоряют развертывание и снижают операционные риски, но за это приходится платить — как деньгами, так и некоторой зависимостью от вендора.
Итоговое решение зависит от контекста. Если важен полный контроль над инфраструктурой и есть ресурсы на её обслуживание — собственный Kubernetes будет оптимальным выбором. Если же в приоритете скорость выхода на рынок, стабильность и минимизация операционных накладных расходов, коммерческие решения окупят вложенные средства. В конечном счёте, правильный выбор определяется сочетанием технических требований, бюджета и стратегических целей компании.
Телепроект AM Live еженедельно приглашает экспертов отрасли в студию, чтобы обсудить актуальные темы российского рынка ИБ и ИТ. Будьте в курсе трендов и важных событий. Для этого подпишитесь на наш YouTube-канал. До новых встреч!