Привет, Хабр! Я Максим Еремин, руководитель направления развития продуктов beeline cloud, и сегодня я хочу рассказать о нашем новом сервисе Cloud Kubernetes Clusters, который мы предоставляем вместе с компанией «Флант». Обсудим, что это за сервис, кому стоит задуматься о передаче управления компонентами Kubernetes «автопилоту» и при чем здесь NoOps.

Изображение — orbtal media — Unsplash.com

NoOps vs DevOps

Всё больше компаний переносят приложения на контейнерные платформы в облаке. Такой подход позволяет выстроить процесс разработки, управление обновлениями, повысить отказоустойчивость и сократить time-to-market. Однако в большинстве случаев облако предлагает базовые возможности «ванильного» Kubernetes, при этом многие задачи по конфигурированию и кастомизации остаются на стороне клиентов.

Здесь на помощь приходит NoOps. Эту концепцию предложил еще в 2011 году ведущий аналитик Forrester Майк Гуалтьери (Mike Gualtieri). В короткой (и провокационной) заметке он выдвинул тезис о том, что DevOps — это «шаг назад» в развитии ИТ-индустрии, а будущее — за подходом, при котором разработчикам вообще не нужно взаимодействовать с тестировщиками, администраторами и другими специалистами поддержки, а взамен — полагаться на предельную автоматизацию и возможности облака.

Тогда эта идея казалась утопичной, но развитие контейнеризации и появление Kubernetes привело к тому, что о NoOps заговорили всерьез. Правда, не в таком радикальном ключе, как предполагал автор термина: платформы, продвигающие NoOps-подход, действительно помогают избавить команды разработки и поддержки от рутины. Они могут автоматизировать операции по развертыванию и масштабированию инфраструктуры, управлять базовыми компонентами Kubernetes, фактически, перевести часть задач в режим автопилота. Но не предлагают полной замены поддержке — скорее, это продолжение и развитие философии DevOps.

Кому это нужно

Подход NoOps Kubernetes (или «автопилотируемого» Kubernetes) и соответствующие решения становятся актуальны, когда:

  • растет число требований к организации ИТ-инфраструктуры (по части безопасности, мониторинга, управления ролями, развертыванием приложений);

  • становится сложно выбирать из разнообразия решений, представленных на open-source рынке Kubernetes, а также «стыковать» их между собой;

  • повышаются запросы профильных сотрудников: от специалистов по ИБ, которых интересует безопасность конфигурации кластера, до DevOps’ов, которым может быть важна скорость запуска готового кластера, в том числе на отличающейся инфраструктуре, а также вопросы масштабирования и контроль за обновлениями;

  • не удовлетворяет базовый функционал, который предоставляется managed-сервисами из коробки — компании ищут платформенных решений;

  • растут масштабы использования Кubernetes-инфраструктуры.

Поэтому NoOps Kubernetes востребован в enterprise-секторе в сферах банкинга, ритейла, телекома: там, где есть необходимость в разработке и поддержке mission critical-приложений, которые, к тому же, чувствительны к динамическому масштабированию в зависимости от нагрузки. Кстати, такими сервисами интересуются не только B2C-компании, но и B2B — например, облачные провайдеры.

Что можем предложить мы

На нашем рынке «автопилотируемый» K8s предоставляет партнер beeline cloud, компания «Флант». К слову, она является одним из ведущих контрибьюторов в дистрибутив Kubernetes; в конце прошлого года коллеги из «Фланта» реализовали улучшение (Kubernetes Enhancement Proposal), которое вошло в версию 1.26. Их продукт — платформа Deckhouse, которая позволяет создавать Kubernetes-кластеры на любой инфраструктуре и обеспечивает управление ими.

В основе платформы лежит подход создания «автопилотируемой» инфраструктуры. Наша цель — минимизировать вовлечение инженеров в рутинные ручные операции управления кластерами Kubernetes. Например, если необходимо обновить кластер, платформа обеспечит автоматическое беспростойное обновление всех его компонентов. Deckhouse также проверит совместимость обновления с манифестами и подскажет инженеру, где необходимо внести изменения. Нам было важно обеспечить, с одной стороны, гибкость, максимально доступное количество модулей и возможность их конфигурирования под свои нужды, с другой — сделать так, чтобы все модули были преднастроены и интегрированы между собой.

— Екатерина Емельянова, менеджер по развитию продукта, «Флант»

Deckhouse лежит в основе нашего совместного решения — Cloud Kubernetes Clusters. «Флант» в данном случае отвечает за работу Deckhouse, а также за обновление Kubernetes, проверку на уязвимости всех сборок и модулей, которые идут в составе платформы. beeline cloud обеспечивает выполнение SLA по предоставлению решения в облаке, стабильность работы, безопасную инфраструктуру, на которой это решение развернуто, и возможность связать все с уже существующей инфраструктурой заказчика.

Работа в такой связке позволяет закрыть самые распространенные потребности: когда у клиента уже есть инфраструктура, но ему рядом нужен еще один Kubernetes, и все это дело нужно, например, «обвязать» VPN-сетью и предоставить как сервис. Без необходимости клиенту набирать инженеров, которые будут сами эти сети прокидывать.

А еще мы предоставляем компетенции: облачный провайдер — с точки зрения того, как интегрировать и внедрить Kubernetes во всю инфраструктуру клиента. «Флант» — с точки зрения того, как этому продукту работать на решение конкретных клиентских задач.

Kubernetes для больших и маленьких

До появления Cloud Kubernetes Clusters у нас в beeline cloud уже был сервис Kubernetes в облаке (Cloud Managed Kubernetes). Главное отличие между ними в том, что Kubernetes Clusters «заточен» на крупные компании, а Managed Kubernetes больше подходит небольшим проектам.

Cloud Managed Kubernetes — это мультитенантная история для маленьких заказчиков, которые хотят начать быстро пользоваться Kubernetes. Этот сервис ориентирован на клиентов, у которых нет задачи делать масштабное enterprise-приложение, зато есть задача хостить контейнеры и управлять ими из веба без сложных настроек — для выполнения типовых действий, с которыми может помочь Kubernetes.

Deckhouse, платформа, которая идет в составе услуги Kubernetes Clusters, нацелена на enterprise-клиентов. Это уже выделенный кластер, не мультитенантный. Запросы, на которые рассчитан Kubernetes Clusters, уже были у многих наших крупных клиентов: они спрашивали по поводу платформы, которая бы обеспечивала им, во-первых, простоту разработки приложений на микросервисах, во-вторых, все «enterprise-хотелки»: безопасность, работу с пользователями, автоматизацию процессов, в том числе и загрузку приложений, их эксплуатацию и мониторинг. Теперь мы предоставляем все это как коробочное решение, готовое под любого клиента, но с возможностью донастройки.

Вот несколько кейсов, когда крупной компании пригодится Cloud Kubernetes Clusters:

  1. Хочется запускать новые кластеры быстрее — и дешевле

Один из частых случаев: компания уже использует контейнеры для разработки приложений, при этом проектом занимается относительно небольшая команда. Разработчикам хочется быстро создавать идентичные кластеры в Kubernetes. Менеджменту — унифицировать требования к разработке, оптимизировать затраты на эксплуатацию и, по возможности, не нанимать для этого новых людей.

В таких условиях переход на решение в формате NoOps Kubernetes дает возможность запускать новые кластеры быстро (в одном из кейсов «Фланта» на это уходило не больше 20 минут) и относительно дешево (снижается стоимость владения кластером). Команда разработки может запускать приложения в Kubernetes по единым правилам — без необходимости нанимать дополнительных сотрудников в штат.

  1. Тяжело обслуживать Kubernetes-зоопарк

Тоже распространенный кейс — каждый вендор поставляет «свой K8s» вместе с софтом. Особенно тяжело ИТ-отделу бывает, если отказаться от конкретного вендорского софта нельзя (например, нужны решения отечественного разработчика), а в самом отделе нет специалистов, которые умеют работать с Kubernetes-зоопарком.

Изображение — Venti Views — Unsplash.com

Еще более сложный вариант: работа ведется с большими объемами кластеров, при этом в проектах занято множество команд, и каждая из них выбирает свое решение. Централизованно заниматься управлением и обслуживанием такого технологического стека становится крайне сложно: для этого потребовались бы супергерои от техподдержки с широчайшим диапазоном знаний и навыков (и не один, а несколько).

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

  1. Некогда копаться в рутине

Актуально для средних и больших ИТ-команд, развивающих свою developer-платформу на базе Kubernetes. Таким командам может пригодиться «NoOps в его классическом понимании» — возможность максимально автоматизировать рутину, развивать свою платформу и высвобождать время разработчиков для более важных дел.

  1. Нужно найти российское решение, не уступающее привычному вендорскому

В современных реалиях появился еще один сценарий: вендоры, на чьих решениях строилась архитектура ранее, ушли с российского рынка. Собственной экспертизы на обслуживание и поддержку зарубежного софта не хватает — либо его использование по ряду причин становится невозможным. Требуется не просто заместить ушедшие разработки российским ПО, но и подобрать вариант не хуже привычного западного: обеспечивающий поддержку, интеграцию и совместимость софта от разных вендоров, а также высокий уровень надежности и безопасности сервисов.

В основе Deckhouse лежит API-first подход — он позволяет легко настраивать интеграцию с большинством российских продуктов для оптимизации бизнес-процессов, управления и безопасности, а также с ОС Astra Linux и РедОС. При этом мы обеспечиваем SLA 99,95%, постоянную клиентскую поддержку (а еще обучение работе с сервисом — кстати, команда «Фланта» сейчас работает над углубленным вариантом обучающего курса) и 1 месяц тест-драйва. Если у вас остались вопросы по сервису Cloud Kubernetes Clusters, напишите в нашу поддержку или в комментариях к посту — я постараюсь на все ответить.

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