CNews Cloud: Облачные сервисы
Статья

Почему растет популярность контейнеризации

ПО Софт Интеграция Облака
, Текст: Сергей Орлов

Скорость и объемы мирового грузооборота резко выросли после того, как транспортные компании перешли на использование контейнеров стандартных размеров. Контейнеризация приложений также позволила ускорить и облегчить процесс запуска ПО, изолируя софт от особенностей операционных систем и аппаратного обеспечения.

Что такое контейнеризация

Контейнеризация — это «облегченная» форма виртуализации на уровне операционной системы, которая позволяет запускать приложение и системные библиотеки в изолированной области, «контейнере», каждый из которых содержит все компоненты, необходимые для запуска приложения, не зависит от архитектуры серверной системы и взаимодействует с ОС при помощи стандартных интерфейсов. В этом программные контейнеры похожи на транспортные — неважно, что «внутри» контейнера, главное, чтобы он имел стандартные интерфейсы (в реальном мире — один из стандартных размеров).

В чем разница между контейнерами и виртуальными машинами

Контейнеры более «легкие» и компактные, чем традиционные виртуальные машины, они очень быстро запускаются, используют общую операционную систему. Их можно создавать гораздо быстрее, чем экземпляры виртуальных машин. Каждый контейнер — по сути отдельный микросервис, его обновление не требует синхронизации с другими контейнерами, а инкапсуляция в контейнере всего необходимого для запуска приложения облегчает переносимость из одной среды в другую.

Рынок контейнеризации стремительно растет

Размер мирового рынка коммерческого контейнерного программного обеспечения будет расти в 2018-2023 гг. в среднем на 30% ежегодно, превысив к концу периода $1,6 млрд — такой прогноз дается в отчете Technology Multi-Tenant Server Software Market Tracker аналитиков IHS Markit. Лидирует компания Red Hat с 44% долей рынка.

Распределение рынка ПО контейнеризации

Источник: IHS Markit, 2019

Аналитики Gartner также прогнозируют значительный рост доходов от глобального программного обеспечения и услуг по управлению контейнерами, хотя и более скромны в оценках. Они полагают, что выручка соответствующего сегмента рынка в 2020-2024 гг. вырастет с $465,8 млн до $944 млн.

Наиболее популярны средства контейнеризации у провайдеров облачных сервисов, они, по данным IHS Markit, применяют контейнерные технологии более чем на трети своих серверов. Для сравнения, телекоммуникационные компании и корпоративный сектор используют контейнерное ПО примерно на 8% мультитенантных серверов (то есть, выделенных под обслуживание пользователей из разных организаций).

Это отставание в развертывании обусловлено сложностью управления средствами оркестрации контейнеров. Предприятиям и телекоммуникационным компаниям для широкого внедрения контейнеризации требуются более развитые инструменты автоматизации управления.

Главные действующие лица

Сфера контейнеризации быстро развивается, но в ней уже появилось два стандарта «де-факто». Это формат контейнеров Docker и программное обеспечение для оркестрации контейнеров Kubernetes.

Docker — это открытое программное обеспечение для автоматизации развертывания и управления приложениями в средах контейнеризации. Оно разделяет ядро ОС на контейнеры, работающие как отдельные процессы. Изначально этот продукт был разработан одноименной компанией, у которой есть также своя платформа оркестрации Docker Swarm. Однако последняя все больше уступает Kubernetes.

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

Как свидетельствуют данные исследования компании StackRox, которая в 2018-2020 гг. изучала динамику внедрения контейнеров, Kubernetes доминирует на рынке: 86% респондентов используют его для оркестрации контейнеров.

Популярность средств оркестрации контейнеров (допускалось более одного ответа)

Источник: StackRox, 2020

При этом, если сравнивать положение с весной 2019 г, то можно отметить две тенденции. Во-первых, понизилась популярность «самоуправляемых» контейнеров Kubernetes (на 20%), все больше заказчиков хотят воспользоваться услугами в этой области. Во-вторых, популярность практически всех остальных вариантов использования Kubernetes выросла: Amazon EKS — на 37%, Azure AKS — на 31%, Google GKE — на 75%. А конкурирующие варианты, наоборот, стали менее привлекательны — популярность сервиса Amazon ECS на основе продукта Elastic упала на 7%.

За что любят контейнеры

Контейнеры, средства их оркестрации и микросервисы — три ведущих драйвера корпоративных ИТ-инноваций и цифровой трансформации, считают аналитики StackRox. Согласно результатам их опросов, самое весомое преимущество контейнеризации — ускорение разработки и выпуска приложений.

Какие из преимуществ контейнеров наиболее ценны для вашей организации (допускалось более одного ответа)?

Источник: StackRox, 2020

За время исследований StackRox, процент организаций, у которых контейнеризовано менее 10% приложений упало с 52% (осень 2018 г., первая волна опросов) до 28% (зима 2020-го, третья волна). А доля тех, кто «контейнеризовался» более, чем наполовину — выросла с 13% до 29%.

Эти данные подтверждаются и оценками других аналитиков. Так, по прогнозу Gartner, уже к 2022 г. более 75% организаций будут использовать контейнеризацию приложений (сейчас их менее 30%). В результате к 2024 г. до 15% корпоративных приложений будут работать в контейнерной среде (сейчас этот показатель менее 5%).

Оценки 451 Research еще оптимистичнее: в 2019 г. почти 50% предприятий США использовали контейнеры, а подавляющее большинство оставшихся планировали внедрить их в течение 12 месяцев.

Проблемы с контейнеризацией: безопасность

Победному шествию контейнеров мешает ряд факторов. Часть из них связана с экономической ситуацией, но есть и проблемы с самой технологией и ее внедрением. Среди самых больших проблем респонденты StackRox неизменно указывают на недостаток инвестиций в безопасность контейнеров (37% зимой 2020 г.). «Несерьезное» отношение к безопасности контейнеров в целом также занимает видное место (14%). Таким образом, на проблемы с безопасностью указали более половины опрошенных. Второе-третье места делят «медлительность» стратегии и ее недостаточная детализированность (по 22%). Впрочем, последний показатель за год, с весны 2019 г. существенно упал (тогда он составлял 34%).

При этом 94% респондентов сталкивались за последний год с проблемами с безопасностью в процессе внедрения контейнеров.

Проблемы с безопасностью контейнеров в последние 12 месяцев (допускалось более одного ответа)

Источник: StackRox, 2020

И, в результате недооценки этой серьезной проблемы, 44% опрошенных StackRox притормозили или остановили развертывание контейнерных приложений.

То, что с большим отрывом лидируют «Ошибки в конфигурации» неудивительно — отвечая на вопрос о том, что затрудняет работу с Kubernetes, респонденты StackRox на первое место ставили недостаток квалифицированных кадров (33%), на второе — трудность их обучения (28%).

Контейнеры уходят в облака

Недостаток собственных обученных кадров в последние годы компенсируют отдачей ИТ-систем на аутсорсинг, например — их размещение в облаках, при этом многие операции по поддержанию работоспособности решений переходят к сотрудникам провайдера облачных услуг.

Не стали исключением и контейнеры, которые также понемногу перемещаются в облако. Согласно данным StackRox, с осени 2018 г. по зиму 2020-го, доля контейнеризованных систем, целиком размещенных в локальном центре обработки данных, упала более, чем вдвое, с 31% до 17%.

Динамика доли контейнеров, размещенных в ЦОД, облаках и мультиоблачных системах

Источник: StackRox, 2020

Пока наиболее популярны гибридные варианты — «ЦОД плюс одно или несколько облаков», такой вариант зимой 2020 г. указали 46% опрошенных (осенью 2018-го — 40%, а на пике, весной 2019-го, — 53%). Чисто облачные решения («одно или несколько облаков») немного отстали (рост с 29% до 40%). Тем не менее, доля решений, в которых в том или ином виде применялись облака, в период исследования неуклонно росла (с 69% до 86%), как и доля решений, использующих в той или иной степени мультиоблачные системы (с 21% до 35%). «Чисто мультиоблачные» варианты пока наименее популярны, однако их доля в период опросов увеличилась почти вдвое, с 7% до 13%.

Эволюция контейнеров

Контейнерные технологии в последние четыре года стремительно развивались.

Поставщики корпоративного ПО и публичных облаков стараются сделать инструменты и сервисы управления Kubernetes более простыми (в исходном виде они сложны в настройке и в работе). Также вендоры дополняют платформы Kubernetes дополнительными функциями, такими как встроенные конвейеры непрерывной интеграции и доставки ПО (CI/CD) и интерфейсы для разработки GitOps.

Как считают в 451 Research, к 2022 году рынок мониторинга и регистрации контейнеров станет крупнейшим сегментом рынка контейнерного ПО, сместив с первой позиции сегмент управления и оркестрации.

Контейнерная инфраструктура способна помочь усовершенствовать DevOps, мультиоблачное управление и безопасность, упростить создание приложений с сохранением состояния и вычислений на основе событий.

Исследования 451 Research и IDC, проведенные в конце 2019 года, показали, что в настоящее время предприятия планируют развертывать в Kubernetes и контейнерах приложения с сохранением состояния, включая базы данных, приложения для работы с большими данными и машинного обучения. Они рассчитывают обеспечить согласованность управления наряду с приложениями без сохранения состояния и, в некоторых случаях, добиться переносимости в облако.

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