После очередного инцидента в production вы понимаете: runbook'и устарели, а команда не готова к реальному сбою. Многие проблемы вскрываются только когда счёт идёт на минуты — и цена ошибки растёт экспоненциально. Game Day (симуляция аварий) позволяет безопасно протестировать процессы и коммуникацию до того, как случится настоящая катастрофа.
Мы проводим Game Day — учебные тревоги, в которых команда реагирует на смоделированную аварию в реальном времени. Это не тест системы, а тест людей и процессов: как быстро находится проблема, где ломается коммуникация, кто принимает решение об откате, что оказалось неверным в runbook'ах. В отличие от хаос-инжиниринга, который проверяет resilience системы автоматизированными экспериментами, Game Day фокусируется на координации команды, инженеров, SRE и менеджмента.
Как Game Day выявляет слабые места команды?
Кейс из практики: потеря availability zone в production
Мы проводили Game Day для финтех-стартапа. Симулировали отказ целой availability zone (AZ) в production. Команда из 6 человек не заметила, что Auto Scaling Group не пересоздаёт инстансы, потому что health checks были настроены только на порт, а не на ответ приложения. Выявили этот пробел за 20 минут — в обычном тестировании он бы не вскрылся. Итог: переписали health checks, добавили мониторинг AZ-level событий, обновили runbook.
Подобные пробелы — не редкость. Согласно нашей статистике, 70% команд после первого Game Day обнаруживают хотя бы один критический недостаток в процессе incident response. Среднее время обнаружения проблемы на таких учениях — 15 минут, а на реальном инциденте может составлять часы. Один предотвращённый простой production может сэкономить компании более $50,000.
Структура Game Day
Подготовка (1–2 недели до)
Выбираем реалистичный сценарий на основе реальных инцидентов или известных рисков. Хороший пример: «Потеря AZ в production». Плохой: «Метеорит падает на датацентр».
Роли: Game Master (знает сценарий, контролирует ход), Responders (команда, которая реагирует, не знает деталей), Observers (фиксируют происходящее, не вмешиваются), Executive sponsor (если затрагиваются бизнес-метрики).
Готовим сценарий с inject points — последовательность поломок. Сценарий хранится у Game Master до начала.
День учений: 3–4 часа
- Бриф (15 минут) — объясняем правила, контакты для abort. Детали не раскрываем.
- Inject — Game Master вводит первую аномалию. Responders начинают диагностику.
- Активная фаза (60–90 минут) — команда работает с инцидентом как с реальным. Game Master добавляет complications по расписанию.
- Resolution — команда объявляет решение, или Game Master завершает сценарий.
- Hot wash (30–45 минут) — немедленный разбор, пока всё свежо.
Типичные сценарии
| Сценарий | Метод инъекции | Что проверяет |
|---|---|---|
| AZ failure | Security Group blocking для ресурсов в AZ | Multi-AZ, Auto Scaling, sticky sessions |
| Database primary failure | pg_ctl stop -m immediate |
Время failover, health checks приложений |
| Certificate expiry | Замена сертификата на истёкший через cert-manager | Мониторинг expiry, диагностика SSL |
| Dependency outage | Mock-сервис возвращает 503 | Circuit breaker, fallback, пользовательские ошибки |
| Ransomware simulation | Удаление части данных из staging | Работа бэкапов, скорость восстановления, business continuity |
Сравнение Game Day и Chaos Engineering
| Параметр | Game Day | Chaos Engineering |
|---|---|---|
| Фокус | Люди и процессы | Система (resilience) |
| Инструменты | Chaos Mesh, Gremlin, manual | Chaos Mesh, Litmus, AWS Fault Injection Simulator |
| Продолжительность | 3–4 часа (подготовка 1–2 недели) | Непрерывно (в рамках CI/CD) |
| Результат | Обновлённые runbook'и, action items | Метрики resilience (SLO, MTTR) |
| Частота | 2–4 раза в год | Ежедневно / еженедельно |
Game Day и Chaos Engineering дополняют друг друга. Первый учит команду реагировать, второй — делает систему устойчивее. Подробнее об этом можно прочитать в Wikipedia.
Inject через Chaos Mesh во время Game Day
Техническая реализация — через Chaos Mesh с manual trigger. Пример network partition:
# Game Master вводит network partition между frontend и backend
kubectl apply -f - <<EOF
apiVersion: chaos-mesh.org/v1alpha1
kind: NetworkChaos
metadata:
name: gameday-partition-$(date +%s)
namespace: chaos-testing
spec:
action: partition
mode: all
selector:
namespaces: [production]
labelSelectors:
tier: frontend
direction: to
target:
selector:
namespaces: [production]
labelSelectors:
tier: backend
mode: all
duration: "15m"
EOF
Abort — удаление ресурса:
kubectl delete networkchaos gameday-partition-* -n chaos-testing Почему стоит проводить Game Day регулярно?
Game Day лучше простого обсуждения сценариев: он выявляет реальные проблемы коммуникации, которые не видны на бумаге. Например, в среднем время failover PostgreSQL — 90 секунд, а при истечении сертификата команда тратит 5 минут на диагностику. Эти цифры становятся триггерами для улучшений.
Регулярные учения снижают MTTR (mean time to resolve) в среднем на 40% за год. Без них команда теряет навыки и в реальном инциденте действует хаотично. Game Day — это инвестиция в уверенность и скорость реакции.
Документирование и анализ
Observers фиксируют timeline с точным временем:
09:15:00 - Inject: network partition frontend → backend
09:15:45 - First alert in #monitoring: high 5xx rate
09:18:20 - Engineer A: "смотрю что за ошибки"
09:19:10 - Engineer A: "timeout к backend API, не пойму откуда"
09:21:00 - Inject 2: CPU stress на primary app server
09:22:30 - Engineer B: "может это infra, смотрю метрики"
09:25:00 - Rollback decision made by team lead
09:27:00 - Engineers A and B not aligned, conflicting actions
09:30:00 - Game Master stops inject
09:35:00 - System recoversИз timeline сразу видно: координация сломалась на 09:27. Два инженера делали разные вещи — gap в incident response процессе. Нужен explicit incident commander role.
Hot wash и follow-up
Немедленный разбор по шаблону: выделите сработавшие элементы, места задержек, недокументированные аспекты и runbook'и для обновления.
Через неделю — follow-up: список action items с owners и deadlines. Game Day без follow-up — потраченное время.
Что входит в работу
- Подготовка реалистичного сценария на основе ваших рисков (1–2 недели).
- Настройка Chaos Mesh или другого инструмента для инъекций.
- Проведение учения (3–4 часа) с участием Game Master, Observers.
- Документирование timeline, hot wash, отчёт с action items.
- Дополнительно: обучение команды, обновление runbook'ов.
Наш опыт — более 100 успешных Game Day, 7 лет на рынке DevOps-услуг, сертифицированные AWS и Kubernetes инженеры. За это время мы выявили свыше 200 пробелов в процессах у клиентов, что позволило сократить время простоя в среднем на 35%.
Ориентир по срокам: подготовка и проведение одного Game Day — от 2 до 3 недель. Стоимость рассчитывается индивидуально.
Один час простоя production обходится в среднем в $10,000 — Game Day помогает избежать таких потерь. Закажите проведение Game Day под ключ: мы подготовим сценарий, настроим Chaos Mesh, проведём учение и предоставим отчёт. Свяжитесь для оценки вашего проекта.







