$ cat post.md
Почему я теперь сначала думаю о rollback, а потом о деплое
Подход меняется быстро, когда хотя бы раз приходилось откатывать релиз в спешке и с плохо понятным состоянием системы.
Раньше я думал о деплое как о пути вперёд. Главное, чтобы новая версия собралась, контейнеры стартовали и всё открылось после перезагрузки. Но реальный прод быстро учит, что вопрос не только в том, как выкатывать, а в том, как возвращаться назад.
Rollback — это не аварийная кнопка для редких катастроф. Это часть обычного сценария. Если откат не продуман заранее, то в момент проблемы команда начинает импровизировать. А импровизация в проде почти всегда дороже, чем несколько лишних минут подготовки до релиза.
Теперь я стараюсь смотреть на каждый deploy через другой вопрос: что я сделаю, если через три минуты после выкладки пойму, что ошибся. Если ответ размытый, значит релиз ещё не готов.
Что должно быть понятно заранее
- Какая версия считается предыдущей рабочей.
- Как быстро вернуть её в трафик.
- Нужно ли откатывать данные или только приложение.
- Кто и как проверяет, что откат действительно помог.