Когда заказчику действительно нужен Kubernetes
Несмотря на тот факт, что крупный бизнес имеет многомиллионный оборот денежных средств, порой выделение финансов и ресурсов на рабочие задачи оставляет желать лучшего. Сроки согласования нововведений, обобщения и переноса инфраструктуры с одной платформы на другую могут занимать месяцы, а это критично и приносит убытки.
Из-за этого набирает популярность услуга переноса и перевода инфраструктуры компании на отдельные контейнеры, чтобы работать с ними автономно в удобном режиме и когда хочется. Одним из главных решений в этой нише является Kubernetes.
Однако статистика и опыт показывают, что на деле контейнеризация и использование таких сложных подходов, как Kubernetes, требуются в лучшем случае лишь трети проектов. Почему это так, что делать и как избежать ненужных расходов рассмотрим далее по тексту.
Перейти к обзору Kubernetes 2024
Коротко о проблемах при работе с контейнерами
Контейнер — это удобно, гибко, но тут возникают определенные риски со стороны безопасности.
Бизнес-процесс — не что иное, как конвейер, а если в случае Kubernetes мы создаем подразделение, то оно автоматически превращается в «голову», от которой будут зависеть все остальные. Значит, и большинство рисков вроде проверки нового кода и работы модулей ложится на плечи данного подразделения, и зачастую это физически невыполнимо, если работа поставлена на поток, а программный продукт постоянно обновляется.
Если начать проверять каждый элемент системы по критериям безопасности, то это приведет к коллапсу, остановке работы. Избежать этого поможет грамотная связка из организованных процессов CI/CD с анализаторами кода на промежуточных этапах, использование JFrog Xray для Artifactory, адаптированный тандем Kubernetes/OpenShif.
Придется создать коробочное решение, которое сможет поддерживать контроль происходящего и должный уровень безопасности. Автоматизация и шаблоны — это отлично, когда процессы выходят на новый уровень, но если организационная составляющая в работе остается прежней, то смысла в этих инновациях никакого нет.
Что дает использование Kubernetes
- Автоматизацию на базе шаблонов. Это проработанные коробочные решения, которые существенно облегчают использование приложений и управление процессами. Kubernetes остается лидером на рынке по самому быстрому развертыванию сложных многоуровневых систем.
- Открытость. В случае с Kubernetes речь идет про полностью открытый продукт, практически без ограничений. Его можно обслуживать своими силами при наличии экспертного опыта, либо нанять обслуживающий персонал со стороны. Это удобно и оставляет множество перспектив для развития в будущем.
- Универсальность. Kubernetes совместим с любой Linux-платформой и подавляющим числом облачных провайдеров. Это значит, что воспользоваться им может любой желающий без дополнительных вложений и проведения глубоких адаптаций.
Перейти к рейтингу провайдеров Kubernetes 2024
Кому на самом деле нужен Kubernetes
- Компаниям, занимающимся Big-Data проектами. Если проект высоконагружен и постоянно масштабируется, то без контейнерного подхода не обойтись. Создание отельных контейнерных кластеров, облачных PaaS/IaaS-решений — ключ к будущему успеху и дальнейшему развитию проекта. Опыт таких гигантов, как BlaBlaCar, CERN, Huawei, Microsoft, — явное тому подтверждение.
- Компаниям, которые ставят во главу угла развития использование принципов DevOps, внедрение Gitlab и рассматривают технологию контейнеризации как основную. Если изначально выбран путь в пользу отказа развертывания виртуальных машин и переноса инфраструктуры в контейнеры, то Kubernetes станет отличным подспорьем в этом деле.
Внедрять Kubernetes имеет смысл в том случае, если планируется переход на гибкие процессы с коротким циклом. Также нужно учитывать, что Kubernetes оправдан там, где приложение изначально работает хорошо, редки обновления и нет нужды что-то менять.
Не стоит забывать и про обслуживающую проект команду: если она слажена, отточила свои навыки и давно сформировалась, нет никакого смысла вводить что-то новое и экспериментировать с Kubernetes, особенно если результаты стабильные и не вызывают сомнений.
Примеры реальных кейсов, где Kubernetes доказал свою состоятельность
У заказчика в сегменте розничной торговли наблюдался крупный проект, который при аудите показал множество проблем в инфраструктуре. Во-первых, его масштабность — свыше 240 субпроектов, более 160 команд разработки, которые занимались этими субпроектами, больше половины проектов было переведено в контейнеры.
Во-вторых, все ресурсы закупались и использовались индивидуально для каждого субпроекта без возможности их использования в других, даже если они лежат на балласте.
В-третьих, отсутствовал как таковой биллинг и практиковалось единое управление через общий портал. Как следствие, неоправданно огромные затраты на тестовую и предпрод-среды.
Тем не менее заказчик наотрез отказался переходить на новую и более гибкую платформу, и желал сохранить централизованное управление. Было принято решение использовать Kubernetes и разгрузить сложившиеся нагромождения в инфраструктуре компании. Благодаря такому подходу был создан единый каталог, где заказчик подобрал подходящий ему контур. После этого посредством CloudForms была произведена развертка ресурса. Тем самым существенно упростилась первичная инфраструктура проекта, исчезли ненужные и неиспользуемые контейнеры, удалось снизить расходы на их обслуживание и уменьшить число работающих команд.
У заказчика в сегменте промышленности возникли существенные сложности при копировании ВМ в различные среды из-за того, что это приходилось делать вручную и выполнять до 16 различных операций. Как следствие, процесс мог занимать до 3-4 суток.
После проведения серии мероприятий по аудиту выяснилось, что компании требовалось до нескольких недель на выделение ресурсов под каждый новый проект, а число запросов за месяц накапливалось до двух десятков.
В итоге при переполнении количества запросов возникал коллапс. Заказчику было предложено гибкое решение: ИТ-инфраструктуру перевели на сервисную модель управления, после чего провели перестройку и автоматизацию процессов по внесению и принятию изменений в инфраструктуру.
Перейти к обзору Kubernetes 2024
В результате проведенных работ заказчик получил платформу, работающую по принципу самообслуживания, подключенную к каталогу сервисов, и располагающую средой для внедрения контейнеризации.
Впоследствии для сокращения времени копирования BM до нескольких минут был произведен полный переход ИТ-инфраструктуры компании на управление в отдельных контейнерах.
Kubernetes в последние годы стал трендом и доступным решением для бизнеса, однако это не панацея для всех и вся. Переход на новые технологии и подходы в первую очередь меняется с мышлением. Если у вас доминируют длинные циклы разработки, а нововведения доходят до конечного пользователя слишком долго, нечего противопоставить конкурентам, тогда определенно нужно меняться и выбирать решения по типу Kubernetes, чтобы идти в ногу со временем и развиваться дальше.