TGViewer
DevOps FM DevOps FM @devops_fm · 5.28K subscribers
Post #923 2.18K
Не делайте так: мой пятничный деплой

👀Снова пятница, пора сворачиваться и надеяться, что ни один pipeline не применит изменения, способные снести пол-инфры. Расскажем поучительную историю о DevOps-инженере, который решил выполнить развертывание в пятницу, после рефакторинга Terraform-модулей. Не судите автора статьи слишком строго, он обычный человек, который на кофеине нажал «Deploy».

💬Что произошло в пятницу?

•15:47 – запуск развертывания после рефактора Terraform-модулей.
Изменение – автор переименовал одну переменную, которая используется в сорока семи местах, в трёх окружениях. Но проверка линтером пройдена. Что может пойти не так?
•16:02 – запуск GitHub Actions, а дальше...пайплайн упал, в Terraform появился неожиданный destroy -план. Уведомления в Slack накрыли волной.
•16:07 – сообщения о падении staging и подозрительные изменения в проде, возгласы: "КТО ДЕПЛОИЛ В ПЯТНИЦУ?!". Автор попытался отключить роутер, но было поздно – имя уже в коммите.
•16:11 – созвон в зуме, SRE подключился со вздохом, бэкэнд-разработчик присоединился с пивом, CTO – с пляжа на Бали.
•16:20-16:45 – откат коммита, повторный прогон пайплайна, окружение восстановлено.

После – постмортем без прямых обвинений с коллективной критикой в виде смайликов и пассивно-агрессивных мемов.

❌Проблема заключалась в том, что при рефакторинге конфигурации автор изменил имя без полного анализа зависимостей и проверки влияния на все окружения. Изменения затронули многочисленные модули и окружения, но не были синхронизированы между собой. Сопутствующими факторами стали недостаточная верификация terraform plan во всех средах и отсутствие автоматизированных проверок.

✅Уроки, которые автор не усвоил (а должен был):

•Не деплоить в пятницу
•Всегда перепроверять terraform plan для каждого окружения перед применением.
•Подготовить воспроизводимый плана отката, желательно, без слёз.
•Внедрить автоматическую валидацию переменных и контрактов модулей (schema/validation) и тесты на согласованность именований.

Пятничный деплой: храбрость или безрассудство? Делитесь вашими историями ниже.

#deploy #devops #terraform #postmortem
  • 👍 9
  • 🤯 6
  • 🔥 3
  • ❤ 1
More from @devops_fm
  1. Sep 28, 2026Почему Kubernetes API server может съесть память на обычном LIST 👀 Получить список объект…
  2. Sep 25, 2026Redis Streams vs Kafka 📝 Что выбрать для системы обработки событий: Redis Streams или Kaf…
  3. Sep 23, 2026Новостной дайджест от DevOps FM! Делимся свежими новостями и важными изменениями в мире De…
  4. Sep 21, 2026Nxs-anomaly — инструмент для алертинга и дежурств Когда алертов становится много, сама отп…
  5. Sep 18, 2026👩‍💻 Что нового в Kubernetes 1.37? Бодрый DevOps! В эту пятницу разбираем свежие материал…
  6. Sep 16, 2026В эфире DevOps FM – срединедельный дайджест новостей! ⏺В Forgejo обнаружили критическую уя…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →