Назад

Реализован проект автоматизации доставки кода для клиента

Дата публикации: 26 марта 2021
Реализован проект автоматизации доставки кода для клиента

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

Задачи клиента и проблематика

Требовалось автоматизировать доставку кода на среды: разработки, тестирования и продакт. Стек разработки компании – reactjs, nodejs, MYSQL.

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

  • доставка кода в среду разработки и продакт происходит с помощью ручных операций и ряда скриптов, что занимает большое количество времени и требует навыков и высокой концентрации при выполнении;
  • количество сред разработки ограничено;
  • продакт-среда масштабируется путем ручного добавления дополнительной виртуальной машины с pm, которую нужно настраивать вручную;
  • отсутствие мониторинга ИТ-структуры;
  • отсутствие единой системы сбора логов.

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

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

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

  • AWS fargate – для запуска контейнера с nodeJS.
  • Jenkins – для автоматизации CICD.
  • RDS.
  • AWS Cloudfront – в качестве CDN.

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

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

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

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

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

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

Заказать звонок

Оставьте свои данные для того, чтобы специалист с вами связался.

*нажимая на кнопку, Вы даете согласие на обработку персональных данных
Быстрое внедрение включает:
На сервере установлено следующее ПО (доступно при подключении по протоколу RDP):
Также настроено:
Перед внедрением клиент предоставляет информацию о пользователях (логины и пароли). После завершения работ, клиенту высылается инструкция и ярлык для подключения.
Индивидуальное внедрение по ТЗ клиента обсуждается отдельно.