Найти тему
EFSOL

Как мы реализовали проект создания IaC-структуры в SberCloud

Оглавление

В EFSOL обратились разработчики приложения в сфере розничных продаж с просьбой автоматизировать процесс доставки кода на среды dev, test и prod. Стек разработки компании - php, go, PostgresSQL, Kafka, Redis.

Задачи клиента

При изучении текущей ИТ-инфраструктуры компании клиента, были выявлены следующие проблемы:

  • доставка кода в среду dev и prod происходит с Gitlab CI и ряда скриптов
  • количество сред разработки ограничено, используется docker compose без оркестрации
  • prod-среды нет, поскольку идет процесс разбиения монолита на микросервисы
  • отсутствие мониторинга ИТ-структуры
  • отсутствие единой системы сбора логов
  • отсутствие полного цикла CI\CD
  • ограниченность локальных ресурсов, где размещалась dev-среда

Как мы решили задачи клиента

Для создание новой ИТ-структуры для клиента, мы выбрали концепцию Infrastructure as a Code, которая позволила декларативно описать систему. За основу был выбран terraform. В качестве облачного провайдера - SberCloud.

Ключевыми технологиями в системе были выбраны:

  • Cloud Container Engine (CCE, Managed Kubernetes)
  • Gitlab CI - для автоматизации CI\CD
  • RDS PostgreSQL
  • SberCloud loadbalacing
  • Distributed Message Service for Kafka
  • Distributed Cache Service (redis)

На рисунке ниже представлена схема унифицированного окружения, которое создается по нажатию кнопки в GitlabCi с помощью terraform. Мониторинг осуществляется встроенными средствами SberCloud, а также Zabbix, за хранение логов отвечает ElasticSerach в связке с Kafka.

Рисунок 1 - Схема внедренного решения
Рисунок 1 - Схема внедренного решения

Результат проекта

Внедрение указанной схемы для клиента позволило:

  • автоматизировать сборку кода и в дальнейшем его тестирование
  • автоматизировать доставку кода в различные среды, в том числе продуктовые
  • автоматизировать развертывание среды разработки
  • контролировать продуктовую среду и метрики функционирования приложения
  • получить доступ в удобном интерфейсе ко всем событиями и ошибкам системы
  • автоматически масштабировать систему вверх и вниз, согласно метрикам приложения

В результате проекта, клиент получил готовую систему для работы, с возможностью самостоятельного управления средами. В процессе дальнейшего DevOps-обслуживания будут обновляться используемые технологии и совершенствоваться процесс доставки деплоя кода.

#devops #автоматизация #автоматизация бизнеса #автоматизация процессов #ит #услуги ит #услуги для бизнеса #сервис для бизнеса #Sber #автоматизация доставки