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
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.
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.