Закон Гудхарта и токсичные 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