Кейс по миграции сервисов приложения из Docker Swarm в Kubernetes
В рамках совместной работы создали целевую платформу, которая обеспечила гибкость и масштабируемость поставки, возможность роста без технических ограничений со стороны инфраструктуры и сервисов.
О клиенте
Одна из крупнейших металлургических компаний с активами в России и в мире
Проблемы клиента
Клиент использовал инструменты, которые не могли обеспечить достаточный уровень качества при развитии продукта
Используемые инструменты разработки и эксплуатации на базе Docker Swarm не обеспечивают должного качества продукта.
Требовалось решение для улучшения автоматизации и качества эксплуатации.
Недостаточный функционал у команды разработки (автоскейлинг под нагрузкой, автоматизированный контроль приложений).
Основные задачи
Проведенный анализ и выявленные проблемы клиента помогли определить основной спектр задач:
Провести миграцию сервисов на Kubernetes.
Сократить время доставки нового функционала в производственную среду.
Повысить эффективность и производительность команд разработки и эксплуатации.
Снизить операционные затраты за счет сокращения времени на развертывание, конфигурирование сервисов и приложений.
Наше решение
В рамках своей работы, команда Экспресс 42 внедрила ряд практик:
провели первичный анализ, изучили текущую архитектуру и сформировали архитектурное решение, максимально отвечающее потребностям Клиента. Развернули серверный кластера на базе Terraform с созданием Dynamic Inventory;
применили IaC подход. Развернули Vault и Consul внутри кластера с помощью Ansible playbooks. Развернули Kubernetes с помощью Kubespray. Vault позволил безопасно настроить хранение и передачу секретов приложениям через API, устранив, тем самым, риски утечки. Consul позволил обеспечить сетевую связанность между микросервисами с помощью сетевой платформы Consul;
выстроили пайплайн работы с базой данных PostgreSQL. Использовался pgCodeKeeper для работы со схемами базы, а также Liquibase для применения и отслеживания изменений в БД. Созданы пайплайны доставки приложений, инфрасервисов и Kubernetes. Произведена тестовая миграция 2х приложений.

Результат
Создали целевую платформу для обеспечения гибкости и масштабируемости поставки с возможностью роста без технических ограничений со стороны инфраструктуры и сервисов.
Целевая платформа
создана отдельная платформа на базе Kubernetes для дальнейшей миграции приложений;
Управление инфраструктурой
реализован механизм управления инфраструктурой как кодом – IaC;
Оптимизация процессов
переработаны пайплайны сборки и поставки продуктов;
Повышение экспертизы
разработана документация для команды Клиента по работе с новой инфраструктурой.
Технологический стек
В своей работе команда Экспресс 42 успешно применила следующие инструменты




