DevOps – как инструмент увеличения производительности команды и максимальной автоматизации рутинных процессов

Делимся своим опытом и рассказываем, как мы в студии мобильной разработки автоматизировали рутинные задачи, и сократили время на запуск проектов. Эта статья будет полезна командам, которые хотят оптимизировать весь жизненный цикл разработки, быстрее запускать продукты и сервисы, минимизировать риски на проекте.

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

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

Шаг 1 — автоматизация рутинных операций

Сделали единую настройку всех серверов — не считая уникальных для проекта параметров: домены, доступы к базам данных и тд. Реализовали через Ansible — система управления конфигурациями, написанная на Python. Это помогло разработчику легче настраивать новые сервера для развертывания. Для серверов создали общую роль, так как они однотипные и мы используем уже готовые наработки, а все уникальные характеристики находятся в модуле Inventory (работа с именами хостов или их ip-адресами) каждый под свой проект. Поэтому разработчику теперь стало удобней разворачивать сервер, исправив несколько значений в конфиге.

Но деплой оставался ручным — разработчик заходил и в ручную запускал команды для обновления сервера.

Шаг 2 — подключили CI-сервис

Мы решили протестировать Bitbucket-Pipelines — это Continues Integration сервис, хорошо интегрированный с хранилищем репозиториев Bitbucket. И теперь все коммиты и мерджи попадают в нужную ветку, проект деплоится на нужное окружение.

Внутри веб-интерфейса Bitbucket запуск пайплайнов и просмотр результатов отлично интегрирован с репозиториями. Есть интеграции с Slack, HipChat и другими сервисами.

“Команды, которые руководствуются принципами DevOps, выполняют развертывания в 30 раз чаще, в 60 раз реже сталкиваются с проблемами и восстанавливаются в 160 раз быстрее.”

Отчет по состоянию DevOps, Puppet Labs, 2016 г.

Результат:

Теперь разработчик концентрируется на написании кода, отпали рутинные задачи, а настройка серверов стала гораздо проще и занимать меньше времени за счет стандартизации среды разработки.

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

Заказчик всегда уверен в результате, так как процессы автоматизированы и минимизированы риски.

_____________________

Лялин Виталий

Руководитель направления маркетинга в студии мобильной разработки «Hands App»

0
Комментарии
-3 комментариев
Раскрывать всегда