Почему Kubernetes стал настолько популярен
Содержание:
Сегодня все крупные и технологически развитые компании фактически живут в digital-реальности. Каждая из них как минимум развивает мобильное приложение, как максимум — полностью перестраивает коммуникации с клиентами, используя преимущественно цифровые каналы. Параллельно с этим растет значимость ИТ-разработки, а жизненно важной потребностью становится time-to-market. Ведь чем быстрее выпустишь новый продукт и завладеешь вниманием аудитории, тем больше вероятность обойти другие компании в конкурентной гонке. Запрос на высокую скорость разработки в свою очередь приводит к росту популярности специализированных ИТ-инструментов, которые помогают упростить и ускорить вывод на рынок новых сервисов и их обновление. Самым популярным из таких инструментов можно назвать, пожалуй, Kubernetes.
Развертывание приложений с помощью кластеров под управлением Kubernetes в облаке — это один из наиболее распространенных сценариев для ИТ-разработчиков из числа клиентов K2 Cloud. Почему именно это средство управления контейнерами пользуется таким спросом, попробуем простыми словами рассказать в статье.
Виктория Сатаева, руководитель группы маркетинга K2 Cloud
Как было раньше?
Когда-то программы жили сами по себе: каждая на своем физическом сервере. Программу писал программист, сервером управлял администратор, и это значит, что для работы сервисов и приложений им нужно было как минимум договориться между собой. Так у каждой программы и приложения появлялся свой «дом» в виде сервера, то есть место, где они живут и где обрабатываются данные.
Потом появилась виртуализация. Приложения начали брать «дом» в аренду вместо того, чтобы покупать свой собственный сервер: это дешевле и быстрее. Многих эта идея очень вдохновила.
Однако программ становилось больше, а в совокупности с развитием сетевых технологий встал вопрос: как помочь программам наилучшим образом находить себе место, а главное — взаимодействовать между собой? Ведь когда вы снимаете апартаменты на Пхукете через Airbnb и приезжаете туда в предвкушении приятного отдыха, вполне может оказаться, что на шикарной кухне не окажется удобной сковородки, а в санузле — мыла и туалетной бумаги. Или пример из программного мира: вы скачали новую онлайн-игру и уже собираетесь поиграть, но ваш ноутбук требует обновить все, что можно, загрузить новые кодеки и видеоплеер.
Так появились контейнеры: когда программный код селится на сервере не сам по себе, а со своими тапочками, портретом бабушки в рамочке, кастрюлями и любимой кружкой. То есть берет с собой все необходимое для нормальной жизнедеятельности, упакованное в контейнер.
Как это работает сейчас?
Использование контейнеров можно сравнить с переездом со всеми вещами, который называют «окружением»: в него могут входить коды приложения, среда запуска, системные инструменты, библиотеки и настройки. Все свое — ношу с собой.
У контейнеров есть еще одна важная надстройка — оркестратор. Это программа, которая точно помнит, в какой квартире поселился конкретный контейнер, что он может и любит делать, когда его лучше не беспокоить и главное — как всем контейнерам в этом доме общаться друг с другом и переселяться в случае необходимости. Этакий домоуправляющий.
Преимущества контейнеризации
Контейнеры в разработке используются уже около десяти лет, и, как уже было сказано, в последние несколько лет их популярность начала резко расти. На рынке есть множество решений для запуска контейнеров и их оркестрации, однако более 4/5 контейнеров запускается в среде Docker, а для оркестрации более половины пользователей используют Kubernetes. Так сложилось исторически.
Kubernetes не заменяет Docker: он серьезно расширяет его возможности, упрощая управление развертыванием, сетевой маршрутизацией, расходом ресурсов, балансировкой нагрузки и отказоустойчивостью запускаемых приложений. Проект Kubernetes был начат Google и теперь поддерживается многими компаниями, среди которых практически все ключевые производители аппаратных и программных решений.
ИТ-инженеры полюбили идею контейнеров за то, что они избавляют их от головной боли по поводу работы приложений в конкретной среде — на новой виртуальной машине оно запускается и функционирует, как и прежде. Кроме того, контейнеры позволяют быстрее разрабатывать приложения, а в продакшене более легко ими управлять, настраивать и менять конфигурации.
Компания Google пользуется контейнерной технологией уже более десяти лет. Она начинала с запуска более двух млрд контейнеров в течение одной недели. С помощью проекта Kubernetes компания делится своим опытом создания открытой платформы, предназначенной для масштабируемого запуска контейнеров.
Благодаря контейнерам программа, которая хорошо работала в песочнице, на родном компьютере программиста, одинаково хорошо и адекватно чувствует себя и в боевой среде. Теперь за работу в поле отвечает не только администратор сервера, но и сам программист, границы между их задачами размылись, и так родилась методология DevOps — взаимное проникновение Dev- (разработка) и Ops- (администрирование) команд во все циклы разработки софта: от проектирования до работы в бою и починки силами тех, кто писал код.
Что будет дальше?
Американская компания StackRox опубликовала результаты своего исследования Kubernetes, которое показало 50%-ный рост популярности Kubernetes среди инструментов для оркестровки контейнеров. Kubernetes, по данным Cloud Native Computing Foundation (CNCF), в 2019 году использовался в разработке 40% компаний, а 87% в принципе использовали оркестрацию контейнеров.
Сегодня растет коммьюнити Kubernetes (open source проект), а количество сервис-провайдеров, которые работают с ним, достигло 100 в прошлом году. Следующий год для Kubernetes обещает быть горячим. К Kubernetes разворачиваются крупные корпорации, которые строят свою ИТ-инфраструктуру на базе микросервисов: это крупные банки, в том числе финтех, ритейлеры и операторы связи. Среди клиентов K2 Cloud микросервисами уже не первый год пользуется сервис путешествий Туту.ру, а также большое количество ИТ-компаний, например, Cymulate — разработчик SaaS-платформы для симуляции атак и взломов.
Как сказал вице-президент и технический директор Red Hat Крис Райт: «Как Linux стал в центре open source разработки в 2000-е, так и Kubernetes становится фундаментов для создания технологий и решений». Поэтому не удивительно, что все больше компаний во всем мире делают свой первый шаг в сторону Kubernetes и микросервисов в целом.