GH GambleHub

Proces zatwierdzenia zwolnienia

1) Cel i obszar odpowiedzialności

Proces zatwierdzania zwolnień zapewnia przewidywalne i bezpieczne zmiany platformy bez naruszania SLO, przychodów i zgodności. Obejmuje ona całą ścieżkę: od żądania ciągnięcia do pełnej promocji do prod i post-monitoring.

2) Zasady

1. SLO-first: zwolnienie dozwolone tylko z zielonym SLI/bez spalania.
2. Małe partie i odwracalność: kanaryjska/progresywna dostawa, szybki zwrot.
3. Policy-as-Code: bramy, SoD, zamrożenie okien i klasy ryzyka są automatycznie weryfikowane.
4. Pojedyncze źródło prawdy: artefakty/konfiguracje/flagi - w Git środowisko jest podane przez GitOps-reconciler.
5. Audyt i sprawdzalność: dzienniki WORM, ścieżka decyzji, jasni właściciele.
6. Domyślne zabezpieczenie: sekrety oddzielnie, minimalne uprawnienia, bramy geograficzne.
7. Komunikacja bez niespodzianek: przygotowane szablony do wewnętrznych/zewnętrznych aktualizacji.

3) Role i RACI

Release Manager (RM) - właściciel rurociągu, kalendarz, bramy. A/R

Właściciel usługi (SO) - właściciel domeny, akceptuje ryzyko, przygotowuje artefakty. A/R

SRE/Platform - bramy SLO, rolluts, auto rollbacks. R

QA Lead - strategia inspekcji, wyniki testów. R

Bezpieczeństwo/Zgodność - skany, SoD, regulacja. C/A

CAB (Change Advisory Board) - Normalne rozwiązanie klasy. A

Dyżurny IC/CL - gotowość do incydentów i komunikacji. R/C

Zainteresowane strony (Biz/Support/Partners) - informowanie. JA

4) Zmiana klas i ścieżek zatwierdzania

KlasaPrzykładyŚcieżka homologacjiWarunki
StandardBezpieczny, szablon (doki, konfiguracje nieinwazyjne)Automatyczne bramy + po powiadomieniuGodziny
NormalneNowe funkcje, schematy baz danych z migracją, zmiany routingu PSPBramki + CAB + progresywna dostawa1-3 dni
Nagły wypadekHot P1 Fixes, niebezpieczna funkcja/PII Export OffDecyzja IC/RM + CAB po stronie faktycznejMinuty-godziny

Uaktualnienie - przy przekraczaniu granic ryzyka (płatności, RG, PII, limity).

5) Rurociąg i bramy (przepływ końcowy)

Etap 0. Harmonogram i kalendarz

Zamrażanie okien (wakacje/mecze), dyżur i CL, gotowość szablonów statusu.

Etap 1. PR → Budowa

Linters/licencje, SBOM, testy jednostkowe/kontraktowe, tajne skanowanie.

Etap 2. Integracja/Bezpieczeństwo

E2E (wirtualizowane dostawców PSP/KYC), SAST/DAST, przegląd zależności.

Etap 3. Ustawianie/próba

Parytet ze sprzedażą, migracja z odwracalnością, ficheflagi o 5-25%, lista kontrolna „wiertarka uwolnienia”.

Gate A - Jakość i bezpieczeństwo (wymagane)

+ wszystkie testy/skany zielone

+ schematy/konfiguracje są ważne, bez „czerwonego” SLI

+ SoD/4-eyes dla zmian wysokiego ryzyka

Etap 4. Przedprodukcja (dostawa kanaryjska)

1-5% ruch według segmentu (najemca/geo/bank), walidatory runtime, barierki.

Brama B - Brama SLO/Business

+ brak degradacji SLO/KRI (opóźnienie/błąd/płatność)

+ brak SRM/anomalii w metrykach eksperymentalnych

+ Komunikaty gotowe: projekt statusu/partnerów

Etap 5. Ramp-up → 25% → 100% (region/najemca)

Promocja oparta na obrocie z timerami po monitorowaniu.

Etap 6. Po monitorowaniu (30-60 min)

Płyta rozdzielcza, wskaźnik oparzeń, reklamacje/bilety, automatyczne zamykanie/rolowanie w przypadku naruszeń.

6) Rozwiązania zautomatyzowane (silnik polityczny)

Pseudo-zasady:
  • SLO-бева: "odmówić promowania, jeśli slo_red w {auth_success, bet_settle_p99}'
  • PII-eksport: "wymagać dual_control jeśli config. wpływa = = "PII_EXPORT"'
  • Zamrożenie: "odmówić wdrożenia jeśli kalendarz. zamrozić & nie pojawiają się "
  • Rollback: „auto, jeśli auth_success_drop> 10% dla 10 m w geo = TR”

7) Artefakty uwolnienia

Manifest uwolnienia (wymagany): cel, klasa ryzyka, regiony (najemca/region), flagi, migracje, plan kroczący, plan zwrotu, właściciel, kontakty dyżurne.
Zestaw dowodów: wyniki testów/skany, zrzuty ekranu desek rozdzielczych, migracje na sucho.
Zestaw komunikatorów: szablony stanu (wewnętrzne/zewnętrzne/partnerzy), ETA/ETR.
Plan Backout - dokładne kroki wsteczne i kryteria, zgodnie z którymi jest on uruchamiany.

Przykład (wyciskanie 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) Kanaryjski/niebiesko-zielony/funkcja-flaga walcowanie

Kanaryjski - domyślnie bezpieczny: mały zasięg, segmentacja przez GEO/lokator/BIN.
Niebiesko-zielony - do ciężkich zmian: przełączanie trasy, szybki zwrot.
Flagi - dla funkcji behawioralnych: TTL, kill-switch, barierki, SoD.

9) Zarządzanie konfiguracjami i tajemnicami

konfiguracje jako dane, obwody i walidatory; Promocja GitOps z wykrywaczem dryfu.
Tajemnice - w KMS/Secret Manager, dostęp JIT, audyt i maskowanie.

10) Komunikaty i strony o statusie

Wewnętrzne: var-room/chat, dyżurne powiadomienie, szablony aktualizacji.
Zewnętrzne: publikacje wyłącznie za pośrednictwem CL, wstępnie przygotowane projekty.
Partnerzy (PSP/KYC/studios): ukierunkowane powiadomienia w przypadku wpływu na integrację.
Status: Wydanie nie jest incydentem, ale ma okno monitorowania z metrykami.

11) Zwolnienia awaryjne (awaryjne)

Wyzwalacze: degradacja P1, wrażliwość, ryzyko PII/RG.
Ścieżka: rozwiązanie IC + RM → minimalny zestaw bram (liniowiec/montaż) → kanarka 1-2% → monitorowanie → promocja.
Obowiązkowe: pośmiertna KBK, pośmiertnie ≤ D + 5, dokumentacja kompromisów.

12) Audyt, dźwięk i zgodność

SoD/4-eyes: zmiany w trasowaniu PSP, limity bonusowe, eksport danych.
WORM-journal: who/what/when/why; wersje polityki; diff release/flags/configs.
Geo/Prywatność: dane i dzienniki w pożądanej jurysdykcji; brak PII w artefakcie.

13) Obserwowalność i kontrola pokontrolna

Zwolnij deskę rozdzielczą: SLI (auth-success, bet → settle p99), błąd-rate, reklamacje, konwersja, lagi kolejki.
Wpisy: wskaźnik spalania, SRM, wzrost 5xx, degradacja PSP przez banki/GEO.
Raporty: CFR, incydenty uwalniania MTTR, średni czas po monitorowaniu, szybkość automatycznego odwracania.

14) Proces KPI/KRI

Czas realizacji zmian (PR → prod), wskaźnik awarii zmiany, incydenty uwalniania MTTR.
SLO-bramki przejść szybkość, Auto-rolka szybkość, Zamrożenie zgodności.
Coverage of Release Drill (próby etapowe), naruszenia SoD (cel - 0).
Komunikaty SLA (dostępność projektów, przestrzeganie terminów).

15) Plan realizacji (6-10 tygodni)

Ned. 1-2: zdefiniować klasy zmian, bramy i artefakty; włącz liniowce, SBOM, tajne skanowanie; zwolnić kalendarz i zamrozić.
Ned. 3-4: Gitopy do konfiguracji, kanarka/niebiesko-zielone, bramy SLO, szablony komunikatorów i pokój var.
Ned. 5-6: silnik polityczny (SoD/4-eyes, zasady ryzyka), auto-rolka według metryk; zwolnienia z deski rozdzielczej.
Ned. 7-8: próby (ćwiczenia etapowe), integracja z ficheflags/incident-bot, raporty KPI/KRI.
Ned. 9-10: audyt WORM, wiertarki DR, optymalizacja CFR, szkolenie ról (RM/SO/CL/IC).

16) Antypattery

Uwolnienia bez odwracalności i kanarka → incydenty masowe.
Ignoruj bramki SLO „ze względu na termin”.
Konfiguracje/flagi bez obwodów i TTL → „zamrożone” stany.
Kliknięcia ręczne w sprzedaży bez Git/audytu.
Publiczne aktualizacje bez roli i szablonów CL.
Sekrety w repozytorium; dostęp bez JIT i rejestrowania.
CAB jako hamulec wolny od danych: decyzje muszą być poparte metrykami uwalniania.

Razem

Proces zatwierdzania jest ramą inżynierii i zarządzania, która łączy jakość, bezpieczeństwo i szybkość: polityki, takie jak kod, bramy SLO, progresywna dostawa, przejrzysta komunikacja i sprawdzalny audyt. Takie podejście zmniejsza CFR i MTTR, chroni przychody i zgodność oraz pozwala zespołom na częste i bezpieczne uwalnianie wartości.

Contact

Skontaktuj się z nami

Napisz do nas w każdej sprawie — pytania, wsparcie, konsultacje.Zawsze jesteśmy gotowi pomóc!

Rozpocznij integrację

Email jest wymagany. Telegram lub WhatsApp są opcjonalne.

Twoje imię opcjonalne
Email opcjonalne
Temat opcjonalne
Wiadomość opcjonalne
Telegram opcjonalne
@
Jeśli podasz Telegram — odpowiemy także tam, oprócz emaila.
WhatsApp opcjonalne
Format: kod kraju i numer (np. +48XXXXXXXXX).

Klikając przycisk, wyrażasz zgodę na przetwarzanie swoich danych.