cloud
Словарь ↗Ранбук
Ранбук — это письменная процедура обработки одной конкретной операционной ситуации: не проходит health check, растёт очередь, истекает сертификат, регион уходит в отказ, — построенная так, чтобы человек, не строивший систему, мог корректно выполнить её прямо во время инцидента. Это не документация о том, как устроен сервис; такая документация — архитектурное описание, и тянуться за ней во время аварии — признак того, что ранбука нет. Полезным ранбук делает узость охвата. Хороший ранбук покрывает один алерт или один симптом, объясняет, как убедиться, что ситуация именно та, о которой вы думаете, перечисляет диагностические команды вместе с ожидаемым выводом, даёт шаги устранения по порядку и называет точку, в которой нужно остановиться и эскалировать. Последний пункт пропускают чаще всего, а ценность у него наибольшая: дежурный инженер, не знающий, когда будить кого-то ещё, либо эскалирует слишком рано, либо — что гораздо хуже — продолжает пробовать что-то на проде в четыре утра. Каждый алерт, который будит человека, должен ссылаться на ранбук именно для этого алерта. Алерт без ранбука предлагает дежурному импровизировать, а именно так аварии удлиняются благонамеренными действиями. Это же и самый дешёвый сигнал качества в эксплуатации: если у алерта нет ранбука, то либо алерт не требует действий и не должен будить, либо процедура существует только в голове одного человека. Ранбуки устаревают быстрее большинства документации, потому что фиксируют текущую форму системы: изменилась команда, переехал дашборд, переименовали сервис — и процедура молча превращается в вымысел. Лечится это тем, что ранбук считают частью изменения, а не задачей на потом, и тем, что тот, кто пользовался им во время инцидента, правит его сразу после, пока разница между написанным и произошедшим ещё свежа. Практическое замечание: держите ранбуки в системе контроля версий рядом с сервисом, к которому они относятся, и пересматривайте их в разборе каждого инцидента, где ранбук применялся. Автоматизация шагов ранбука обычно и есть правильное конечное состояние, но сначала напишите его прозой: процедура, которую никто не выполнял руками, не готова к тому, чтобы превращаться в код.
Похожие термины