Крупный инцидент у нас случился из-за одной строчки конфига, которую задеплоил стажёр. Старый рефлекс подсказывал: найти виноватого, отчитать, поставить галочку «разобрались». Мы поступили ровно наоборот, и это оказалось лучшим решением за год.
Вопрос, который мы задали на разборе, был не «кто это сделал», а «как система вообще позволила одной строчке конфига положить прод». И стоило переформулировать — как посыпались настоящие причины. Конфиг применялся без валидации. Не было ревью на изменения продовых настроек. Не было постепенной раскатки, чтобы поймать беду на одном инстансе. Не было быстрого отката. Стажёр просто оказался тем, кто первым нашёл давно вырытую яму.
Вот в чём суть безобвинительной ретроспективы: люди почти никогда не являются корневой причиной. Человек ошибается — это константа мироздания, на неё нельзя закладываться и её нельзя «починить». Чинить надо систему, которая позволила человеческой ошибке дорасти до инцидента. Если решение звучит как «будь внимательнее» — это не решение, это отписка. Внимательнее не станет никто, а грабли останутся лежать.
Из того разбора вышел список конкретных технических действий, а не выговоров. Валидация конфигов в пайплайне до применения. Обязательное ревью на продовые изменения. Постепенная раскатка конфигурации, как у кода. Автоматический откат по метрикам. Каждый пункт закрывал реальную дыру, и каждый делал систему устойчивее к любой будущей ошибке, чьей бы рукой она ни была сделана.
Но был и второй эффект, о котором в SRE говорят реже, а он важнее технического. Стажёр не уволился и не замкнулся. Он остался, и через месяц сам предложил ещё пару улучшений в надёжности, потому что не боялся. Когда за ошибку не казнят, люди перестают их прятать. А спрятанная ошибка — это отложенный инцидент, который рванёт позже и больнее, уже без вашего ведома.
Культура важнее инструментов. Можно накупить лучших систем мониторинга и оркестрации, но если инженеры боятся признаться в ошибке, вы слепы там, где это опаснее всего. Надёжность строится не на безупречных людях, а на системах, которые прощают неизбежные человеческие промахи, и на команде, которая учится вслух, а не шепчется по углам.
– Sergey Shinder
Top comments (0)