Закон Гудхарта и токсичные SLO: как не убить надёжность метриками

Привет, %username%! Слышал про закон Гудхарта? Он как раз для тех, кто SRE занимается: если метрика становится самоцелью, толку от неё мало. В оригинале звучит вот так: "Когда мера становится целью, она перестаёт быть хорошей мерой".

Что это значит в реальной жизни?

Когда премии, повышения и OKR команды зависят от конкретных SLI (типа 99.9% доступности, ошибок не больше X%, инцидентов меньше N за квартал), народ начинает мудрить не с надёжностью, а с самой метрикой:

  • Инциденты прячут или переименовывают.
  • С даунтаймом химичат.
  • Пороги задирают, чтобы алерты не орали.
  • Меняют измерения, чтобы покрасивее было.

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

Это как закон Кэмпбелла и критика Лукаса: если на метрику давят, она начинает искажать всё вокруг. В итоге SLI как бы в порядке, а пользователи страдают. На бумаге – 99.95%, а в реальности – бардак.

И чего прикажешь делать?

  • Метрики – это просто инструмент наблюдения, а не идол. SLO – повод для разговора, а не KPI ради KPI.
  • Смотри не только на цифры, но и на отзывы пользователей, постмортемы, мнение команды, ручные проверки инцидентов.
  • Когда проектируешь SLO/SLI, сразу думай: "А как это можно нае...ь обмануть?" – и ставь защиту.
  • Введи несколько SLI на один сценарий (например, аптайм + время ответа + успешные запросы). Одну цифру подделать легче, чем три сразу.
  • Периодически проверяй, как считаешь: что именно учитываешь, кого выкинул, где неудобные запросы спрятал в /healthz.
  • Меняй мотивацию: хвали не за цифры, а за честность с инцидентами, быструю реакцию, хорошие постмортемы, снижение рисков и устранение причин.

Например, вместо "премии за 99.95%" – плюшки за найденные и описанные ошибки, за крутой алертинг и полезные постмортемы. Да, SLI может иногда проседать, но надёжность в целом растёт.

Го в комменты, я создал! У тебя бонусы зависят от SLI/SLO? Давит, что цифру портить нельзя? Видел, как метрики врут – отчёты зелёные, а всем плохо? Что именно сломалось в измерениях? Как у вас получается использовать метрики для обучения и улучшения, а не как токсичный KPI?

Делись своими историями в комментах – особенно про игры с SLO и как вы из них выпутались.

#SRE #DevOps #SLO #SLI #Observability #Metrics #GoodhartsLaw #Postmortem #Teamlead #Techlead