/posts/rollback-before-deploy

$ cat post.md

Почему я теперь сначала думаю о rollback, а потом о деплое

Подход меняется быстро, когда хотя бы раз приходилось откатывать релиз в спешке и с плохо понятным состоянием системы.

Раньше я думал о деплое как о пути вперёд. Главное, чтобы новая версия собралась, контейнеры стартовали и всё открылось после перезагрузки. Но реальный прод быстро учит, что вопрос не только в том, как выкатывать, а в том, как возвращаться назад.

Rollback — это не аварийная кнопка для редких катастроф. Это часть обычного сценария. Если откат не продуман заранее, то в момент проблемы команда начинает импровизировать. А импровизация в проде почти всегда дороже, чем несколько лишних минут подготовки до релиза.

Теперь я стараюсь смотреть на каждый deploy через другой вопрос: что я сделаю, если через три минуты после выкладки пойму, что ошибся. Если ответ размытый, значит релиз ещё не готов.

Что должно быть понятно заранее

  • Какая версия считается предыдущей рабочей.
  • Как быстро вернуть её в трафик.
  • Нужно ли откатывать данные или только приложение.
  • Кто и как проверяет, что откат действительно помог.

$ ls related/

$ cat /etc/motd

infraTales

Личный блог о DevOps, инфраструктуре, инструментах и инженерной практике.