Опрошенные порталом ComputerWeekly аналитики рассказали о состоянии дел с внедрением Kubernetes на предприятиях, степени зрелости платформы, проблемах развертывания и основных препятствиях на пути предприятий, которые хотят перейти на нативно-облачные технологии с контейнерами.
Kubernetes и контейнерные приложения быстро развиваются на предприятиях. Прогнозируется, что платформа Kubernetes (она же K8s), которая существует уже более 10 лет, станет основной частью корпоративной ИТ-архитектуры, поскольку организации стремятся шире использовать нативные облачные приложения.
Однако внедрение Kubernetes, а также связанные с ней хранение и защита данных, создают определенные проблемы для ИТ-организаций. Несмотря на то что контейнеры изначально задумывались как не имеющие состояния, корпоративные приложения в большинстве своем сохраняют состояние. Они должны хранить данные, и эти данные должны быть защищены. Кроме того, приложения на базе Kubernetes должны быть частью любого корпоративного плана аварийного восстановления.
Ниже мы представим мнения отраслевых аналитиков относительно перспектив Kubernetes в корпоративном секторе и как это отразится на работе ИТ-отделов.
Насколько распространена Kubernetes на предприятиях?
Несомненно, внедрение Kubernetes растет, особенно в крупных организациях, но оценки аналитиков разнятся, и есть предположения, что данные о спросе на Kubernetes могут превосходить ее реальное применение.
Например, Gartner считает, что в 2023 г. менее половины организаций в мире использовали контейнерные приложения в производстве, но к 2029 г. это будут делать 95% организаций. Более того, 35% корпоративных приложений будут работать в контейнерах, что более чем в два раза превышает сегодняшние показатели, а 80% коммерческого ПО будет предлагаться в контейнерном варианте.
Аналитик ESG Саймон Робинсон приводит данные исследования 2023 г., согласно которому 67% компаний используют контейнеры для производственных приложений. «Почти все остальные планируют сделать это в будущем», — говорит он. Что касается хранения данных, то, опять же, в 2023 г. 45% организаций использовали постоянные хранилища в производственных приложениях, а 37% проводили их тестирование и разработку. Однако не все аналитики настроены так же позитивно.
Исследование CCS Insight, спонсором которого выступила Red Hat, показало, что в 2021 г. 90% респондентов были заинтересованы в Kubernetes. «Чуть более 70% готовились к внедрению в производство или работали над пробными проектами», — отмечает Бола Ротиби, руководитель отдела корпоративных исследований CCS. По ее прогнозам, внедрение технологии будет продолжаться, но не такими быстрыми темпами, как предполагают некоторые участники рынка.
«Согласно некоторым исследованиям, доля Kubernetes на рынке контейнерных технологий составляет около 24%, — говорит Ротиби. — Однако, несмотря на положительные отзывы о темпах внедрения Kubernetes, на KubeCon в марте этого года было много дискуссий о реалиях ее внедрения, о том, что она не так широко распространена, как можно предположить из некоторых отраслевых отчетов».
Она приводит в пример одну организацию, у которой почти в 20 раз больше виртуальных машин, чем рабочих нагрузок на базе Kubernetes, как показатель того, как обстоят дела в некоторых случаях.
Каковы препятствия для развертывания Kubernetes?
Препятствия, мешающие внедрению Kubernetes, вряд ли станут неожиданностью. Контейнеры сложны, и их бывает трудно внедрить в производство.
Аналитики Gartner Арун Чандрасекаран и Ватару Кацурашима ссылаются на «отсутствие достаточных навыков и зрелых практик DevOps для внедрения и успешного выполнения крупномасштабных производственных развертываний». И это несмотря на растущее число сценариев использования.
Однако именно сложность Kubernetes и множество различных способов ее развертывания все еще сдерживают ее развитие. Стоит также отметить, что развертывание Kubernetes с сохранением состояния все еще остается несколько менее зрелым, чем первоначальная концепция без сохранения состояния.
«В ходе нашего исследования мы выяснили, что проблемы сложности являются основной причиной, по которой организациям трудно внедрять нативные облачные технологии, включая Kubernetes, — говорит Джон Коллинз, вице-президент аналитической компании GigaOm. — По мере того как приложения мигрируют от устаревших одностековых решений, через виртуализацию и перенос в облако, к архитектурам и подходам, основанным на нативных облачных принципах, возникает некоторая неопределенность». И добавляет, что управление сложностью является тяжелой задачей, когда речь заходит о масштабировании любых нативно-облачных приложений, поскольку отсутствие ясности в отношении контейнерных приложений повышает риски безопасности и другие риски.
«В целом, процесс развертывания/управления должен быть упрощен, особенно при масштабировании, — говорит Робинсон. — Kubernetes все еще довольно сложна. Кроме того, в крупных организациях часто существует множество команд Kubernetes, развертывающих приложения, часто с использованием различных инструментов и методологий, часто в разных местах. Это неэффективно и создает риски для организации».
Задача ИТ-руководителей состоит в том, чтобы объединить сложные корпоративные рабочие процессы в системе, спроектированной таким образом, чтобы она не зависела от состояния и не требовала больших затрат ресурсов.
Kubernetes, хранение и защита данных
Хранение данных остается областью, в которой организации испытывают трудности с Kubernetes. Постоянные хранилища, резервное копирование и восстановление данных все еще ощущаются как «притянутые» к проекту Kubernetes.
«Одно из распространенных заблуждений относительно Kubernetes — идея о том, что приложения, работающие на этой платформе, должны быть спроектированы как не имеющие состояния, — говорят аналитики Gartner Финтан Куинн и Тони Иамс. — В действительности большинство приложений и проектов, работающих на кластере Kubernetes, в конечном итоге должны хранить данные или получать к ним доступ».
В приложениях и рабочих нагрузках, ориентированных на сохранение состояния, для хранения данных используются постоянные тома (PV), причем PV может сохранять данные, даже если использующий его под перестанет работать. Но, как считают Куинн и Иамс, это требует тщательного проектирования, чтобы избежать потери данных.
«Если говорить конкретно о хранении, то здесь существует целый ряд проблем, но основные из них — это управление качеством обслуживания, управление в гибридных средах, соответствие нормативным требованиям, стоимость и производительность, — говорит Робинсон. — Когда вы запускаете несколько тысяч контейнеров одновременно, вам нужно много быстрых систем хранения!».
Когда дело доходит до резервного копирования и восстановления, руководители информационных служб должны убедиться, что среды Kubernetes действительно являются частью плана резервного копирования или аварийного восстановления. Часто это не так.
«Запуск рабочих нагрузок с сохранением состояния в кластере Kubernetes — это нормально, но крайне важно адаптировать процессы резервного копирования и восстановления, чтобы они охватывали данные приложений», — говорят Куинн и Иамс.
Ротиби отмечает, что в средах Kubernetes необходимо улучшить «мониторинг, наблюдаемость и видимость». Упрощение развертывания и управления также сделает Kubernetes более надежной.
И со временем мы, вероятно, увидим лучшую поддержку Kubernetes в обычных инструментах резервного копирования и восстановления, а также более надежные варианты резервного копирования в средах управления Kubernetes.
«Все еще только начинается, но основной тенденцией является все большее распространение приложений с сохранением состояния, — говорит Робинсон. — Данные Kubernetes нужно хранить и защищать так же, как и в традиционных приложениях. Это часть тенденции „сдвига влево“, направленной на то, чтобы более традиционные сервисы корпоративных данных были встроены в более ранние стадии процесса».