Ответ
Мне больше всего нравится автоматизация. Создание надежных CI/CD пайплайнов, которые превращают рутинный деплой в одну кнопку, и написание инфраструктуры как код, когда весь стейт окружения версионирован и воспроизводим. Например, на последнем проекте я перенес ручное развертывание на ECS в полностью автоматизированный пайплайн на GitLab CI, который по тегу сам собирает образ, пушит его в ECR и обновляет сервис.
# Пример этапа деплоя в GitLab CI
.deploy_to_ecs:
stage: deploy
script:
- aws ecr get-login-password --region $AWS_REGION | docker login --username AWS --password-stdin $ECR_REGISTRY
- docker build -t $ECR_REGISTRY/$CI_PROJECT_NAME:$CI_COMMIT_TAG .
- docker push $ECR_REGISTRY/$CI_PROJECT_NAME:$CI_COMMIT_TAG
- aws ecs update-service --cluster $ECS_CLUSTER --service $ECS_SERVICE --force-new-deployment
only:
- tags
Также получаю удовольствие от настройки и тонкой отладки систем мониторинга, когда правильно собранные метрики в Prometheus и дашборды в Grafana позволяют предсказать проблему до того, как пользователи её заметят.