Сравниваем затраты: Managed Service for Kubernetes® против on‑premise Kubernetes®

Что дешевле: самостоятельно внедрить в свою инфраструктуру и в дальнейшем обслуживать Kubernetes® или использовать Managed Service for Kubernetes®, предоставив Yandex Cloud обслуживание и обновление всех компонентов кластера? Разбираемся в статье.

Статья будет полезна для SRE и DevOps-инженерам, которые хотят настроить в компании эффективную оркестрацию.

Kubernetes® является стандартом для управления и запуска контейнерных приложений. Система автоматизирует их развёртывание и масштабирование. Например, с помощью платформы контейнеризации можно разделить интернет‑магазин на микросервисы, а для управления их работой использовать Kubernetes®. У каждого из сервисов будут свои полномочия или своя функциональность: авторизация, обработка платежей, личный кабинет, корзина пользователя и т. д. Это может понадобиться, например, во время распродаж (чёрные пятницы и киберпонедельники) и крупных рекламных акций, когда авторизации и транзакции резко возрастают.

Благодаря такому подходу можно автоматически масштабировать наиболее загруженные сервисы. То есть платить нужно будет только за реально используемые ресурсы. Кроме гибкого и удобного масштабирования, Kubernetes® позволяет быстро перемещать контейнеризированные приложения без дополнительных инструментов и затрат на инфраструктуру.

Однако установка и настройка Kubernetes® может стать сложной задачей для команды, которая не имеет достаточного опыта в обслуживании систем оркестрации (централизованного управления) контейнеров.

Например, базовый on‑premise Kubernetes® включает установку только основных компонентов. Но для создания необходимой конфигурации (комбинации настроек) требуется реализация дополнительных систем. Чтобы успешно развернуть и использовать кластер Kubernetes®, нужно позаботиться о целом ряде важных, но не всегда очевидных аспектов.

Чтобы развернуть и использовать кластер Kubernetes®, необходимо:

  • Настроить аутентификацию и контроль доступа (Identity Provider — IDP).

  • Обеспечить доступность и отказоустойчивость узлов управления и рабочих узлов.

  • Организовать доставку и балансировку клиентского трафика (Load Balancer и Ingress).

  • Обеспечить постоянное хранение данных (создать персистентные хранилища).

  • Реализовать возможность автоматического масштабирования приложений в зависимости от нагрузки.

  • Настроить мониторинг и логирование.

В этой статье мы сравним стоимость инфраструктуры и аппаратных ресурсов, которые необходимы для установки и использования решения on‑premise Kubernetes® и Managed Service for Kubernetes®.

author
Команда Yandex Cloud

Сравнение стоимости

Стоит отметить, что для корректного сравнения реализованная структура on‑premise Kubernetes® должна обеспечивать выполнение задач, которые в облаке уже решены провайдером: высокая доступность, хранение данных и сеть. Для этого сравним Managed Service for Kubernetes® и решение on‑premise Kubernetes® с уже реализованными компонентами для хранения данных и балансировки сети.

Мы сравниваем стоимость on‑premise Kubernetes® и Managed Service for Kubernetes® из расчёта владения решением в течение 5 лет.

Для реализации on‑premise‑решения нужно:

  • Не менее трёх серверов‑хостов виртуализации для размещения управляющих и рабочих узлов кластера Kubernetes®, а также других вспомогательных виртуальных машин.

  • Высококвалифицированный специалист по виртуализации и контейнеризации. В данном случае не используется ПО, такое как VMware или Hyper‑V. На сегодняшний день затраты на специалиста составят 250–300 тысяч рублей в месяц (средняя сумма по рынку).

  • Высококвалифицированный специалист по сетям, который обладает знаниями в области MetalLB или Openstack Octavia, а также программно‑определяемых хранилищ, например Ceph, Linstor или GlusterFS. Затраты на такого специалиста также составят около 250–300 тысяч рублей в месяц (средняя сумма по рынку).

Также возьмём следующее количество ресурсов для запуска рабочих нагрузок:

  • 24 core.

  • 96 ГБ RAM.

  • 1 ТБ с производительностью уровня SSD (этот параметр взят условно).

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

В итоге получаем:

On‑premise Kubernetes®

Yandex Managed Service for Kubernetes®

Технические характеристики сервера

16 core Intel® Xeon® Silver 4314 Processor, 64 ГБ RAM, local disk х2 SSD 100 ГБ
shared storage disks x2 1,92 ТБ. Под рабочую нагрузку остаётся 8 cores, 32 ГБ RAM, так как ресурсы уйдут на гипервизор, один из трёх управляющих узлов Kubernetes®, SwDefinedStorage, сетевые и другие компоненты

Региональный кластер Kubernetes®, узлы, ALB на три зоны, диск 1 ТБ nSSD, поддержка

Стоимость сервера

Один такой сервер будет стоить 950 000 ₽. Для кейса нужно 3 сервера, при этом среднее время жизни для серверов посчитаем 5 лет. Таким образом, затраты в месяц составят 950 000 * 3 / 5 лет / 12 месяцев = 47 500 ₽

Итого: 80 143 ₽

Обслуживание и размещение (исходя из колокейшн)

47 000 ₽ в месяц (6 units — 3 сервера, порты 10 ГБ/с 6 шт., remote hands, интернет и питание)*

-

Зарплата сотрудников по нижней границе

500 000 ₽ (два специалиста)

300 000 ₽ (один специалист — инженер облачных сервисов)

Общие затраты в месяц

594 500 ₽

380 143 ₽

* При наличии собственного ЦОДа этот пункт исключаем.

Как облако помогает справляться с сезонным спросом

Whoosh, Flowwow и Level.Travel рассказали, как готовят инфраструктуру к сезонному всплеску продаж.

Из расчётов следует, что облачное решение в полтора раза дешевле по сравнению с on‑premise. Финансовая выгода очевидна. Кроме того, работая с Yandex Cloud, вам не нужно заниматься поиском и наймом специалистов, а также оплачивать затраты на электроэнергию и обслуживание аппаратной инфраструктуры.

Выводы

Управляемые решения, например Yandex Managed Service for Kubernetes®, гарантируют удобство использования, особенно если вам важны гибкость и масштабируемость. С помощью Yandex Managed Service for Kubernetes® вы можете легко установить и настроить кластер, а количество рабочих узлов автоматически масштабируется в зависимости от нагрузки. Управляемый сервис также интегрируется с другими продуктами Yandex Cloud и обеспечивает высокий уровень безопасности.

Важно отметить, что Yandex Managed Service for Kubernetes® соответствует версии, разрабатываемой сообществом (за исключением добавленных компонентов для интеграции с облачными сервисами, такими как диски, балансировщики, KMS). Это позволяет избежать привязки к конкретному облаку и использовать привычные инструменты управления, например Kubectl и Helm. Если нужно создать гибридную инфраструктуру, объединяющую облачные и локальные ресурсы, потребуются только незначительные изменения в манифестах приложений.

О преимуществах Managed Service for Kubernetes® вы можете прочитать в разделе «Истории успеха»: узнайте больше о том, как Picvario и RocketData мигрировали в Yandex Cloud и масштабировали свой бизнес с использованием управляемых решений от платформы.

Управляемое решение легче. Его дешевле купить и обслуживать. Managed Service for Kubernetes® надёжнее и доступнее on‑prem‑решения. Самостоятельное внедрение даёт вам больше возможностей для управления: вы сами контролируете решение и не зависите от изменения цен на услуги облачного провайдера.

Yandex Managed Service for Kubernetes®

Сервис для управления кластерами Kubernetes® в Yandex Cloud.

Напишите нам

Начать пользоваться Yandex Cloud

Тарифы

Узнать цены и рассчитать стоимость

Мероприятия

Календарь событий Yandex Cloud
Сравниваем затраты: Managed Service for Kubernetes® против on‑premise Kubernetes®
Войдите, чтобы сохранить пост