Chaos Engineering

Тема дорожной карты · Observability

Хаос-инжиниринг — это дисциплина намеренного внесения сбоев и возмущений в продакшен или стейджинг-систему с целью выявления уязвимостей прежде, чем они вызовут незапланированные аварии. Пионером хаос-инжиниринга стал Netflix с инструментом Chaos Monkey; он основывается на принципе, что сложные распределённые системы неизбежно будут испытывать сбои, поэтому команды должны проактивно обнаруживать и устранять хрупкость, а не предполагать, что всё будет работать. Эксперименты хаоса тесно связаны с наблюдаемостью: инженеры определяют гипотезу устойчивого состояния (например, «задержка p99 остаётся ниже 200 мс»), измеряемую метриками Prometheus и SLO, вносят неисправность (убивают под, вводят сетевую задержку с помощью tc netem, исчерпывают CPU) и наблюдают, восстанавливается ли система корректно. Популярные инструменты хаос-инжиниринга включают Chaos Monkey, chaos-mesh, litmus и Gremlin, каждый из которых предлагает различные примитивы инъекции неисправностей для Kubernetes и облачных окружений. Хаос-инжиниринг косвенно улучшает наблюдаемость, выявляя пробелы в покрытии алертингом, runbook-ах и инструментировании трассировок, которые обнаруживаются только при реальных сбоях в контролируемых условиях.

Как это работает

Chaos Engineering — практика обнаружения + диагностики + разрешения проблем сервиса. Процесс: алерт срабатывает → on-call подтверждает → triage (impact, severity) → mitigate (rollback, scale, restart) → исследование root cause → postmortem (blameless, lessons learned, action items). Инструменты: PagerDuty / OpsGenie (paging), Slack / Discord (war room), Statuspage (для клиентов), Jira / Linear (action items). Практикуйте game days — учения без реальных инцидентов.

Когда применять

Стройте incident response с первого реального outage — postmortem на каждый, даже минорный. Поддерживайте шаблон incident-runbook (impact summary, timeline, mitigation, root cause, action items). Game days раз в квартал — поддельный outage в staging, run response. Трекайте time-to-acknowledge + time-to-mitigate как SLI для on-call команды.

Типичные ошибки

Ловушки Chaos Engineering: blameful postmortems (инженеры прячут будущие инциденты); postmortems без action items (уроки не учены); on-call ротации без нормального handoff (knowledge silos); нет statuspage (клиенты долбят support при outage); не тестируете алерты (день, когда они нужны = день, когда они сломаются).

Связанные понятия

Полезные ресурсы