Некоммерческая организация CNCF (Cloud Native Computing Foundation), стоящая за Kubernetes и другими инфраструктурными Open Source-проектами для современных облачных приложений, представила результаты своего очередного опроса, который проводится дважды в год. На вопросы, посвящённые адаптации cloud native-технологий, ответили 2400 человек, более половины из которых используют Kubernetes в production.
А чтобы статистика от CNCF была шире и интереснее, я дополнил её результаты данными от других организаций…
Портрет респондентов
Но для начала разберёмся подробнее, кто вообще отвечал на вопросы CNCF. Статистика на этот счёт такова:
- География: Северная Америка (40 %), Европа (36 %), Азия (16 %)…
- Размер компании: более 5000 (37 %), 100—499 (16 %), 10—49 и 1000—4999 (по 12 %), 50—99 и 500—999 (по 7 %)…
- Роль респондента: разработчик (49 %), эксплуатация ИТ (36 %), управление разработкой (14 %), ИТ-менеджер (11 %)…
- Сфера деятельности компании: технологии и программное обеспечение (по 22 %), финансовые услуги (9 %), телекоммуникации (8 %)…
- Цикл релизов: автоматизирован (42 %), осуществляется вручную (27 %), гибридный (25 %)…
- 67 % делают check-in кода по много раз в день, а регулярность релизов равномерно распределена: от ежедневной (15 %) до еженедельной (20 %) и ежемесячной (18 %).
- Используемая инфраструктура: публичное облако (77 %), on premise (64 %), частное облако (50 %).
Инфраструктура и контейнеры в целом
Что используют респонденты для запуска контейнеров?
Поскольку CNCF проводит подобные опросы регулярно, на графиках показана хронология результатов, что и представляет значительный интерес.
Самый заметный тренд здесь — снижение числа инсталляций on-premise (от 65 % в ноябре 2016 года к 43 % сейчас), что отчасти связывают с одновременным ростом популярности частных облачных окружений. Также в CNCF впервые зафиксировали значительную популярность решений VMware для запуска контейнеров — у 24 % респондентов. Примечание: к сожалению, не до конца ясно, какой показатель у VMware был в декабре прошлого года: если графики (и новый, и старый) вовсе не упоминают такой вариант, то в сопровождающем тексте утверждается, что ранее было 12 % пользователей. Но рост в любом случае очень примечателен.
Примечание: Далее в статье по умолчанию (т.е. если не указано иное) все сравнения по росту/падению процентов приведены для результатов из предпоследнего (декабрь 2017) и последнего (июль 2018) опросов CNCF.
Статистика по масштабам использования контейнеров за последние полгода практически не изменилась: 73 % опрошенных работают с ними в production, а 89 % — в рамках «доказательства концепции».
Незначительное падение процента пользователей контейнеров в последних результатах вряд ли можно считать трендом (но стоит дождаться следующего такого исследования, чтобы говорить определённее). Пока же наиболее закономерным выглядит стабильно высокое количество компаний, применяющих контейнеры, вот уже на протяжении двух лет, причём для всех целей: разработки, тестирования, proof of concept и — главное! — даже в production (уж нечего особо и удивляться, что именно здесь самый заметный во временном разрезе рост).
Безоговорочным лидером среди инструментов для управления контейнерами остаётся Kubernetes (83 %). Хотя его популярность не вызывает особых сомнений, стоит всё же учитывать, что опрос проводится напрямую связанной с проектом организацией — CNCF. Что будет, если поискать другие исследования по этой теме? Например, недавний отчёт Lacework говорит о популярности Kubernetes на уровне 78 % (по итогам анализа более 21 тысячи публично доступных облачных хостов, преимущественно расположенных на AWS):
Фрагмент инфографики, созданной в результате исследования Lacework
Kubernetes является безоговорочным лидером в области оркестровки контейнеров и по данным исследования Sysdig, опубликованного 29 мая:
А вот как выглядит распределение популярности среди дистрибутивов K8s:
Наконец, по итогам опроса 200+ посетителей KubeCon 2017, проведённого Platform 9 в конце прошлого года, популярность систем оркестровки среди них (т.е. участников крупнейшего мероприятия, посвящённого непосредственно Kubernetes) такова:
Но вернёмся к статистике CNCF. Среди изменений в использовании других систем, применяемых для оркестровки контейнеров, можно отметить снижение доли OpenStack (27 → 17 %), неожиданный откат shell-скриптов к былой популярности (20 %, как голосовали участники опроса 2 года назад) и рост Amazon ECS (18 → 24 %). К слову, заметная популярность последнего подтверждается и статистикой от Datadog.
Главные сложности в использовании и деплое контейнеров практически не изменились — можно только отметить, что некоторые чисто технические факторы стали менее влиятельными (объяснение см. ниже). Актуальный список выглядит так:
- изменения в культуре команды разработчиков (41 %);
- сложность (35 → 40 %);
- недостаточная подготовка (40 %);
- безопасность (43 → 38 %);
- мониторинг (38 → 34 %);
- хранилища (41 → 30 %);
- сети (38 → 30 %);
- логирование (32 → 25 %).
Использование Kubernetes
Пользователей Kubernetes в production оказалось 58 % от опрошенных, а если ограничить респондентов крупными компаниями (5000+ сотрудников), то этот показатель снижается до 40 %.
Столько же (40 %) от всех пользователей K8s в production работают с 2—5 кластерами. Всего 1 кластер у 22 %, а более 50 кластеров — у 13 % (в прошлом опросе таких было 9 %).
Статистика по окружениям, в которых запускают Kubernetes, во многом похожа на аналогичную для контейнеров (самая заметная разница — у AWS):
Идентичны и основные тенденции: падение популярности on-premise (51 → 34 %) и заметный рост доли VMware (1 → 15 %).
Какие инсталляции Kubernetes используют для локальной разработки? Minikube (45 %), Docker Kubernetes (39 %) и полноценные кластеры on-premise (30 %).
Что ещё и для чего используют в K8s?
- В управлении пакетами безоговорочный лидер — Helm (68 %), а ближайшим преследователем являются управляемые сервисы (19 %).
- Ведущими ingress-провайдерами стали nginx (64 %), HAProxy (29 %), F5 (15 %) и Envoy (15 %). Самый большой рост зафиксирован у nginx (+7 % с прошлого опроса), а также весьма активно расширяет свою пользовательскую базу Envoy (+6 %).
- Для разделения приложений большинство используют пространства имён (78 %), но 50 % предпочитают отдельные кластеры, а 21 % вообще ограничиваются лейблами. Похожая статистика и при разделении между разными командами: пространства имён у 71 %, отдельные кластеры — у 51 %, только лейблы — у 15 %. (См. также ответы разработчиков Kubernetes про способы разделения dev- и prod-кластеров в этой статье.)
- Для чего используют автомасштабирование в Kubernetes? 64 % — stateless-приложения, 45 % — Java-приложения, 37 % — приложения по обработке задач/очередей.
Здесь можно ещё вспомнить результаты опроса проекта Kubernetes, на который ответили 380 человек и итоги которого были подведены в апреле. В частности, взгляд на Helm в нём был сделан с другой перспективы и выглядел следующим образом: «Какие инструменты для управления приложениями в Kubernetes вы используете?». Всего 4 продукта набрали голоса более 10 % голосов:
… а за ними следовал огромный список из 80+(!) утилит.
Другие проекты CNCF и не только
По-настоящему взрывной рост использования в production получили многие другие проекты, поддерживаемые в CNCF. В частности:
- containerd: 18 → 45 %;
- CoreDNS: 7 → 36 %;
- Envoy: 4 → 24 %;
- Fluentd: 38 → 57 %;
- gRPC: 22 → 45 %;
- Jaeger: 5 → 25 %;
- Linkerd: 3 → 16 %;
- OpenTracing: 8 → 21 %.
Среди новых проектов CNCF отмечается популярность SPIRE (94 % опрошенных рассматривают его применение), TUF (93 %), Open Policy Agent и SPIFFE (92 %), Vitess (92 %).
Упомянутому выше снижению актуальности проблемы хранилища способствовал рост популярности таких проектов, как Rook (29 → 89 % респондентов рассматривают его применение, а 11 % уже используют в production), Minio (28 → 73 % рассматривают, а у 27 % он уже в production) и OpenSDS (14 → 84 % рассматривают, а у 16 % — в production).
Среди serverless-решений большой рост популярности зафиксирован у Kubeless (2 → 42 %), Apache OpenWhisk (12 → 25 %) и OpenFaas (10 → 20 %), а явным фаворитом среди hosted-платформ для serverless является AWS Lambda (69 %) с ближайшими преследователями в виде Google Cloud Functions (25 %) и Azure Functions (20 %).
И напоследок — популярность реестров для образов контейнеров из отчёта Sysdig:
P.S.
Читайте также в нашем блоге:
- «Статистика The New Stack о трудностях внедрения Kubernetes»;
- «Истории успеха Kubernetes в production. Часть 9: ЦЕРН и 210 кластеров K8s»;
- «Какие известные компании используют Docker в production и для чего?»;
- «Путеводитель CNCF по решениям Open Source (и не только) для cloud native»;
- «Сколько разработчиков думают, что Continuous Integration не нужна?».