Автоматизирована доставка кода с помощью Yandex.Cloud для клиента

Реализован проект ci cd

В нашу компанию обратились разработчики приложения в сфере интернет-продаж с просьбой автоматизировать процесс доставки кода на несколько сред разработки и тестирования. Стек разработки компании: php, go, PostgresSQL, Kafka, Redis. В процессе общения с заказчиком, выяснилось, что также будет добавляться preprod и prod-среда.

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

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

  • должна быть автоматизирована доставка кода в dev-среды;
  • ИТ-структура должна быть масштабируемой и управляемой;
  • мониторинг элементов ИТ-структуры;
  • наличие системы логирования как приложений, так и составных частей системы;
  • SLA сред разработки должна быть не менее 98%.

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

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

  • Managed Kubernetes;
  • ISTIO;
  • Gitlab CI (для автоматизации CI\CD);
  • RDS PostgreSQL;
  • loadbalacing (ALB);
  • Distributed Message Service for Kafka;
  • Distributed Cache Service (Redis);
  • KeyCloak;
  • Zookeper;
  • Minio.

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

Рисунок 1 — Схема решения

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

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

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

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

Заказ демонстрации по продукту

обязательные поля
*
Фамилия, имя, отчество:

Как к Вам обращаться?

 
  
Название организации:

Нужно нашим специалистам

 
  
Ваш E-mail адрес:

Необходим для обратной связи и оповещений

 
*
Ваш номер телефона:

Введите код и номер телефона

 
* Антиробот:
Введите ответ

Есть вопросы?

Закажите звонок специалиста!

Есть вопросы?

Закажите звонок специалиста!
*нажимая на кнопку, Вы даете согласие на обработку персональных данных