Кейс по миграции сервисов приложения из 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 успешно применила следующие инструменты




