Ответ
Да, постоянно. В моей практике DevOps это неотъемлемая часть работы. Например, на предыдущем проекте я заметил, что ручное создание окружений для тестирования занимает у разработчиков до двух дней. Я предложил и реализовал систему самообслуживания на базе Terraform и GitLab CI.
Суть идеи: Разработчик создает Merge Request с изменением в специальный конфиг-репозиторий, и пайплайн автоматически разворачивает изолированное окружение (VPC, инстансы, балансировщик) за 20-30 минут.
Ключевой фрагмент GitLab CI конфигурации:
deploy_review_env:
stage: deploy
script:
- cd terraform/review
- terraform init
- terraform apply -auto-approve -var "environment_name=$CI_COMMIT_REF_SLUG"
environment:
name: review/$CI_COMMIT_REF_SLUG
url: http://$CI_COMMIT_REF_SLUG.app.example.com
only:
- merge_requests
После презентации прототипа команде и сбора обратной связи мы доработали решение, добавили автоматическое уничтожение окружений после закрытия MR и метрики использования. Это значительно ускорило цикл разработки и снизило нагрузку на Ops-команду.