Постановка DevOps практик для Райффайзен Банк
В рамках сотрудничества было выполнено несколько проектов по постановке DevOps практик и внедрению автоматизации процессов сборки, контроля качества и эксплуатации для продуктовых команд банка. Продуктовые команды использовали разный стек технологий для своих продуктов: Linux и Windows, Java и .NET. В качестве СУБД использовались OracleDB, DB2, PostgreSQL.
Проблемы клиента
Множество ручных операций в процессе сборки отвлекают команды от развития продукта и способствуют снижению качества продукта. Ручные операции в процессах эксплуатации вносят соответствующие риски.
Инфраструктурный набор технологий у продуктовых команд не синхронизирован, и каждая команда самостоятельно занимается поиском и разработкой решений для автоматизации и поддержки процессов разработки, тестирования и эксплуатации.
Недостаточное количество окружений разработки и тестирования затрудняет параллельную разработку функционала, состояние тестовых окружений не синхронизировано между собой и с продуктивным окружением, что снижает эффективность тестирования.
Наше решение
Для каждой продуктовой команды подготовлена автоматизация с применением практик Инфраструктура как код и Непрерывная поставка, позволяющая реализовать следующие задачи продуктовой команды:
Автоматизированный процесс сборки, тестирования и развертывания компонентов продукта на произвольное окружение без простоя в обслуживании. Разработка сама описывает как собирать, конфигурировать и развертывать их приложения.
Автоматизация создания окружений (тестовых и продуктивных) и автоматизация внесения изменений в конфигурации окружений и систем, работающих на них. У каждой продуктовой команды появился свой инфраструктурный репозиторий с Ansible-сценариями, внося изменения в который команда управляет своими окружениями, запускаемыми на внутреннем облаке VMWare при помощи API vRealize.
Контроль качества приложений встроен в автоматизированный процесс поставки и позволяет получить обратную связь о работоспособности изменений в течение нескольких минут.

Результат
Благодаря внедрению инженерных практик по управлению инфраструктурой как кодом и непрерывной поставке удалось добиться следующих результатов:
Удобное тестовое окружение
Сокращение с недели до часа сроков на создание и настройку нового окружения с нуля до полной готовности, включая установку свежей версии приложения.
Меньше ошибок в настройке окружений и тестировании
Возможность автоматически получить выделенное окружение под разработку и отладку функционала помогла внедрению практики работы с feature-окружениями, где каждое изменения в продукте разрабатывается и тестируется изолированно. Это способствовало росту качества и уменьшению очереди задач на тестирование.
Новая версия за 5-10 минут
Сокращение трудозатрат на подготовку и выпуск релиза за счет автоматизации процессов позволило командам сфокусироваться на решении бизнес-задач.
Экономия в перспективе
Применение целевого стека технологий позволило улучшить коммуникацию между техническими специалистами как в одной команде, так и между командами.
Больше тестируемых релизов
Унификация окружений разработки и тестирования с продуктивным окружением снизило количество инцидентов, возникающих из-за различий в состоянии окружений.