КЕЙСЫ

DevOps для отечественных ОС

Автоматизация и построение отказоустойчивого стенда для программного обеспечения на базе Astra Linux

Содержание

В рамках проекта было автоматизировано создание окружений в облаках GCP и Яндекс Облаке, совместно с постановкой Devops практик и автоматизацией настройки инфраструктуры и процессов сборки, контроля качества и эксплуатации приложения. Приложение разделено на микросервисы и использовался стек: PHP, .NET, Kubernetes. Для хранения данных использовался MySQL, Postgresql.

Проблемы на проекте
  • Поведение приложения на тестовых стендах отличается от ожидаемого: приложение работает медленно и нестабильно. Различия в состоянии тестовых и продуктивной сред снижали результативность тестирования.
  • Отсутствие удобного командам стека инструментов для контроля работоспособности компонентов приложения и отладки замедляло процесс разработки и затрудняло отладку проблем в продуктивной среде.
  • Облачная инфраструктура и кластера Kubernetes настроены и управляются вручную.
Наши решения
  • Автоматизированный процесс сборки, тестирования и развертывания компонентов продукта на произвольное окружение без простоя в обслуживании. Разработка сама описывает как собирать, конфигурировать и развертывать их приложения.
  • Автоматизация создания окружений (тестовых и продуктивных) и автоматизация внесения изменений в конфигурации окружений и систем, работающих на них. У каждой продуктовой команды появился свой инфраструктурный репозиторий с Ansible-сценариями, внося изменения в который команда управляет своими окружениями, запускаемыми на внутреннем облаке VMWare при помощи API vRealize.
  • Контроль качества приложений встроен в автоматизированный процесс поставки и позволяет получить обратную связь о работоспособности изменений в течение нескольких минут.
Результат
  • Команда разработки может получить полностью развернутое окружение с нуля до боевого состояния, включая развертывание self-hosted Kubernetes, создание и настройку сервисов мониторинга и логирования, в Яндекс Облаке за 30-40 минут.
  • Команда разработки может получить полностью развернутое окружение с нуля до боевого состояния, включая развертывание managed Kubernetes, создание и настройку сервисов мониторинга и логирования, в GCP за 20 минут.
  • Поведение приложения на продуктовых средах стало прогнозируемо, уменьшилось количество ошибок и дефектов связанных с ручной настройкой окружений и выкаткой приложений.
  • Уменьшилось время необходимое на диагностику ошибок и дефектов приложения на тестовых окружений за счет интеграции тестовых окружений с системами логирования и мониторинга и моментальной доступности логов и метрик приложения команде разработчиков.
  • Команда клиента получила необходимую экспертизу для дальнейшего развития решения. Произвели обучения команды клиента. Совместно с командой клиента составили план развития решения.