7 фактов о том, зачем и как компании используют контейнеры и Kubernetes

В Datadog провели исследование, чтобы понять, как сейчас устроены среды запуска контейнеров и какие технологии управления ими наиболее популярны. Мы выбрали 7 интересных фактов, которые помогут понять, как современные компании работают с контейнерами.

1. Управление контейнерами невозможно без систем оркестрации, а Kubernetes развернут в половине контейнерных сред

Среды запуска контейнеров становятся все сложнее, поэтому растет важность оркестрации для управления динамическими рабочими нагрузками. Исследование показывает, что почти 90% контейнеров управляются различными системами оркестрации.

Почти 90% контейнеров оркестрированы

При этом Kubernetes стал стандартом де-факто для оркестровки контейнеров. Половина компаний, использующих контейнеры, управляют ими при помощи Kubernetes. C начала 2017 года число контейнерных сред под управлением Kubernetes увеличилось более чем в два раза и продолжает расти.

Kubernetes развернут в половине контейнерных сред

2. Около половины инсталляций Kubernetes используют только треть выделяемых ресурсов

Kubernetes позволяет указывать минимальный объем ресурсов, необходимый для планирования подов. Здесь нужно найти баланс между стоимостью ресурсов и производительностью. Если запрашивается слишком много ресурсов, то Kubernetes не сможет эффективно планировать поды, дорогостоящие ресурсы будут простаивать.

Исследователи сравнили запросы контейнеров с фактически используемыми ресурсами процессора и памяти. Выяснилось, что в большинстве случаев ресурсы используются не в полную силу. На графике видно, что почти половина контейнеров использует менее 30% от запрошенной мощности CPU.

49% контейнеров используют меньше 30% CPU

Похожая проблема и с памятью: 45% контейнеров используют менее 30% запрошенной памяти.

45% контейнеров используют меньше 30% RAM

3. Чем больше кластер, тем крупнее его узлы

Помимо оптимального выделения ресурсов, также важно правильно выбрать размер узлов кластера. Если в кластере всего пара больших узлов, отказ одного из них может создать серьезные проблемы. А множество небольших узлов усложняют управление и повышают накладные расходы. Нет единого правила, как определять размер узла.

В результате исследования выявлена четкая зависимость: по мере увеличения размера кластеров их узлы тоже становятся крупнее. Это позволяет снизить сложность управления кластером и уменьшить масштаб накладных расходов на выделение ресурсов каждому узлу.

Чем больше кластер, тем крупнее его узлы

4. DaemonSets используют для организации сети

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

Топ сетевых технологий

5. Компании используют Kubernetes полуторагодовой давности

Новая минорная версия Kubernetes выходит каждые несколько месяцев. Но часто компании не спешат обновлять свои инсталляции и продолжают пользоваться старыми версиями. Сейчас самая популярная версия Kubernetes — 1.15, она вышла в июне 2019 года, то есть 17 месяцев назад.

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

* В некоторых компаниях используют несколько разных версий Kubernetes, поэтому сумма процентов на графике больше 100

6. Service Mesh только начинает набирать популярность

Как видно на графике, большинство компаний только начинают использовать Service Mesh. Но аналитики считают, что популярность технологии будет расти по мере усложнения контейнерных сред. Сейчас Service Mesh чаще всего используют там, где более 100 контейнеров.

Service Mech только набирает популярность

7. Nginx, Redis и PostgreSQL — самые популярные образы контейнеров

Исследователи собрали список из 10 самых популярных образов контейнеров в ноябре 2020:

  • Nginx. Веб-сервер, который возглавляет топ с момента его появления в 2015 году.
  • Redis стабильно входит в тройку лидеров. Эту БД часто используют в качестве кэша.
  • PostgreSQL. Эта БД занимает разные места, но всегда присутствует в этом топе.
  • Elasticsearch. Это распределенное хранилище данных и система полнотекстового поиска. Остается одним из широко используемых приложений в контейнерных средах.
  • MySQL. Эта БД по-прежнему пользуется успехом у разработчиков благодаря простоте и производительности.
  • RabbitMQ, Calico. Шестое место делят два проекта. RabbitMQ — брокер сообщений, который широко используется в микросервисной архитектуре. Calico — решение для сетей с открытым исходным кодом и сетевой безопасности для контейнеров.
  • MongoDB. Эта документоориентированная БД считается классическим примером NoSQL-системы.
  • Kafka. Распределенный программный брокер сообщений, который может обрабатывать триллионы сообщений в день.
  • GitLab, Jenkins. Эти технологии впервые вошли в топ-10, значит, контейнеры теперь играют важную роль в CI/CD.
  • Vault становится все более популярным сервисом для хранения секретов и управления доступом к ним.
Топ технологий, работающих в Docker

В Kubernetes StatefulSets чаще разворачивают образы Redis, Elasticsearch и PostgreSQL.

Топ образов, работающих в Kubernetes StatefulSets

Что еще почитать по теме:

0
Комментарии
-3 комментариев
Раскрывать всегда