Runbook vs Playbook: в чем разница и почему это критично в 3 часа ночи?
Привет, %username%! Очень часто в рабочих чатах и инцидент-каналах слова runbook и playbook используют как синонимы. И это частая ошибка, которая может стоить драгоценных минут во время ночных дежурств, когда система лежит, а думать нужно быстро.
Давай разберем, почему это совершенно разные инструменты и зачем тебе нужны оба:
- Runbook — это конкретный рецепт. Пошаговая инструкция с четкими командами для конкретной проблемы. Например: "если Redis не отвечает, сделай redis-cli ping, затем проверь процесс, а если OOM — перезагрузи сервис".
- Playbook — это общая стратегия. Он описывает класс проблем, возможные сценарии и порядок эскалации. Он не дает команд в терминал, но говорит: "Если отвалился весь узел — зови инфру и готовь failover, а если проблема с сетью — проверяй routing и зови сетевых инженеров".
Почему эта разница становится критичной во время инцидента в 3 часа ночи?
Если у тебя есть только runbook, то сонный on-call инженер начнет механически выполнять шаги, которые могут вообще не подходить к его конкретной ситуации. Например, он будет пытаться перезагрузить здоровую БД, хотя проблема кроется в сети. В итоге потрачено 15 минут впустую, критерии для действия не продуманы, а что делать дальше — непонятно.
Когда у тебя настроена связка Playbook + Runbooks, картина меняется:
- Playbook помогает быстро сориентироваться и направляет: «Это похоже на Сценарий 2».
- Runbook для нужного сценария дает точные команды.
- Если команды не помогли, playbook сразу объясняет, к кому обращаться дальше и почему.
Кстати, чек-лист хорошего runbook'а:
- Максимум 15–20 пунктов, чтобы инструкция помещалась на один экран.
- Реальный копируемый код, а не абстрактные советы вроде "проверь логи".
- Есть четкие предусловия и ветвления на каждом шаге («если результат не тот, переходи на шаг X»).
- Обязательно указана дата последней проверки и пометки об изменениях в инфраструктуре.
Делись опытом в комментариях — есть ли у вас в проекте разделение на runbooks и playbooks? Сталкивался ли ты с ситуацией, когда runbook был неправильным или абстрактным, а выяснилось это только во время реального ночного инцидента? Какие практики помогают вам поддерживать доки в актуальном состоянии?
#SRE #DevOps #Observability #incidents #OnCall #SiteReliabilityEngineering #Runbook #Playbook
· 26.04
разница важная. у нас в одном проекте был файл «runbook», а внутри на 90% playbook - отсюда постоянная путаница при инцидентах. когда в 3 ночи что-то падает, ты хочешь конкретные шаги а не «проверить возможные причины». переименовали, разделили - сразу стало легче онбордить новых людей в дежурства
ответить
коммент удалён