Relizlərin təsdiqlənməsi prosesi
1) Məqsəd və məsuliyyət sahəsi
Relizlərin təsdiqlənməsi prosesi SLO, gəlir və uyğunluğu pozmadan platformada proqnozlaşdırıla bilən və təhlükəsiz dəyişiklikləri təmin edir. Bütün yolu əhatə edir: pull request-dən tam promosyona və post-monitorinqə qədər.
2) Prinsiplər
1. SLO-first: azad yalnız yaşıl SLI/burn-rate olmadan icazə verilir.
2. Kiçik partiyalar və geri qaytarılabilirlik: kanarya/proqressiv çatdırılma, sürətli rollback.
3. Policy-as-Code: geytlər, SoD, freeze pəncərələri və risk sinifləri - avtomatik olaraq təsdiqlənir.
4. Həqiqətin vahid mənbəyi: artefaktlar/konfiqlər/bayraqlar - Git-də, çərşənbə GitOps reconciller tərəfindən verilir.
5. Audit və sübut olunabilirlik: WORM jurnalları, qərar izi, aydın sahibləri.
6. Security default: ayrı sirləri, minimal imtiyazlar, geo-geytlar.
7. Sürprizsiz ünsiyyət: daxili/xarici yeniləmələr üçün hazırlanmış şablonlar.
3) Rollar və RACI
Release Manager (RM) - konveyer, təqvim, geyt sahibi. A/R
Service Owner (SO) - domen sahibi, risk alır, artefaktlar hazırlayır. A/R
SRE/Platform - SLO-geytlər, yuvarlanma, avtomatik sürüşmə. R
QA Lead - yoxlama strategiyası, test nəticələri. R
Security/Compliance - skanlar, SoD, tənzimləyici. C/A
CAB (Change Advisory Board) - Normal sinif həlli. A
On-call IC/CL - hadisəyə və kommunikasiyaya hazırlıq. R/C
Stakeholders (Biz/Support/Partners) - məlumatlandırma. I
4) Dəyişiklik sinifləri və koordinasiya yolları
Sinifin artırılması - risk sərhədlərini keçərkən (ödənişlər, RG, PII, limitlər).
5) Release konveyer və geytalar (axın axını)
Mərhələ 0. Planlaşdırma və təqvim
Freeze pəncərələri (bayramlar/matçlar), on-call slot və CL, status şablonları hazırlıq.
Mərhələ 1. PR → Build
Linters/lisenziyalar, SBOM, unit/contract tests, gizli skan.
Mərhələ 2. İnteqrasiya/Təhlükəsizlik
E2E (virtual PSP/KYC provayderləri), SAST/DAST, dependency review.
Mərhələ 3. Staging/Məşq
Qida ilə paritet, dönüşümlü miqrasiyalar, 5-25% -lik ficheflaglar, «release drill» çek siyahısı.
Gate A - Keyfiyyət və təhlükəsizlik (tələb olunur)
+ bütün testlər/skanlar yaşıl
+ sxemlər/konfiqlər validna, heç bir «qırmızı» SLI staging
+ SoD/4-eyes risk dəyişikliyi üçün
Mərhələ 4. Əvvəlcədən satış (kanarya çatdırılması)
1-5% trafik seqmentləri (tenant/geo/bank), runtime-validatorlar, guardrails.
Gate B - SLO/Biznes qapısı
+ SLO/KRI deqradasiyası yoxdur (gizli/səhv/ödəniş)
+ Təcrübələrin metriklərində heç bir SRM/anomaliya yoxdur
+ Comms hazırdır: status/partnyor layihəsi
Mərhələ 5. Rampa → 25% → 100% (region/tenant)
Post-monitorinq zamanlayıcıları ilə addım-addım yuyulur.
Mərhələ 6. Post-monitorinq (30-60 dəq)
Buraxılış Dashboard, burn-rate, şikayətlər/biletlər, pozuntular halında avtomatik bağlanış/rollback.
6) Avtomatlaşdırılmış həllər (policy-engine)
Psevdo-qaydalar:- 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) Reliz artefaktları
Release Manifest (məcburi): məqsəd, risk sinfi, sahələr (tenant/region), bayraqlar, miqrasiya, yuvarlanma planı, geri dönüş planı, sahibi, on-call kontaktları.
Evidence Pack: test/skan nəticələri, staging dashboard ekran, dry-run miqrasiya.
Comms Kit: status şablonları (daxili/xarici/tərəfdaşlar), ETA/ETR.
Backout Plan: dəqiq geri dönüş addımları və onun işlədiyi meyarlar.
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) Kanarya/Blue-Green/Feature-Flag Rolling
Canary - təhlükəsiz defolt: kiçik əhatə, GEO/tenant/BIN seqmentasiyası.
Blue-Green - ağır dəyişikliklər üçün: marşrut keçid, sürətli geri dönüş.
Bayraqlar - davranış fiquru üçün: TTL, kill-switch, guardrails, SoD.
9) Konfiqurasiya və sirlərin idarə edilməsi
Məlumatlar, sxemlər və validatorlar kimi konfiqlər; GitOps-drift detektoru ilə yuyulur.
Secrets - KMS/Secret Manager, JIT giriş, audit və maskalanma.
10) Kommunikasiyalar və status-səhifələr
Daxili: var-room/chat, on-call xəbərdarlığı, yeniləmə şablonları.
Xarici: nəşrlər yalnız CL vasitəsilə, əvvəlcədən hazırlanmış layihələr.
Tərəfdaşlar (PSP/KYC/studiyalar): inteqrasiyaya toxunduqda hədəflənmiş bildirişlər.
Status: Release hadisə deyil, lakin metrik müşahidə pəncərəsi var.
11) Təcili buraxılışlar (Fövqəladə)
Tetikləyicilər: P1-deqradasiya, zəiflik, PII/RG riskləri.
Yol: IC + RM həlli → minimum gates dəsti (linter/montaj) → canary 1-2% → monitorinq → yuyulma.
Mütləq: post-faktum CAB, post-mortem ≤ D + 5, kompromislərin sənədləşdirilməsi.
12) Audit, SoD və uyğunluq
SoD/4-eyes: PSP marşrutunda dəyişikliklər, bonus limitləri, məlumat ixracı.
WORM jurnalı: kim/nə/nə vaxt/nə üçün; siyasətlərin versiyaları; diff reliz/bayraqlar/konfiqurasiya.
Geo/Privacy: lazımi yurisdiksiyadakı məlumatlar və qeydlər; artefaktlarda PII olmaması.
13) Müşahidə və post-nəzarət
Dashboard Release: SLI (auth-success, bet → settle p99), error-rate, şikayətlər, dönüşüm, lag növbələri.
Alertlər: burn-rate, SRM, artım 5xx, banklarda PSP deqradasiyası/GEO.
Hesabatlar: CFR, MTTR buraxılış hadisələri, orta post-monitorinq vaxtı, avtomatik rollback rate.
14) KPI/KRI prosesi
Lead Time for Change (PR → prod), Change Failure Rate, MTTR buraxılış hadisələri.
SLO-gates pass rate, Auto-rollback rate, Freeze compliance.
Coverage of Release Drill (steycinq məşqləri), SoD violations (məqsəd - 0).
Comms SLA (layihələrin mövcudluğu, vaxtlara riayət).
15) Yol xəritəsi (6-10 həftə)
Ned. 1-2: dəyişiklik siniflərini, geytləri və artefaktları müəyyən etmək; linters, SBOM, gizli skan daxil edin; relizlər və freeze təqvimi.
Ned. 3-4: Konfiqurasiya üçün GitOps, canary/blue-green, SLO geytaları, Comms və var-room şablonları.
Ned. 5-6: policy-engine (SoD/4-eyes, risk-rules), metrik avtomatik rollback; dashboard relizlər.
Ned. 7-8: məşqlər (staging drills), fitness/hadisə botu ilə inteqrasiya, KPI/KRI hesabatları.
Ned. 9-10: WORM auditi, DR buraxılış təlimləri, CFR optimallaşdırılması, rol təlimi (RM/SO/CL/IC).
16) Antipattern
Geri dönüşü olmayan relizlər və canary → kütləvi hadisələr.
SLO geytləri «son tarix üçün».
Konfiqlər/bayraqlar heç bir sxem və TTL → «dondurulmuş» vəziyyətlər.
Git/audit olmadan promoda əl klikləri.
CL və şablon rolu olmadan ictimai yeniləmə.
Anbarda sirlər; JIT və jurnal olmadan giriş.
Məlumatsız bir əyləc kimi CAB: həllər buraxılış metrləri ilə dəstəklənməlidir.
Yekun
Relizlərin təsdiqlənməsi prosesi keyfiyyət, təhlükəsizlik və sürəti birləşdirən mühəndislik və idarəetmə çərçivəsidir: kod kimi siyasətlər, SLO geytaları, mütərəqqi çatdırılma, şəffaf kommunikasiyalar və sübut edilə bilən audit. Bu yanaşma CFR və MTTR-ni azaldır, gəlir və uyğunluğu qoruyur və komandalara tez-tez və təhlükəsiz qiymət buraxmağa imkan verir.