Разбор отчета K8s in the Enterprise от Dzone

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

В данной статье мы поговорим про отчет Dzone относительно настоящего и будущего K8s в корпорациях. Тема довольно животрепещущая, т.к. adoption kubernetes’а в качестве средства оркестрации контейнеров огромен, но большие компании зачастую как те динозавры, которые с задержкой реагируют на то, что их уже едят:)

“Завлекательный” логотип

Перед началом обзора стоит упомянуть, что во всех report’ах от Dzone есть материалы следующих видов:

  • original — статья от авторов Dzone
  • opinion — статья от внешнего эксперта
  • sponsor opinion — статья от внешнего эксперта, который является спонсором и скорее всего хочет вам что-то продать:) Обычно не указываются в таблице с содержанием report’а, что довольно забавно
  • original research — основная статья от аналитика Dzone с обзором, ради которой и читают этот report

В представленном отчете указанные типы материалов представлены в говорящем соотношении (ни на что не намекаю …)

  • original — 1
  • original report — 2
  • opinion — 3
  • sponsor opinion —5

Дальше перечислю интересные статьи.

“Kubernetes in the Enterprise” by Kosmas Pouianou

В самом начале автор говорит что такое контейнеры и почему они важны, приводя пункты с преимуществами

  • portability — в этом пункте контейнеры и VM’ки похожи
  • resource efficiency & speed — нет накладных расходов на виртуализацию OS и взлетаем быстро

Дальше идет речь о том, что такое оркестрация и почему она важна. Упоминаются следующие моменты, которые позволяет решить оркестрация:

  • автоматизированный deployment и репликация контейнеров
  • балансировка нагрузки
  • обновление с zero downtime
  • высокая доступность
  • self-healing возможности
  • безопасные коммуникации между контейнерами

В корпорациях основные вопросы крутятся вокруг:

  • управления состоянием — все знают, что k8s хорош для stateless, но state тоже надо где-то хранить (над этим работают и есть куча усилий навроде Ceph, Rook, KubeDB и других)
  • безопасности — т.к. контейнеры не так изолированы как VM, то требуется дополнительные ухищрения, чтобы обеспечить безопасноть
  • high performance computing — в больших компаниях есть большие данные, которые надо обрабатывать и крутить поверх различные AI/ML pipelines, для которых неплохо подходит k8s
  • multi-cloud — большие компании не складывают все яйца в одну корзину. Обычно корзины у них бывают всех форм и размеров, что логично приводит к идею мульти игибридного облака:)

Дальше автор говорит об успехе open source движения в этом направлении, рассказывая про достижения CNCF. Ну и напоследок автор рассказывает о том, как k8s поживает в компании где он работает, а именно в SAP:)

Выводы относительно будущего простые:

  • контейнеры не серебрянная пуля
  • контейнеры постоянно развиваются и вложено уже много сил, чтобы довести их до текущего состояния
  • экосистема k8s развивается и появляются циклы положительной обратной связи, что раскручивают маховик изменений
  • в эти изменения вовлечены все топ-компании

Учитывая вышесказанное, автор делает вывод, что дальше будет еще интереснее:)

“Automating Open Source Security in Kubernetes Throughout the DevOps Pipeline” by Shiri Ivtsan

Автор приводит интересный факт, что 97% разработчиков полагаются на open source компоненты, которые ставят под угрозу 60–80% современного ПО. Дальше автор рассказывает о концепции DevSecOps, а именно интеграции безопасности в пайплан создания программного обеспечения:

  • предлагается сдвинуть безопасность влево к началу, когда происходит research решений и начинает создаваться код
  • билды должны стать для нас security gate
  • мы должны правильно работать с образами
  • ну и дальше мы должны правильно обеспечить безопасность деплоев

В конце статьи автор мотивирует заняться безопаснотью такой фразой

The scale of open source components’ usage combined with the adoption of shift left processes are putting more weight on the shoulders of developers when it comes to security responsibilities. Keeping up with these new responsibilities while organizations continue to speed up development processes is impossible without automating security.

“Deploying Kubernetes in an Enterprise Environment” by Adi Polak & Idan Levin

Авторы сходу говорят, что k8s — это отличный оркестратор, но вам потребуется что-то большее:

  • команда экспертов — забавно, но она обычно нужна в любых начинаниях:)
  • решить шарить или не шарить ресурсы в одном кластере — авторы решают что надо шарить (но по-моему мнению правильный ответ “it depends”)
  • обеспечить безопасность виртуальных машин, лежащих в основе вашей инсталяции k8s
  • продумать access management, который должен имплементировать just-in-time access
  • продумать как будет происходить мониторинг ваших вирталок
  • подумать про то, как вы обеспечите High Availability и Disaster Recovery как для самой инсталяции, так и для приложений внутри нее. Для приложений валидны базовые советы про фактор репликации > 1 для всех подов, про liveness и readiness пробы для них же, про наложении request’ов и limit’ов, чтобы обеспечить их ресурсами, а также про использование pod priority, чтобы критичные поды не были вытеснены
  • ну и напоследок остается deployment’ы и правильная работа с секретами через внешнюю систему аля Key Vault и init контейнеры

“Key Research Findings” by Jordan Baker

Отчет достаточно интересен, т.к. содержит интересные данные и позволяет посмотреть на adoption k8s в разных разрезах.

Все начинается с демографии респондентов, которые

▶ живут в

  • Европе — 35%
  • США — 26%
  • Азии — 14%

▶ работают в компаниях разных размеров (левое значение входит в интервал, а правое нет], расположенных в порядке убывания adoption’а:

  • [100,1000) — 23%
  • [1000, 9999) — 22%
  • [10000, +∞) — 22%
  • [1, 19] — 17%
  • [20, 99) — 15%

▶ исполняют роли:

  • разработчика — 29%
  • архитектора — 25%
  • тимлида разработчиков — 20%

▶ работают над приложениями преимущественно двух типов:

  • web app — 84%
  • enterprise business app — 52%

▶ пишут на

  • java — 84%
  • client-side javascript — 67%
  • server-side javascript — 48%
  • python — 41%

Дальше перейдем к основным выводам:

  • за год adoption k8s скакнул с 53% до 70%
  • использование в департаментах dev, qa, ops, devops приблизительно одинаковое
  • популярнее всего (78%) k8s при использовании в приватных облаках, чуть менее популярен (76%)в публичных облаках и еще менее популярен (73%) на локальном железе (по мне так вообще странный кейс с локальным железом)
  • adoption k8s растет с увеличением организации — правда, мне не ясно потому, что в больших организациях как в Ноевом ковчеге есть каждой твари по паре или действительно там его активно используют:)
  • забавно выглядят проценты использования k8s в production (74%), qa и staging (73%) и в dev (72%). Но кажется, что такие различия в процентах укладываются в погрешность
  • забавно, что если контейнеризация рабочих нагрузок в компании от 25% до 75% то adoption k8s на уровне 68% и он значительно ниже (58%) для контейнеризации от 76% до 100%
  • интересный ответ был относительно делают ли контейнеры жизнь легче — 68% ответивших “да” используют k8s … и 81% ответивших “нет” используют k8s … звучит для меня интригующе:)

“Executive Insights on the State of K8s in the Enterprise” by Tom Smith

Второй отчет, но в этот раз не на основе обширного опроса, а целевого общения с 22 менеджерами it’шных компаний, занимающихся активно k8s. Основные выводы исследования следующие:

  • security, planning, knowledge, and data locality are four keys to success with k8s in the enterprise
  • k8s will continue to make it easier to scale and achieve speed to market in a vendor-agnostic way
  • the most common failures with k8s deployments are around the lack of skills/ knowledge, complexity, security, and “day two” operations

Итоги

Мне данный Trend Report показался немного затянутым, но пара-тройка оригинальных статей была неплохой, плюс оба исследования стоили прочтения. В итоге, я считаю, что потратил время с пользой, изучая его:)

Director of digital ecosystem development department at Tinkoff. Bachelor at applied math, Master at system analysis, Postgraduate studies at economics.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store