Постановка DevOps-практик и автоматизация создания окружений в облачных платформах
В рамках проекта было автоматизировано создание окружений в Yandex Cloud и Google Cloud Platform совместно с постановкой DevOps-практик и автоматизацией настройки инфраструктуры и процессов сборки, контроля качества и эксплуатации приложения. Приложение разделено на микросервисы, стек включает PHP, .NET, Kubernetes. Для хранения данных используются MySQL и PostgreSQL.
О клиенте
ИТ-компания группы ПИК, разрабатывающая цифровые продукты и платформенные решения для строительного бизнеса. Проекты компании охватывают весь жизненный цикл строительства — от проектирования и производства до продаж и финансового управления.
Проблемы клиента
Поведение приложения на тестовых стендах отличается от ожидаемого: приложение работает медленно и нестабильно. Различия в состоянии тестовых и продуктивной сред снижали результативность тестирования.
Отсутствие удобного командам стека инструментов для контроля работоспособности компонентов приложения и отладки замедляло процесс разработки и затрудняло отладку проблем в продуктивной среде.
Облачная инфраструктура и кластера Kubernetes настроены и управляются вручную.
Наше решение
Для продуктовых команд подготовлена автоматизация с применением практик «Инфраструктура как код» и «Непрерывная поставка», позволяющая реализовать следующие задачи:
Подготовить на базе существующей инсталляции OpenShift платформу для разработки цифровых продуктов. Платформа предоставляет разработчику и тестировщику изолированные окружения с необходимой для работы приложения экосистемой: базами данных, сервисами мониторинга и централизованного логирования, идентичными продуктивной инсталляции.
Мигрировать приложение и процесс разработки на новую платформу OpenShift.
Применяя практики «Инфраструктура как код» и «Непрерывная поставка», автоматизировать настройку тестовых и продуктовых окружений, выкатку и настройку приложения, применение миграций.

Результат
Благодаря внедрению инженерных практик по управлению инфраструктурой как кодом и непрерывной поставке удалось добиться следующих результатов:
Быстрое развёртывание окружений в Yandex Cloud
Команда разработки получает готовое окружение в Yandex Cloud с нуля за 30–40 минут, включая развёртывание self-hosted Kubernetes, а также создание и настройку сервисов мониторинга и логирования
Быстрое развёртывание окружений в Google Cloud Platform
Команда разработки получает готовое окружение в GCP с нуля за 20 минут, включая развёртывание managed Kubernetes, а также создание и настройку сервисов мониторинга и логирования
Ускоренная диагностика ошибок
Время диагностики ошибок и дефектов приложения на тестовых окружениях сократилось за счёт интеграции окружений с системами логирования и мониторинга, а также моментальной доступности логов и метрик приложения команде разработчиков
Передача компетенций клиенту
Команда клиента получила необходимую экспертизу для дальнейшего развития решения. Мы провели обучение специалистов и совместно сформировали план дальнейшего развития решения
Предсказуемость в продуктивной среде
Поведение приложения в продуктивных средах стало прогнозируемым. Уменьшилось количество ошибок и дефектов, связанных с ручной настройкой окружений и выкаткой приложений