От ручных деплоев к DevSecOps: Kubernetes-платформа с непрерывной доставкой и защитой на каждом уровне
Построили bare-metal Kubernetes-платформу с CI/CD на GitLab CI и ArgoCD по принципам GitOps, четырьмя средами Dev/Test/Stage/Prod, WAF, Anti-DDoS, HashiCorp Vault и observability на Prometheus, Grafana, Loki
О ПРОЕКТЕ
Публичная веб-платформа крупного ритейл-оператора
Публичная веб-платформа крупного ритейл-оператора обслуживает внешних пользователей в режиме 24/7. Любой простой или деградация сервиса — это прямые потери и репутационный ущерб. При этом платформа должна развиваться: регулярные обновления, новая функциональность, оперативное реагирование на инциденты. До проекта она работала на виртуальных серверах без автоматизации и DevSecOps-практик
ЗАДАЧИ ПРОЕКТА
Что необходимо было реализовать
Платформа эксплуатировалась на виртуальных серверах без автоматизации, DevSecOps-практик и управления релизами: каждое обновление — ручная операция с риском простоя, а уязвимости в образах и зависимостях не выявлялись до попадания в продуктив. Цель — современный полный цикл разработки и эксплуатации без остановки сервиса:
ВЫЗОВЫ
Ручное управление не масштабируется
Главная сложность заключалась в том, что частота релизов и качество защиты ограничивались не возможностями команды, а риском каждого ручного действия. Переход на DevSecOps требовал не только инструментов, но и пересмотра процессов
Ручной деплой = риск простоя
Каждое обновление — ручная операция: остановка сервиса, деплой, проверка, запуск. Любая ошибка означала простой публичного сервиса
Окно обслуживания обязательно
Выпускать изменения можно было только в согласованные окна — частота релизов была ограничена административно
Безопасность вне пайплайна
Уязвимости в образах и зависимостях не выявлялись автоматически — попадали в Prod и обнаруживались после инцидентов
Слепая зона наблюдаемости
Состояние платформы не было видно в реальном времени — реагирование на инциденты шло по обращениям пользователей
ХОД РАБОТЫ
Как построили
Платформа собиралась как единая инженерная среда — от bare-metal до пайплайна релизов и наблюдаемости. На каждом этапе зашивали безопасность и автоматический откат, чтобы новая модель работала надёжнее старой ручной:
Bare-metal Kubernetes и среды
Развёрнут bare-metal Kubernetes-кластер на собственных физических серверах. Организованы четыре полностью изолированные среды — Development, Testing, Staging и Production — с независимыми жизненными циклами и правилами продвижения изменений
GitOps-пайплайн с автоматическим откатом
CI/CD построен на GitLab CI и ArgoCD по принципам GitOps: состояние кластера декларативно описано в репозитории, любое изменение проходит через сборку, тестирование и доставку. Деплой выполняется без остановки сервиса — при проблемах система автоматически откатывается к стабильной версии
DevSecOps и observability
В пайплайн встроены сканирование образов и контроль зависимостей. Секреты управляются через HashiCorp Vault. WAF защищает приложение и API, Anti-DDoS фильтрует атаки на уровне сети. Observability на Prometheus, Grafana и Loki даёт полную видимость состояния платформы
РЕЗУЛЬТАТЫ
Платформа перешла к полностью автоматизированному циклу разработки и эксплуатации
Деплой без остановки
Обновления выпускаются без остановки сервиса и с автоматическим откатом при сбое — ошибка деплоя больше не означает простой
Релизы в любое время
Изменения выпускаются без согласования окон обслуживания — частота релизов ограничена только нуждами бизнеса
DevSecOps в пайплайне
Сканирование образов и контроль зависимостей выявляют уязвимости до продуктива — а не после инцидента
Четыре изолированные среды
Dev, Test, Stage и Production с независимыми жизненными циклами и правилами продвижения изменений
Многоуровневая защита
WAF и Anti-DDoS защищают веб-приложение и API, HashiCorp Vault централизованно управляет секретами платформы
Полная наблюдаемость
Prometheus, Grafana и Loki дают метрики, логи и алерты по всем компонентам — отклонения видны в реальном времени
Итог
Публичная веб-платформа перешла от ручных деплоев к управляемому DevSecOps-конвейеру с непрерывной доставкой
Обновления выпускаются в любое время без остановки сервиса и с автоматическим откатом при сбое, безопасность встроена в пайплайн на уровне образов и зависимостей, секреты управляются через HashiCorp Vault, а наблюдаемость на Prometheus, Grafana и Loki делает состояние платформы видимым в реальном времени. Поддержка 24/7