GH GambleHub

Процес затвердження релізів

1) Мета і зона відповідальності

Процес затвердження релізів забезпечує передбачувані і безпечні зміни платформи без порушення SLO, виручки і комплаєнсу. Він охоплює весь шлях: від pull request до повного промоуту в прод і пост-моніторингу.

2) Принципи

1. SLO-first: реліз дозволений тільки при зелених SLI/без burn-rate.
2. Малі партії та оборотність: канареечная/прогресивна доставка, швидкий rollback.
3. Policy-as-Code: гейти, SoD, freeze-вікна і ризик-класи - верифікуються автоматично.
4. Єдине джерело правди: артефакти/конфіги/прапори - в Git, середовище наводиться GitOps-реконсайлером.
5. Аудит і доказовість: WORM-журнали, слід прийняття рішень, чіткі власники.
6. Типова безпека: секрети окремо, мінімальні привілеї, гео-гейти.
7. Комунікації без сюрпризів: підготовлені шаблони для внутрішніх/зовнішніх оновлень.

3) Ролі та RACI

Release Manager (RM) - власник конвеєра, календар, гейти. A/R

Service Owner (SO) - власник домену, приймає ризик, готує артефакти. A/R

SRE/Platform - SLO-гейти, розкатки, авто-відкати. R

QA Lead - стратегія перевірок, результати тестів. R

Security/Compliance - скани, SoD, регуляторика. C/A

CAB (Change Advisory Board) - рішення по Normal-класу. A

On-call IC/CL - готовність до інциденту і комунікацій. R/C

Stakeholders (Biz/Support/Partners) - інформування. I

4) Класи змін та шляхи узгодження

КласПрикладиШлях узгодженняТерміни
StandardБезпечні, шаблонні (док-репорти, неінвазивні конфіги)Авто-гейти + пост-повідомленняГодинник
NormalНові фічі, схеми БД з міграцією, зміни роутингу PSPГейти + CAB + прогресивна доставка1-3 дні
EmergencyГарячі фікси P1, відключення небезпечної фічі/експорту PIIIC/RM рішення + пост-фактум CABХвилини-години

Підвищення класу - при перетині меж ризику (платежі, RG, PII, ліміти).

5) Конвеєр релізу і гейти (наскрізний потік)

Етап 0. Планування та календар

Freeze-вікна (свята/матчі), слот он-колла і CL, готовність шаблонів статусу.

Етап 1. PR → Build

Лінтери/ліцензії, SBOM, unit/contract tests, секрет-скан.

Етап 2. Інтеграція/Безпека

E2E (віртуалізовані провайдери PSP/KYC), SAST/DAST, dependency review.

Етап 3. Staging/Репетиція

Паритет з продом, міграції з оборотністю, фічефлаги на 5-25%, чек-лист «release drill».

Гейт А - Якість і безпека (обов'язковий)

+ всі тести/скани зелені

+ схеми/конфіги валідні, немає «червоних» SLI staging

+ SoD/4-eyes для high-risk змін

Етап 4. Пред-прод (канареечная доставка)

1-5% трафіку за сегментами (tenant/geo/банк), runtime-валідатори, guardrails.

Гейт B - SLO/бізнес-гейт

+ немає деградацій SLO/KRI (латентність/помилки/оплата)

+ немає SRM/аномалій в метриках експериментів

+ Comms готовий: чернетка статусу/партнерів

Етап 5. Рамп-ап → 25% → 100% (регіон/тенант)

Покроковий промоут з таймерами пост-моніторингу.

Етап 6. Пост-моніторинг (30-60 хв)

Дашборд релізу, burn-rate, скарги/тікети, авто-закриття/rollback при порушеннях.

6) Автоматизовані рішення (policy-engine)

Псевдо-правила:
  • SLO-гейт: `deny promote if slo_red in {auth_success, bet_settle_p99}`
  • PII-export: `require dual_control if config. affects == "PII_EXPORT"`
  • Freeze: `deny deploy if calendar. freeze && not emergency`
  • Rollback: `auto if auth_success_drop > 10% for 10m in geo=TR`

7) Артефакти релізу

Release Manifest (обов'язковий): мета, ризик-клас, області (tenant/region), прапори, міграції, план розкатки, план відкату, власник, контакти он-колла.
Evidence Pack: результати тестів/сканів, скріншоти дашбордів staging, dry-run міграцій.
Comms Kit: шаблони статусу (внутрішній/зовнішній/партнери), ETA/ETR.
Backout Plan: точні кроки відкату і критерії, при яких він спрацьовує.

Приклад (вичавка YAML):
yaml release:
id: "2025. 11. 01-payments-v42"
owner: "Payments SO"
risk_class: "normal"
scope: { tenants: ["brandA","brandB"], regions: ["EU"] }
rollout:
steps:
- { coverage: "5%", duration: "20m" }
- { coverage: "25%", duration: "40m" }
- { coverage: "100%" }
migrations:
- id: "ledger_ddl_0042"
reversible: true flags:
- id: "deposit. flow. v3"
guardrails: ["api_error_rate<1. 5%","latency_p99<2s"]
rollback:
autoIf:
- metric: "auth_success_rate"
where: "geo=TR"
condition: "drop>10% for 10m"

8) Канарські/Blue-Green/Feature-Flag розкатки

Canary - безпечний дефолт: мале охоплення, сегментація по GEO/tenant/BIN.
Blue-Green - для важких змін: перемикання маршруту, швидкий відкат.
Прапори - для поведінкових фіч: TTL, kill-switch, guardrails, SoD.

9) Управління конфігами та секретами

Конфіги як дані, схеми і валідатори; GitOps-промоут з drift-детектором.
Секрети - в KMS/Secret Manager, доступ JIT, аудит і маскування.

10) Комунікації та статус-сторінки

Внутрішні: вар-рум/чат, оповіщення он-коллів, шаблони апдейтів.
Зовнішні: публікації тільки через CL, заздалегідь підготовлені чернетки.
Партнери (PSP/KYC/студії): targeted-повідомлення при зачіпанні інтеграцій.
Статус: реліз не є інцидентом, але має вікно спостереження з метриками.

11) Екстрені релізи (Emergency)

Тригери: P1-деградація, вразливість, ризики PII/RG.
Шлях: рішення IC + RM → мінімальний набір гейтів (лінтер/збірка) → canary 1-2% → моніторинг → промоут.
Обов'язково: пост-фактум CAB, пост-мортем ≤ D + 5, документування компромісів.

12) Аудит, SoD і відповідність

SoD/4-eyes: зміни PSP-роутингу, лімітів бонусів, експортів даних.
WORM-журнал: хто/що/коли/навіщо; версії політик; дифф релізу/прапорів/конфігів.
Geo/Privacy: дані і логи в потрібній юрисдикції; відсутність PII в артефактах.

13) Спостережуваність і пост-контроль

Дашборд релізу: SLI (auth-success, bet→settle p99), error-rate, скарги, конверсія, лаги черг.
Алерти: burn-rate, SRM, зростання 5xx, деградація PSP по банках/GEO.
Звіти: CFR, MTTR реліз-інцидентів, середній час пост-моніторингу, auto-rollback rate.

14) KPI/KRI процесу

Lead Time for Change (PR→prod), Change Failure Rate, MTTR реліз-інцидентів.
SLO-gates pass rate, Auto-rollback rate, Freeze compliance.
Coverage of Release Drill (стейджинг-репетиції), SoD violations (мета - 0).
Comms SLA (наявність чернеток, дотримання таймінгів).

15) Дорожня карта впровадження (6-10 тижнів)

Нед. 1–2: визначити класи змін, гейти і артефакти; включити лінтери, SBOM, секрет-скан; календар релізів і freeze.
Нед. 3–4: GitOps для конфігов, canary/blue-green, SLO-гейти, шаблони Comms і вар-рум.
Нед. 5–6: policy-engine (SoD/4-eyes, risk-rules), авто-rollback за метриками; дашборд релізів.
Нед. 7–8: репетиції (staging drills), інтеграція з фічефлагами/інцидент-ботом, звіти KPI/KRI.
Нед. 9–10: аудит WORM, DR-навчання релізів, оптимізація CFR, навчання ролей (RM/SO/CL/IC).

16) Антипатерни

Релізи без оборотності і canary → масові інциденти.
Ігнор SLO-гейтів «заради дедлайну».
Конфіги/прапори без схем і TTL → «застиглі» стани.
Ручні кліки в проді без Git/аудиту.
Публічні апдейти без ролі CL і шаблонів.
Секрети в репозиторії; доступи без JIT і журналювання.
CAB як гальмо без даних: рішення повинні підкріплюватися метриками релізу.

Підсумок

Процес затвердження релізів - це інженерний і управлінський каркас, який з'єднує якість, безпеку і швидкість: політики як код, SLO-гейти, прогресивна доставка, прозорі комунікації і доказовий аудит. Такий підхід знижує CFR і MTTR, захищає виручку і комплаєнс і дозволяє командам випускати цінність часто і безпечно.

Contact

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

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

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

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

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

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