Привет, форумчане. Последние четыре года я работаю SRE, и первые два из них я честно заработал себе выгорание. Не метафорическое, а самое настоящее: я просыпался от вибрации телефона в три ночи и ещё секунду не понимал, где нахожусь. Дежурства съедали не столько время, сколько голову — после недели на пейджере я ещё дня три не мог нормально думать. Расскажу, что мы поменяли за эти годы и почему сейчас дежурить стало не страшно, а почти интересно.
Начну с ротации. Изначально у нас был классический вариант: один человек — одна неделя, дальше как получится. Получалось плохо. К среде дежурный превращался в единственного, кто помнит историю всех инцидентов, и в пятницу уже боялся закрыть ноутбук. Мы перешли на ротацию по суткам с чётким, письменным графиком на квартал вперёд. Правило простое: расписание видно заранее, задачи и отпуска подстраиваются под него, а не наоборот. Второе изменение — напарник. Новичок всегда дежурит в паре с опытным: он читает алерты, пишет в канал, но решение принимает старший. Через месяц такой практики человек выходит в самостоятельное дежурство без паники. И третье: передача смены фиксируется — пятнадцать минут, короткий список открытых вопросов, никаких устных легенд.
Алерты оказались главным источником боли. У нас было около трёхсот правил, и половина из них не требовала никаких действий: графики подросли, диск заполнился наполовину, кто-то поменял конфиг. Мы сели и честно прошли по всем правилам с одним вопросом: если я получу это в четыре утра, я что-то сделаю? Если ответ нет — правило в архив. Через два месяца правил осталось меньше сотни, а ночных страниц — почти ноль. При этом мы начали алертить по симптомам, а не по причинам: не по температуре процессора и количеству ошибок в логах, а по тому, что пользователь реально замечает — растёт время ответа, падает доля успешных запросов, сгорает бюджет доступности. Причина пусть горит на дашборде, страницу пусть вызывает только боль клиента.
Про постмортемы скажу отдельно, потому что здесь всё держится на культуре. Первое время у нас это был поиск виноватого с вежливым названием. Ситуацию переломило правило без вины: мы разбираем систему, а не человека, и в отчёте прямо пишем, почему решение человека было разумным в тот момент, когда он его принимал. Дальше — жёсткий шаблон: хронология, влияние на бизнес, корневая причина, что сработало, что не сработало. И самый главный пункт, который у нас раньше игнорировался: список действий с владельцами и сроками. Пять задач, у каждой фамилия и дата, иначе через месяц все всё забудут. Мы завели отдельное место, где эти задачи живут, и раз в две недели смотрим, что просрочено.
Что помогает не сползать обратно? Метрики. Мы считаем не только количество инцидентов, а число страниц на смену, долю ночных страниц, время до реакции и до восстановления, и отдельно — сколько часов дежурства уходит на ручную рутину. Если на смене больше восьми страниц или больше двух ночных, это уже не личная выносливость, а задача для команды. Плюс мы стали считать, сколько из прошлых задач постмортемов реально закрыто: когда видишь, что закрываемость упала до сорока процентов, понимаешь, что культура держится на честных цифрах, а не на лозунгах.
Если бы я давал советы тем, кто только начинает, я бы сказал так. Не пытайтесь починить всё сразу — меняйте по одной вещи в месяц, иначе команда взбунтуется. Начните с графика: видимое расписание на квартал даёт больше спокойствия, чем любые бонусы. Потом уберите хотя бы треть самых бесполезных алертов — это самый дешёвый способ вернуть людям сон. Потом договоритесь о формате разбора без поиска виноватых. И обязательно защищайте дежурного от просьб не по делу: если на человека навешивают ещё и текучку, он выгорит быстрее, чем от любого ночного инцидента.
Теперь по итогу. У нас не идеальная система, у нас просто нормальная: люди знают своё расписание, пейджер молчит по ночам, а инциденты разбираются так, что никто не боится рассказывать о своих ошибках. Выгорание никуда не исчезло как явление, но оно перестало быть неизбежной платой за работу в эксплуатации. А как у вас устроены дежурства — что в вашей команде реально помогло снизить напряжение, и что из этого вы бы посоветовали повторить другим?
Начну с ротации. Изначально у нас был классический вариант: один человек — одна неделя, дальше как получится. Получалось плохо. К среде дежурный превращался в единственного, кто помнит историю всех инцидентов, и в пятницу уже боялся закрыть ноутбук. Мы перешли на ротацию по суткам с чётким, письменным графиком на квартал вперёд. Правило простое: расписание видно заранее, задачи и отпуска подстраиваются под него, а не наоборот. Второе изменение — напарник. Новичок всегда дежурит в паре с опытным: он читает алерты, пишет в канал, но решение принимает старший. Через месяц такой практики человек выходит в самостоятельное дежурство без паники. И третье: передача смены фиксируется — пятнадцать минут, короткий список открытых вопросов, никаких устных легенд.
Алерты оказались главным источником боли. У нас было около трёхсот правил, и половина из них не требовала никаких действий: графики подросли, диск заполнился наполовину, кто-то поменял конфиг. Мы сели и честно прошли по всем правилам с одним вопросом: если я получу это в четыре утра, я что-то сделаю? Если ответ нет — правило в архив. Через два месяца правил осталось меньше сотни, а ночных страниц — почти ноль. При этом мы начали алертить по симптомам, а не по причинам: не по температуре процессора и количеству ошибок в логах, а по тому, что пользователь реально замечает — растёт время ответа, падает доля успешных запросов, сгорает бюджет доступности. Причина пусть горит на дашборде, страницу пусть вызывает только боль клиента.
Про постмортемы скажу отдельно, потому что здесь всё держится на культуре. Первое время у нас это был поиск виноватого с вежливым названием. Ситуацию переломило правило без вины: мы разбираем систему, а не человека, и в отчёте прямо пишем, почему решение человека было разумным в тот момент, когда он его принимал. Дальше — жёсткий шаблон: хронология, влияние на бизнес, корневая причина, что сработало, что не сработало. И самый главный пункт, который у нас раньше игнорировался: список действий с владельцами и сроками. Пять задач, у каждой фамилия и дата, иначе через месяц все всё забудут. Мы завели отдельное место, где эти задачи живут, и раз в две недели смотрим, что просрочено.
Что помогает не сползать обратно? Метрики. Мы считаем не только количество инцидентов, а число страниц на смену, долю ночных страниц, время до реакции и до восстановления, и отдельно — сколько часов дежурства уходит на ручную рутину. Если на смене больше восьми страниц или больше двух ночных, это уже не личная выносливость, а задача для команды. Плюс мы стали считать, сколько из прошлых задач постмортемов реально закрыто: когда видишь, что закрываемость упала до сорока процентов, понимаешь, что культура держится на честных цифрах, а не на лозунгах.
Если бы я давал советы тем, кто только начинает, я бы сказал так. Не пытайтесь починить всё сразу — меняйте по одной вещи в месяц, иначе команда взбунтуется. Начните с графика: видимое расписание на квартал даёт больше спокойствия, чем любые бонусы. Потом уберите хотя бы треть самых бесполезных алертов — это самый дешёвый способ вернуть людям сон. Потом договоритесь о формате разбора без поиска виноватых. И обязательно защищайте дежурного от просьб не по делу: если на человека навешивают ещё и текучку, он выгорит быстрее, чем от любого ночного инцидента.
Теперь по итогу. У нас не идеальная система, у нас просто нормальная: люди знают своё расписание, пейджер молчит по ночам, а инциденты разбираются так, что никто не боится рассказывать о своих ошибках. Выгорание никуда не исчезло как явление, но оно перестало быть неизбежной платой за работу в эксплуатации. А как у вас устроены дежурства — что в вашей команде реально помогло снизить напряжение, и что из этого вы бы посоветовали повторить другим?