Практики 24/7-эксплуатации и on-call в казино
1) Цели 24/7-операций
Бизнес-SLO: логин ≥ 99.9%, депозит ≥ 99.85%, ставка/сеттлмент ≥ 99.9%, p95 WS RTT ≤ 120 мс.
Инцидентные цели: MTTD ≤ 1 мин (по синтетике), MTTR ≤ 15–30 мин для денежных флоу.
Качество поддержки: < 3% тикетов уходит на второй день без ответа, CSAT саппорта ≥ 90%.
2) Организация on-call: модели и расписания
Модели
Follow-the-sun: 3 гео-команды (Европа / Америка / APAC), минимальная ночная нагрузка.
Ночная ротация в регионе: неделя ночных смен на человека раз в N недель (компенсация/отгулы).
Ячейки (cell-based): дежурство по продуктовым ячейкам (бренды/рынки) + общий L1.
Роли в смене
L1 On-call (Incident Commander по умолчанию) — принимает алерт, координирует, держит связь с саппортом.
L2 Доменные инженеры — платежи, game-gateway/WS, БД/кошелёк, платформенный SRE.
Коммс-офицер — статус-страница, партнёры/провайдеры, внутренние апдейты.
Duty Manager — бизнес-эскалации, приоритизация, исключения (VIP/регулятор).
Шаблон смены (12×7 или 8×5 + дежурки)
Смена: 8/10/12 часов. Пересменка 15–30 мин «warm handover».
Соблюдайте правило 2 ночей подряд максимум и не более 7 on-call-дней в 14-дневном окне.
Каждая смена имеет Roster: дежурный, резерв, менеджер по вызову, контактные L2.
3) Классификация инцидентов и SLA
4) Алертинг без шума
Принципы: симптомные SLO-алерты → причинные ресурсные → контекст.
Симптомы: `login_success_ratio↓`, `deposit_success_by_psp↓`, `ws_rtt_p95↑`, `game_launch_success↓`.
Причины: `db_conn_saturation↑`, `queue_lag↑`, `psp_timeout↑`, `provider_launch_latency↑`.
Защита от шума: required consecutive violations ≥ 3, авто-супресс при релизе, дедупликация и группировка.
Дежурный набор: критичное — PagerDuty/Opsgenie; остальное — Slack/почта.
Текст алерта: «Что/Где/Сколько/Действие». Пример:5) Runbook’и и эскалации
Мини-шаблон runbook
1. Детект: ссылки на дашборды (SLO, причинные), трейс, логи.
2. Быстрые проверки: health PSP/провайдеров, DR-регион синтетика, статус БД/кэша.
3. Временные меры: фича-флаги/kill-switch, rate-limits, переключение PSP/провайдера, деградация тяжёлых фич.
4. Эскалации: кто L2/L3, контакты 24×7 провайдера.
5. Критерии зелёной зоны: SLO в норме N минут, очереди < X, жалобы < Y.
6. Коммс: шаблон статуса, affected markets/brands, ETA/next update.
Эскалационная лестница
T0–5 мин: L1 принимает, назначает IC, запускает runbook.
T5–10 мин: зовём профильный L2 + Коммс-офицера.
T10–15 мин: Duty Manager/продукт, при необходимости юридический/комплаенс.
Внешние: PSP/Game provider — по регламенту (SLA-канал, тикет, звонок).
6) Коммуникации и статус-страница
Внутренние апдейты каждые 10–15 мин для SEV-1/2 (канал #war-room, шаблон сообщений).
Статус-страница: текущий статус, затронутые рынки, временные меры, следующий апдейт через X мин.
Post-incident note для саппорта/аффилиатов/партнёров: что было, как компенсируем.
Шаблоны заранее: коротко, без «внутренней кухни», без вины.
7) Работа с внешними зависимостями (PSP/игры/CDN)
Каталог контактов 24×7: PSP A/B, провайдеры игр, CDN/WAF, облако.
SLA-мониторинг: синтетика на депозиты/запуск игр, автоматические триггеры тикетов.
Failover-политики: маршрут на PSP-B при `success<99% 10 мин`, переключение провайдера игр при `TTFS>800мс`.
Inbox-вебхуков: подпись HMAC, идемпотентность, re-play из очереди после деградации провайдера.
8) GameDay и тренировки
Еженедельные tabletop-учения (30–45 мин): чтение графиков, принятие решений.
Ежемесячные технические DR-драйлы (60–90 мин): отказ PSP, лаг провайдера, падение БД/кластера WS.
KPI учений: время распознавания причины, качество коммуникаций, корректность решений по фичефлагам.
9) Хендовер и документация
Warm handover чек-лист (15–20 мин):- Текущие риски (рост лагов, лимиты PSP, горячие релизы).
- Незаполненные тикеты/эскалации.
- Временные фичефлаги/лимиты и когда снять.
- Резюме инцидентов смены (SEV/время/действия/остаточные риски).
- Документация: живая база runbook’ов, контактов, схем, «карта флоу» деньги/игры.
10) On-call здоровье и устойчивость
Правило 8/8/8: работа/сон/личное. Ночные смены → отгулы.
Бадди-система для новичков, shadow-дежурства 2–3 недели.
Психологическая безопасность: «blameless» ретро, поддержка при тяжёлых инцидентах.
Аудит нагрузки: ≤ 2 «пробуждения» за ночь в среднем на инженера — цель; выше → переработка алертинга/архитектуры.
11) Метрики операционной эффективности
MTTD/MTTR по доменам (логин/депозит/WS/игры).
Alert quality: % шумных/закрытых без действий, среднее число алертов/смену.
Change failure rate: % инцидентов, вызванных релизами; mean time between failures.
Toil: доля повторяемых ручных задач → план автоматизации.
Provider impact: доля SEV-2/1 из-за внешних партнёров (аргумент для SLA/миграции).
12) Инструменты и панели «дежурного»
«Красный» дашборд SLO: логин/депозит/ставки/запуск игр, 5xx/429, p95, регионы.
Причинные панели: БД/очереди/кэш, PSP/провайдеры, CDN/WAF.
On-call диспетчер: активные инциденты, таймеры апдейтов, one-click ссылки на runbook’и и фичефлаги.
Журнал действий (timeline) — кто что сделал, когда, с привязкой к SLO.
13) Типовые сценарии и быстрые решения
A. Депозиты падают в DE у PSP-A
Действия: канареечный маршрут→ PSP-B 50%; поднять таймаут вебхуков; включить JS-челлендж в WAF от ботов.
Коммс: статус-страница «Degradation DE deposits via PSP-A».
Выход: success ≥ 99% 15 мин, очередь ретраев < X.
B. Рост p95 WS в лайв-играх APAC
Действия: увеличиваем реплики WS-шлюзов, включаем warm-пул нод; rate-limit широковещательных сообщений; провайдеру — тикет по RTT.
Выход: p95 WS RTT ≤ 120 мс 20 мин.
C. Лаг провайдера игр (TTFS>1.2 с)
Действия: переключить лобби на альтернативные столы/студии, включить кеш метаданных; статус-апдейт.
Выход: TTFS < 800 мс, жалобы ↓.
14) Чек-лист готовности к 24/7
- Ротации и дежурства утверждены, «второй номер» на каждой смене.
- SLO-алерты + причинные, антишум, единые шаблоны сообщений.
- Полные runbook’и с «быстрыми рычагами» (фичефлаги, PSP/провайдеры, лимиты).
- Контакты 24×7 внешних партнёров, тест звонка раз в квартал.
- Статус-страница и шаблоны внешних апдейтов.
- GameDay/DR-учения по расписанию, ретроспективы без обвинений.
- Инструменты on-call: дашборды, таймлайн, журнал решений.
- Политика компенсации/отгулов, лимит ночных пробуждений, поддержка здоровья.
- Пост-инцидентный процесс: RCA в 48 ч, задачи по исправлениям с владельцами и сроками.
15) Шаблон пост-мортема (blameless)
1. Кратко: что случилось, когда, какой SEV, влияние и масштабы.
2. Таймлайн: детект → эскалации → действия → стабилизация.
3. Корневые причины: тех/процессы/люди/поставщики (5 Why).
4. Что сработало/что нет: алерты, ранбуки, коммуникации.
5. Action items: технические, процессные, партнёрские — ответственные и дедлайны.
6. Профилактика: тесты/мониторинг/учения, изменения SLO/алертов.
Резюме
Успешные 24/7-операции в казино — это дисциплина SLO, правильно спроектированный аларминг без шума, чёткие runbook’и и эскалации, регулярные учения и бережное отношение к on-call-людям. Свяжите SLO-панели с быстрыми рычагами (фичефлаги, переключение PSP/провайдеров, деградация тяжёлых фич), поддерживайте коммуникации с игроками и партнёрами, меряйте эффективность (MTTD/MTTR/alert quality) — и ваша платформа будет стабильной круглосуточно, а команда — продуктивной и устойчивой.
