Почему Kubernetes
Kubernetes — лидирующая Open Source-платформа для работы с контейнерами, общепризнанный стандарт оркестрации. Это оптимальное решение для развертывания микросервисной инфраструктуры и cloud-native-приложений.
-
91% компаний — участников сообщества Cloud Native Computing Foundation (CNCF) используют Kubernetes. i
-
K8s — один из самых популярных проектов на GitHub: более 4000 компаний-контрибьюторов. i
-
Все больше организаций используют Kubernetes в production. i
Как растет процент организаций,
которые
используют K8s в production
i
«Kubernetes — универсальный язык общения между отделами разработки (Developers) и эксплуатации (Operations). В этом его главная ценность».
Это один из ключевых тезисов доклада нашего технического директора Дмитрия Столярова «Как правильно сделать Kubernetes».
Доклад особенно полезен тем, кто только планирует внедрять K8s. Дмитрий рассказывает, с какими трудностями приходится сталкиваться при внедрении и как эти трудности решать.
Преимущества Kubernetes для бизнеса
-
Ускорение процесса разработки
73% респондентов Portwox относят это к главному преимуществу K8s.
Благодаря простоте управления K8s и автоматизации разработчики меньше времени тратят на работу с инфраструктурой и больше — на сам код. Продукты быстрее выходят на рынок.
-
Экономное использование
вычислительных ресурсов77% респондентов Pepperdata используют K8s, чтобы экономить на облачных ресурсах.
K8s помогает оптимально утилизировать физические и виртуальные серверные ресурсы, в том числе за счет автоматического масштабирования кластера. Кластеры можно разносить по разным облачным провайдерам.
-
Легкая миграция в облако
39% респондентов VMware назвали легкую миграцию в облако одной из причин использования K8s.
Кластеры разворачиваются локально, на bare metal и в облаке. Контейнеризированные приложения можно переносить между кластерами — это упрощает миграцию в облако и помогает перейти на гибридную модель инфраструктуры.
-
Kubernetes — стандарт индустрии
Стандартизация — ключевой драйвер внедрения K8s в production по данным исследования DoKC.
Стандартизация снижает риски поддержки Kubernetes-инфраструктуры: на рынке все больше инженеров, которые знакомы с K8s, и сервисных компаний с профильной экспертизой. Можно сэкономить на обучении и найме, в первую очередь — разработчиков.
Как начать работать с Kubernetes
Есть три основных варианта
-
1. Делать самим
K8s — решение с открытым кодом, у которого есть бесплатные версии. Создавать и обслуживать инфраструктуру на базе Kubernetes можно самостоятельно. Однако этот вариант все менее популярен. По оценке VMware, доля компаний, которые делают собственный Kubernetes, в 2020 году составляла 29%, в 2021‑м — уже 18%.
Почему это непопулярный вариант
-
Kubernetes — это сложный конструктор
Одного «ванильного» Kubernetes для production недостаточно. Чтобы создать полноценную инфраструктуру на базе K8s, нужна интеграция с инструментами мониторинга, логирования, безопасности — и это только базовый набор сервисов. Kubernetes можно сравнить с айсбергом, подводная часть которого увеличивается по мере усложнения проекта и роста требований к инфраструктуре.
-
Нехватка специалистов
K8s необходимо обслуживать и регулярно обновлять. Для этого нужна отдельная команда эксплуатации числом не менее 5 человек. Вместе с тем на рынке увеличивается дефицит квалифицированных DevOps-инженеров. Сформировать собственный DevOps-отдел из опытных специалистов очень сложно, а для большинства компаний попросту нереально. На то, чтобы вырастить инженеров внутри компании, могут уйти годы.
-
-
2. Использовать готовую платформу
Kubernetes-платформы — это готовые решения для работы с K8s. Они подходят тем, для кого эксплуатация K8s не является ключевой компетенцией бизнеса. Для решения вопросов по обслуживанию платформы потребуются собственные инженеры, однако это не будет их основной деятельностью.
Kubernetes-платформы качественно упрощают работу с K8s. Кроме того, они не привязаны к поставщикам ресурсов, поэтому для инсталляций можно использовать разную инфраструктуру: bare metal, частные и публичные облака.
Примеры Kubernetes-платформ:
-
OpenShift
-
Tanzu
-
-
3. Использовать Managed Kubernetes
В этом случае компания передает K8s-инфраструктуру под управление и ответственность провайдера. Managed Kubernetes, в отличие от варианта с платформой, уже не требует собственных инженеров, потому что все работы с инфраструктурой выполняет провайдер.
«Флант» предлагает Managed Kubernetes на базе платформы Deckhouse. Услуга избавляет от всей низкоуровневой работы с кластерами, позволяя полностью сфокусироваться на разработке и развитии продукта.
Разновидность managed-сервисов — услуга Kubernetes as a Service (KaaS),
которую предлагают глобальные провайдеры. Примеры:-
EKS
-
AKS
-
GKE
-
Популярность Managed Kubernetes и Kubernetes-платформ растет, что подтверждают исследования Datadog, Flexera, CNCF и других организаций. Мы подробно рассказали об этом в обзоре «Тренды Kubernetes и контейнеризации в 2021 году».