За последний год спор «какой оркестратор выбрать» фактически закрылся. Docker Swarm, Mesos и Nomad остаются на рынке, но Kubernetes собрал вокруг себя экосистему, которую остальные догнать уже не успевают. В 2017-м под крыло Cloud Native Computing Foundation встали AWS, Oracle и Microsoft Azure – последние из крупных провайдеров, кто держал дистанцию. Когда конкуренты вашего вендора начинают строить управляемый Kubernetes, это перестаёт быть вопросом моды. Мы уже отмечали этот сдвиг в обзоре ИТ-трендов 2018; здесь разберём, что cloud-native означает для бизнеса и госсектора предметно.
Что бизнес получает на практике
Контейнеры решили задачу переносимости: приложение одинаково работает на ноутбуке разработчика, в тестовом контуре и в продакшене. Kubernetes решает следующую – управление сотнями таких контейнеров без ручного труда. Он сам перезапускает упавшие сервисы, распределяет нагрузку по узлам, выкатывает новую версию без простоя и откатывает её, если что-то пошло не так.
Для бизнеса это переводится в три измеримые вещи. Первая – утилизация железа: на одном кластере уживаются нагрузки, под которые раньше держали отдельные серверы с запасом «на пик». Вторая – скорость релизов: выкатка перестаёт быть ночной операцией с риском уронить систему. Третья – независимость от поставщика. Манифесты Kubernetes одинаковы и в публичном облаке, и на собственном железе, поэтому вы не привязаны к одному провайдеру и его прайсу.
Cloud-native – это не только инструмент
Сама по себе установка Kubernetes ничего не меняет. Cloud-native – это способ строить приложения: разбивать монолит на сервисы, хранить состояние снаружи контейнера, описывать инфраструктуру кодом, автоматизировать сборку и доставку. Без этого кластер превращается в дорогой способ запускать те же монолиты, только с новым слоем сложности.
Сложность здесь реальна, и её не стоит недооценивать. Сетевые политики, разграничение прав через RBAC, управление секретами, мониторинг распределённой системы – всё это требует компетенций, которых на рынке РФ пока мало. Отдельная зона риска – цепочка зависимостей образов: контейнер тянет за собой десятки библиотек, и уязвимость в одной из них открывает дверь во всю систему. Прошлогодняя история со взломом Equifax показала, во что обходится незакрытая зависимость. В cloud-native сканирование образов и контроль версий – не опция, а часть конвейера.
Госсектор и регуляторика
Для государственных заказчиков и операторов критической информационной инфраструктуры у cloud-native есть и плюс, и оговорка. Плюс – Kubernetes одинаково ставится на собственные мощности, поэтому требование держать данные в контролируемом периметре выполнимо без отказа от современной архитектуры. Оговорка – с введением закона о безопасности КИИ контейнерная платформа, обслуживающая значимые объекты, сама попадает под требования по защите. Прежде чем переносить такие системы, проведите категорирование объектов КИИ и заложите средства защиты в проект кластера, а не пришивайте их потом.
Вывод
Kubernetes стал отраслевым стандартом, и игнорировать это уже нельзя. Но миграция оправдана там, где есть динамичная нагрузка, частые релизы и готовность перестроить процессы разработки, – а не ради галочки. Окупается такой переход тогда, когда кластер спроектирован и защита встроена с первого дня, а не достраивается под уже работающую нагрузку. Начните с пилота на одном некритичном сервисе – он покажет реальную стоимость владения честнее любой презентации.