Улучшение ситуации с дежурствами не требует масштабной и болезненной трансформации. Все начинается с базового шага: готовности посмотреть проблеме в глаза.
Типичные факапы в On-Call и их решения:
⚪️ Недоукомплектованные ротации. Бывает, что один инженер дежурит непомерно долго. Это не всегда приводит к катастрофе, но система нежизнеспособна в долгую. Регулярные ревью должны подсветить проблему, чтобы ответственный перестроил графики и вернул нагрузку в гуманное русло.
⚪️ Привыкание к «шуму» алертов. Инженеры порой месяцами живут в потоке ложных и некритичных уведомлений, просто потому что не знают, «разрешено» ли им что-то отключать. В качестве решения — закрепление ответственности и карт-бланш от руководства на то, чтобы гасить мусорные алерты, чистить каналы оповещений или переходить на алертинг на основе SLO.
⚪️ «Инженеры-герои». Например, когда некий senior-инженер неформально разруливает большинство крупных факапов вместо дежурного. В таком случае следует снижать зависимость от одного человека через передачу знаний и оптимизацию документации.
Что можно улучшить уже завтра:
⚪️ Фиксируйте простые KPI дежурств. Один из самых эффективных показателей может быть банальным: сколько алертов получила каждая команда за прошлую неделю? Новое поколение инструментов предлагает более глубокий анализ. Они объединяют операционные сигналы из GitHub, Jira и др. источников с кратким фидбеком от самих инженеров.
⚪️ Регулярно разбирайте эти KPI на встречах с техлидами. Менеджмент выделяет время и ресурсы только на те проблемы, которые он видит. Как только руководители начинают обращать на это внимание, самые жесткие и токсичные кейсы устраняются мгновенно, а посредственные ситуации постепенно выправляются, так как инвестиции в надежность получают более высокий приоритет.
Лайфхак из практики: чтобы разбор KPI стал регулярным, отчеты должны быть адаптированы под культуру управления вашей компании. Например, можно генерировать автоматические отчеты в Google Docs и изучать их во время митингов в режиме «молчаливого чтения» в начале встречи.
@DevOpsKaz 😛
