GH GambleHub

Операції та Управління → Передача контексту між змінами

Передача контексту між змінами

1) Навіщо це потрібно

Зміна приходить - система вже «біжить». Якість хендовера безпосередньо впливає на MTTR, шум алертів і стабільність релізів. Хороший хендовер - це швидкий орієнтир, чіткі ризики і зрозумілі наступні кроки.

Цілі:
  • Виключити втрату контексту щодо інцидентів, релізів і провайдерів.
  • Знизити «час входження» нової зміни до хвилин, а не годин.
  • Стабілізувати SLO критичних шляхів (депозит, ставка, запуск гри, виведення).
  • Зробити комунікації передбачуваними і перевіряються.

2) Принципи хорошого хендовера

1. Стандартизована форма (один шаблон, одна термінологія).
2. Єдині артефакти (посилання на одні і ті ж дашборди/тікети/runbook'і).
3. Таймбокс (короткий «брифінг» + «лонгрід» в письмовому вигляді).
4. Actionable: в кінці - явний список завдань «хто/що/коли».
5. SLO-орієнтованість: статус по SLO/помилкам, а не «лог подій».
6. Трасування: будь-який факт підтверджується артефактом.

3) Ролі та відповідальність

Lead зміни (минає): готує пакет хендовера, проводить брифінг.
Lead зміни (приймаюча): фіксує питання/ризики, підтверджує прийняття.
Інцидент-менеджер: оновлює таймлайн/канал інциденту, стежить за SLA апдейтів.
Власники доменів (Payments/Bets/Games/KYC): по своїх секціях дають «статус і ризик».
SRE/Observability: підтримують артефакти (дашборди, анотації релізів, алерти).

4) Таймінг і канали

T-30 хв до зміни: зміна заморожує статус, оновлює шаблон.
T-10 хв: швидкий брифінг (15-20 хвилин максимум) в голосовому/відео-каналі.
T+0: публікація пакету хендовера в загальному каналі «#ops -handover».
T + 15 хв: приймаюча зміна підтверджує прийом і уточнює відкриті питання.
Ескалації: всі «червоні» пункти відразу в канал відповідної команди.

5) Структура пакету хендовера (шаблон)


Handoff - <date, time, TZ>
Shift: <outgoing> → <receiving>
Overall SLO status (last 4h):
- API p95/p99: <values/trends>
- Error rate: <values/trends>
- Queue lag/DB connections/Cache: <brief>
Critical incidents:
- <INC-123>: status, impact, next update ETA, links (ticket, channel, postmortem draft)
Providers (PSP/KYC/studios):
- PSP-X: quotas/errors/fake <links>
- KYC-A: Webhook delays <links>
Releases/Features:
- In progress: <service>, stage (canary X%), gate/metrics, risk
- Scheduled: windows/locks/dependencies
Risks and observations:
- <briefly, with links and graphs>
Action items (before <time>):
- [Owner] <task>, readiness criterion
Useful links:
- Dashboard Overview, dependency map, escalation matrix, runbook 'and
On-call contacts:
- Domains/Names/Channels

6) Міні-SOP хендовера

1. Зміна оновлює анотації релізів і дашборди (SLO, провайдери, черги).
2. Перевіряє «червоні» алерти за останні 4 години, фіксує статус/причину.
3. Оновлює розділ «Ризики та спостереження» (тенденції/підозри, не факти).
4. Заповнює Action items з дедлайнами і власниками.
5. Проводить брифінг: 10-15 хвилин, строго за шаблоном.
6. Приймаюча зміна задає питання; якщо потрібно - миттєва ескалація власникам.
7. Підтвердження прийому: «отримано, питання/ні», список перших кроків.

7) Метрики якості хендовера (KPI)

Handoff Quality Score (HQS) - скоринг пакету (0-100) за чек-листом.
Handoff Time - тривалість брифінгу (цільовий коридор 10-20 хв).
Acknowledgement SLA - підтвердження прийому ≤ 15 хвилин.
Missing Context Rate - частка інцидентів з «втратою контексту» після зміни.
Post-Handoff Incident Spike - зростання алертів/інцидентів в перші 60 хвилин.
Action Items SLA - частка завдань, закритих в термін після зміни.

8) Чек-лист якості пакета (оцінка HQS)

  • Заповнені SLO/ключові метрики за 4 години з трендами.
  • Всі «червоні» алерти перераховані з причинами/посиланнями.
  • Інциденти: номер, статус, вплив, наступний апдейт (час).
  • Провайдери: квоти/помилки/фейловер, останні зміни.
  • Релізи/фічі: стадія, ризики, гейти/канарка.
  • Action items: власник, термін, критерій готовності.
  • Посилання: дашборди, канали, runbook'і, матриця ескалацій.
  • Контакти on-call і резервні канали зв'язку.

9) Дашборди «для хендовера» (мінімум)

Operations Overview: p95/p99, error rate, capacity headroom, queue lag.
Incidents Board: відкриті інциденти, ETA апдейтів, вплив.
Release & Feature: канарки, порівняння «до/після», автогейти.
Providers Panel: квоти, таймаути, cost/1k calls, перемикання.
Dependency Map: проблемні ребра (latency/errors/retries).

10) Алерти на якість хендоверів (ідеї)


ALERT HandoffNotPublished
IF handoff_published == 0 AND within(10m, shift_change) == true
LABELS {severity="warning", team="ops"}

ALERT HandoffAckSLA
IF handoff_ack_minutes > 15
LABELS {severity="warning", team="ops"}

ALERT MissingActionOwners
IF count_over_time(handoff_action_items{owner=""}[1h]) > 0
LABELS {severity="warning", team="ops"}

ALERT PostHandoffIncidentSpike
IF incidents_rate_60m_after_shift > baseline_14d 1. 5
LABELS {severity="info", team="ops"}

11) Комунікації та формат апдейтів

Шаблон короткого апдейта (в загальний канал):

[HH: MM] Handoff published. SLO OK/Degraded. Incidents: INC-123 (ETA 18:30), releases: bets-api canary 10%. Risks: PSP-X 85% quota. Action items: @ squad-payments until 7pm to check out the feilover.
Правила:
  • Без приватних чатів для критичних пунктів - тільки загальні канали.
  • Будь-яка «червона» зона - негайний тред з власниками.
  • Всі рішення/компроміси - в письмовому вигляді, з посиланням на дані.

12) Особливості доменів (iGaming)

Payments: пріоритет: конверсія депозиту і час авторизації, маршрути фейловера PSP, ліміти по провайдерам.
Bets: оновлення коефіцієнтів/кешів, навантаження на стрімінг/черги, затримка розрахунків.
Games/Live: широкомовні івенти (джекпоти/стріми), ліміти вебсокетів, деградації UI.
KYC/AML: черга перевірок, SLA провайдерів, чутливість до піків.

13) Анти-патерни

Вільна «довільна форма» хендовера (кожен пише як хоче).
Немає дедлайну на підтвердження прийому.
Пакет без Action items і власників.
Хендовер перетворюється на «читку логів» замість SLO/ризиків.
Секретні рішення в приватних чатах - відсутність трассируемости.
Шаблон не містить посилань на артефакти - нічим перевіряти.

14) Інтеграції та артефакти

Анотації релізів на графіках, автоссылки в хендовер.
Link unfurling: вставка посилань на дашборди/тікети з прев'ю ключових метрик.
Runbook-прив'язки: кожна «червона» зона з прямим посиланням на конкретний runbook.
Матриця ескалацій: у шаблоні - єдиний актуальний документ.

15) Політика зберігання та аудит

Хендовери - зберігаються централізовано (геос, дата/час, автори).
Щотижневий аудит HQS і вибірковий розбір «поганих» хендоверів.
Ревізія шаблону - щоквартально або за підсумками постмортемів.

16) Швидкий старт (30 днів)

Тиждень 1: затвердити шаблон, ролі і таймінг; запустити пілот на одній лінії (наприклад, Payments).
Тиждень 2: включити дашборди «для хендовера», алерти HandoffNotPublished/AckSLA.
Тиждень 3: ввести HQS-скорард і аудит 10% хендоверів.
Тиждень 4: розширити на Bets/Games/KYC, провести ретроспективу, оновити SOP.

17) Приклад «картки ризику» для пакета


Risk: PSP-X hits 90% quota in prime time
Impact: rise in deposit refusals, SLO payments at risk
Signals: outbound_error_rate, quota_usage_ratio
Mitigation: raise PSP-Y up to 20% of traffic in advance, enable token cache
Owner/ETA: integrations@oncall / до 18:00

18) FAQ

Q: Що робити, якщо брифінг затягується?
A: Строгий таймбокс і правило «в тред після брифінгу». У пакеті повинно бути все для асинхронного ознайомлення.

Q: Як боротися з «різними версіями правди»?
A: Уніфікувати артефакти: єдині дашборди, анотації релізів, SSOT для SLA; лінкувати тільки на них.

Q: Чи потрібно записувати брифінг?
A: Так, для спірних кейсів і навчання. Але запис не замінює стандартизований письмовий пакет.

Contact

Зв’яжіться з нами

Звертайтеся з будь-яких питань або за підтримкою.Ми завжди готові допомогти!

Розпочати інтеграцію

Email — обов’язковий. Telegram або WhatsApp — за бажанням.

Ваше ім’я необов’язково
Email необов’язково
Тема необов’язково
Повідомлення необов’язково
Telegram необов’язково
@
Якщо ви вкажете Telegram — ми відповімо й там, додатково до Email.
WhatsApp необов’язково
Формат: +код країни та номер (наприклад, +380XXXXXXXXX).

Натискаючи кнопку, ви погоджуєтесь на обробку даних.