Прежде чем перейти к статье, хочу вам представить, экономическую онлайн игру Brave Knights, в которой вы можете играть и зарабатывать. Регистируйтесь, играйте и зарабатывайте!
Недавно компания Datadog, разработчик одноименной системы мониторинга, представила свой обновленный отчет «10 трендов использования контейнеров в реальном мире». Авторы исследования проанализировали полтора миллиарда контейнеров, развернутых тысячами компаниями-клиентами Datadog.
Чтобы дополнить статистику Datadog и понять, насколько их тенденции показательны для рынка в целом, мы сравнили их с результатами других профильных исследований.
Интересная статистика из отчета Datadog
1. Почти 90% пользователей Kubernetes — клиенты managed-сервисов ведущих облачных провайдеров: Amazon Elastic Kubernetes Service (EKS), Google Kubernetes Engine (GKE) и Azure Kubernetes Service (AKS). В прошлом году таких пользователей было только 71%.
2. Среднее количество Pod’ов на организацию удвоилось. По данным на июль 2021-го, каждая компания запускает около 1000 Pod’ов. Это в два раза больше, чем в 2019 году. Такими же темпами растет количество хостов.
3. Автомасштабирование Pod’ов все более популярно. Обычно это горизонтальное автомасштабирование (HPA) — им пользуется 40% организаций. А вот вертикальным (VPA) — менее 1%. В Datadog это объясняют тем, что варьировать количество Pod’ов легче, чем ресурсы отдельных Pod’ов. (Технические подробности и наши рекомендации по этой теме можно найти здесь.)
4. Темпы внедрения платформы OpenShift стремительно растут. За последний год количество пользователей платформы увеличилось на 28%. В основном это крупный бизнес.
5. Компании все чаще используют containerd вместо Docker в качестве среды исполнения контейнеров в K8s. Популярность Docker по сравнению с containerd снизилась незначительно (6%). Но есть данные, которые показывают более заметный рост спроса на containerd (см. ниже).
Альтернативный взгляд на эти и другие тренды
Состояние и тенденции рынка контейнеров регулярно анализируют коммерческие и некоммерческие организации, такие как Cloud Native Computing Foundation (CNCF), Red Hat, VMware, Canonical, Sysdig. Посмотрим, насколько результаты их последних наблюдений коррелируют с трендами из отчета Datadog.
Рост популярности managed-сервисов
Отчет Datadog говорит, что 90% пользователей Kubernetes — клиенты EKS, GKE, AKS и других managed-сервисов. Такой высокий процент отчасти связан со спецификой респондентов Datadog: они, будучи клиентами Datadog, априори не боятся использовать внешние сервисы (SaaS) для закрытия разных потребностей. Однако мир гораздо шире: например, согласно данным CNCF End User Technology Radar, для решения своих observability-задач большинство компаний делают выбор не в пользу Datadog, предпочитая их услугам Open Source-решения Prometheus, Grafana и Elastic.
Впрочем, другие исследования подтверждают, что процент managed-сервисов среди пользователей K8s всё равно высокий. К примеру, в отчете Flexera 2021 года State of the Cloud Report сообщается, что для работы с контейнерами:
51% респондентов используют managed-сервисы Amazon (EKS и ECS),
48% — собственный Kubernetes,
43% — AKS,
31% — GKE.
Причем большинство опрошенных Flexera — это Enterprise (637 из 750 респондентов).
Также есть данные опросов по использованию Kubernetes в локальной разработке. Это более специфичный кейс, но даже в нем видна заметная доля managed.
Managed Kubernetes в локальной разработке
По данным Cloud Native Survey 2020*, 26% компаний, опрошенных в сообществе CNCF (1324 респондента), при разработке пользуются услугами типа managed Kubernetes или KaaS (Kubernetes as a Service); это на 3% больше, чем годом ранее. (При этом стоит отметить, что среди опрошенных 19% вообще не используют Kubernetes в локальной разработке.)
Примечание к Cloud Native Survey
Исследование CNCF за 2021-й год должно вот-вот появиться, но пока мы вынуждены пользоваться последним из доступных. Все другие исследования, упомянутые в статье, — от 2021 года.
Впрочем, статистика от CNCF также свидетельствует и о росте числа пользователей on-premises Kubernetes для локальной разработки — таковых оказалось 31% (по сравнению с 23% в 2019 году). Получается, что интерес к on-prem для такого применения Kubernetes растет даже быстрее.
В исследовании Canonical Kubernetes and cloud native operations report 2021 участвовали около 1200 специалистов. 24% респондентов ответили, что используют для локальной разработки on-prem-инсталляцию Kubernetes, 22% — managed Kubernetes. При этом на вопрос о том, кто управляет облачной инфраструктурой в компаниях, ответы распределились так:
37,5% — собственный DevOps-инженер;
20,6% — собственный платформенный инженер;
14,8% — собственный системный администратор;
11,5% — собственный SRE-инженер;
7,9% — собственный стажер;
7,7% — используем managed-сервис.
Вот как этот результат комментирует Алекс Ричардсон (Alexis Richardson), основатель и CEO Weaveworks:
«Я не верю, что 37,5% DevOps’ов управляют собственной локальной инфраструктурой. Думаю, что некоторые из них используют такие инструменты, как EKS. Но, возможно, они говорят, что управляют этими сервисами просто потому, что у них договоренности с поставщиками».
Рост количества Pod’ов (и популярности контейнеров в целом)
Тренд двукратного увеличения количества Pod’ов, как говорят аналитики Datadog, указывает на то, что организации вкладывают значительные средства в Kubernetes и переносят всё большую часть своей инфраструктуры и рабочих нагрузок в контейнеры.
Вот что можно узнать о распространении контейнеризации из других исследований:
Согласно отчету Red Hat The State of Enterprise Open Source 2021 (1250 респондентов), около 50% используют контейнеры в production. Еще 37% — только для dev-окружения.
В исследовании Sysdig, основанном на анализе миллионов контейнеров их клиентов, говорится, что 45% организаций запускают 250 и более контейнеров, у 57% компаний развернуто не менее 50 Pod’ов в одном кластере.
По данным уже упомянутого исследования CNCF, 23% опрошенных компаний запускают в среднем 5000 контейнеров. В 2016 году таких компаний было 11%.
В исследовании Portworx (500 респондентов) отмечается, что 75% организаций запускают более 40% новых приложений в контейнерах.
Отчет Flexera сообщает, что контейнеры используют 53% компаний (речь идет просто о Docker-контейнерах).
Аналитики Gartner считают, что в 2022 году 75% организаций будут запускать приложения в контейнерах в production (по сравнению с 30% по состоянию на середину прошлого года).
Экспансия платформы OpenShift
Вместе с популярностью managed Kubernetes растет и популярность Kubernetes-платформ, которые позволяют использовать разную инфраструктуру для инсталляций (bare metal, частные и публичные облака) и упрощают работу с K8s. Среди них, например, OpenShift, VMware Tanzu (недавно получила Open Source-редакцию) и Deckhouse.
Помимо гибкости и адаптированности к гибридным облаками, платформы сильно облегчают эксплуатацию Kubernetes. Это делает их жизнеспособной альтернативой managed-сервисам для тех пользователей, которые стремятся сфокусироваться на задачах бизнеса. Эту тему во всех деталях мы освещали в докладе «Как правильно сделать Kubernetes».
Статистика Datadog подтверждает тренд популярности Kubernetes-платформ на примере OpenShift — самой популярной из них по данным Forrester. А что об этом говорят другие?
Согласно недавнему отчету Red Hat — State of Kubernetes security report (500+ респондентов), — 37% опрошенных компаний используют OpenShift для развертывания Kubernetes-кластеров в гибридном облаке. Для этой же цели AWS Outposts — 32% респондентов, Microsoft Azure Arc — 25%.
15% компаний-респондентов Sysdig для оркестрации контейнеров используют OpenShift, и это значительно больше, чем в 2020 году (тогда было 9%). Платформа заметно опережает альтернативные опции, предложенные в опросе: Docker Compose (4,8%), Swarm (2,5%) и Mesos (1,3%). Sysdig отмечают, что их клиенты ценят в OpenShift способность работать в нескольких облачных средах.
В отчете Flexera пользователями OpenShift назвали себя 20% респондентов (или 23%, если рассматривать только сегмент enterprise). В отчете Portworx пользователи OpenShift составили 8% от опрошенных.
Docker все менее популярен как среда исполнения в K8s
Sysdig каждый год исследуют состояние безопасности контейнеров, которые запускают их клиенты — компании разных размеров. В их последнем отчете сообщается о кратном росте популярности containerd и CRI-O за минувший год: с 18% до 33% у первого, с 4% до 18% — у второго. (На графике ниже от самой Sysdig, по всей видимости, ошибка, т.к. рост у CRI-O оказался не в 2, а в 4 раза.) При этом частота использования Docker снизилась на 37%. Впрочем, Docker — всё ещё самый распространенный вариант контейнеризации:
Тенденцию подстегнуло предупреждение разработчиков Kubernetes о том, что в одной из ближайших версий Kubernetes — v1.24 — прекратится поддержка модуля Dockershim. Авторы K8s до сих пор опасаются последствий этого изменения, в связи с чем проводят опрос пользователей на тему их готовности к отказу от Docker.
Тренды безопасности контейнеров
Теме безопасности посвящены исследования Red Hat и Sysdig.
Из уже упомянутого отчета Red Hat Kubernetes adoption, security, and market trends report 2021 следуют такие выводы:
55% респондентов считают, что задержка развертывания приложений в production-кластере Kubernetes связана с недостаточным, на их взгляд, уровнем безопасности «из коробки».
Почти все опрошенные признались, что зафиксировали по меньшей мере один инцидент безопасности в своих Kubernetes-кластерах в 2020 году.
74% организаций в той или иной мере используют методики DevSecOps.
Sysdig отмечают рост количества компаний, которые сканируют образы на наличие уязвимостей и вредоносного ПО на этапе сборки, то есть до деплоя. Среди респондентов таких большинство — 74%.
Одновременно с этим, по данным Sysdig, более половины DevOps-команд (58%) запускают контейнеры под root, что — при определенных условиях — подразумевает риск компрометации не только контейнера, но и узла или даже кластера.
Вывод
Большинство упомянутых тенденций не противоречат друг другу. Если статистика где-то и расходится «в показаниях», то лишь потому, что каждый исследователь освещает ситуацию в определенном сегменте рынка. В целом же все отчеты показывают заметный рост рынка контейнеров, как минимум, по трем направлениям:
контейнеризация приложений;
кубернетизация production;
managed-сервисы (KaaS) и платформы для оркестрации контейнеров (OpenShift и т. п.).
P.S.
Читайте также в нашем блоге:
«Новая статистика CNCF о контейнерах, cloud native и Kubernetes» (сентябрь 2018 г.)
«Статистика The New Stack о трудностях внедрения Kubernetes» (октябрь 2017 г.)