Game Day (учения DevOps/SRE) — это тренировка команды с решением инцидента. Это как пожарные учения, только для IT-команд: создаешь контролируемую аварийную ситуацию и отрабатываешь действия по её устранению.
Компании вроде Яндекс, Amazon, Netflix, Google регулярно проводят Game Day для своих команд. Цель — убедиться, что когда произойдет настоящий инцидент, команда будет готова действовать быстро и слаженно, не впадая в панику.
Обычно проводят учения раз в месяц/квартал, независимо от наличия или отсутствия настоящих сбоев.
Что такое гейм дэй и как сделать
Game Day — это больше чем просто "сломаем что-нибудь и посмотрим что произойдет". Это структурированный процесс обучения и валидации готовности команды к инцидентам, который требует тщательной подготовки и документирования результатов.
1. Определи цели и сценарий
Всё начинается с оценки текущих реальных рисков. Какие инциденты случались в прошлом? Какие компоненты системы наиболее критичны? От этого и выбирается цель.
Примеры целей для DevOps и SRE команд:
- Проверить время реакции команды на падение базы данных и снизить MTTR
- Отработать процедуру отката ошибочного релиза через CI/CD
- Провалидировать корректность эскалации при массовом сбое
- Протестировать disaster recovery план и процедуры восстановления
- Проверить работу мониторинга и алертинга при различных типах сбоев
Сами цели и сценарии не стоит переусложнять. Чем сложнее сценарий, тем вероятнее запутаться в своих же ногах.
Ключевое отличие от реального инцидента — ты знаешь, что это учения, и можешь их остановить в любой момент. Это снижает стресс и позволяет сосредоточиться на обучении.
2. Подготовь инфраструктуру и команду
Создай тестовое окружение, максимально приближенное к продакшену. Убедись, что у команды есть доступ ко всем необходимым инструментам мониторинга, логам, документации и runbook'ам. Первые 2-3 Game Day лучше проводить в staging-среде, а не на production. Также обнови инструкции по развертыванию и процедуры реагирования на инциденты.
В Game Day могут участвовать не только DevOps/SRE инженеры или разработчики, но и их руководители, продакт-менеджеры, техлиды. Это помогает всем участникам лучше понимать процессы реагирования на инциденты и свои роли в критических ситуациях.
Важно: предупреди команду о предстоящих учениях, но не раскрывай детали сценария. Элемент неожиданности важен для реалистичности.
Сценарии сбоев стоит разрабатывать согласно принципам Chaos Engineering и на основе реальных инцидентов из вашей практики или постмортем анализа других компаний.
3. Запусти сценарий и наблюдай
Во время Game Day один человек (обычно организатор) играет роль "хаоса" — создает проблему и следит за ходом учений. Остальная команда реагирует как на реальный инцидент.
Фиксируй время: когда проблема была обнаружена, когда началась эскалация, сколько времени потребовалось на диагностику и устранение.
Учитывай, что во время учений команда может реагировать медленнее, зная, что это не настоящий инцидент. Такое поведение нормально для первых Game Day.
4. Проведи ретроспективу и задокументируй результаты
После завершения учений обязательно проведи ретроспективу в формате постмортем анализа. Что прошло хорошо? Где были заминки? Какие процедуры нужно улучшить? Какие узкие места в архитектуре обнаружились?
Задокументируй выводы и action items для команды. Создай план улучшений и назначь ответственных за их выполнение. Без follow-up действий Game Day теряет большую часть своей ценности.
Хочешь прокачать навыки работы с инцидентами?
Game Day — мощный инструмент для командного обучения. Но если ты хочешь индивидуально развить экспертизу в диагностике и решении проблем, попробуй демо нашего тренажера — интерактивные сценарии на основе реальных инцидентов из практики.
FAQ
Как часто нужно проводить Game Day?
Оптимальная частота зависит от критичности системы и зрелости команды. Для mission-critical систем рекомендуется ежемесячно, для менее критичных — раз в квартал. Новые команды могут начать с раза в два месяца, постепенно увеличивая частоту.
Что делать, если команда сопротивляется Game Day?
Начни с образования — объясни ценность и покажи примеры успешных компаний. Сделай первые учения максимально простыми и безопасными. Подчеркни, что это не проверка личных навыков, а возможность улучшить командные процессы. Можешь начать с добровольного участия. Это нормально, если в первых учениях будут участвовать только 2-3 человека.