Davamlı yerləşdirmə
1) CD nədir və CI/CD-dən nə ilə fərqlənir
Davamlı yerləşdirmə (Continuous Deployment, CD) - əl «reliz qatarları» olmadan, sınaqdan keçmiş hər bir dəyişikliyin avtomatik geri alınması təcrübəsidir. CI-dən (kommitlərdə avtomatik montaj və testlər) CD zənciri tamamlaması ilə fərqlənir: kod → artefakt → yoxlama → prodakşen. Tənzimlənən sektorlarda CD-lər tez-tez progressiv çatdırılma ilə birləşdirilir (auditoriya məhdudiyyəti ilə mərhələli buraxılış).
CD məqsədləri:- Time-to-Market və dəyişiklik dəyəri azaldın.
- Böyük buraxılış riskini azaltın: kiçik partiyalar → səbəbi tapmaq və yuvarlanmaq daha asandır.
- Keyfiyyət intizamını bərpa edin: «Hər bir kommit potensial məhsuldur».
2) Əsas prinsiplər
Kiçik inkrementlər. Qısa Fiche budaqları, sürətli review, aqressiv mercinq.
Montaj determinantlığı. Təkrarlanan iki tərəfli mühit, lock faylları, hermetic builds.
Shift-left-keyfiyyət. Linters, statik analiz, inteqrasiyadan əvvəl vahid/müqavilə testləri.
Production-like mühit. Eyni konfiqlər, vault vasitəsilə sirlər, məlumatlar - sintetik/anonim.
Bütün yolun avtomatlaşdırılması. Kommitdən trafikin marşrutlaşdırılmasına və geri qaytarılmasına qədər.
Default müşahidə. Metriklər, loglər, izlər, alertlər - Definition of Done-nin bir hissəsi kimi.
Təhlükəsizlik-by-design. SAST/DAST, SCA, imzalanmış artefaktlar, siyasətlərin yoxlanılması.
3) CD payplaynın istinad arxitekturası
1. Trigger: VCS (push/merge) hadisəsi «prod-eligible» kimi qeyd olunur.
2. Build: obyekt (şəkil, paket), SBOM, imza (Sigstore/Cosign).
3. Test Fast: lint/vahid/müqavilə; sürətli feedback (<5-10 dəq).
4. Test Deep (paraleldə): inteqrasiya, E2E, yükləmə «profil», steycada xaos testləri.
5. Security Gate: SAST/DAST/SCA, gizli yoxlama, siyasət yoxlama (OPA/Conftest/Kyverno).
6. Compliance Gate: SoD/4-göz lazım olduqda, izləmə tələbləri, yoxlama vərəqləri.
7. Promote: Artefaktın eyni bild kimi mühit vasitəsilə təşviqi (dev → stage → prod).
8. Deploy Strategy: blue-green / canary / progressive + feature flags.
9. Post-Deploy Verification: auto-health, SLO/SLA, alert, deqradasiya zamanı avtomatik rollbek.
10. Audit & Evidence: artefaktlar, qeydlər, yoxlama protokolları - dəyişməz saxlama.
4) Buraxılış strategiyaları
Blue-Green: iki prod standı (Blue = cari, Green = yeni), atom marşrutlaşdırma keçid. Plus - ani geri dönüş. Mənfi - ikili infrastruktur.
Canary: avtomatik SLO qapıları ilə paylama trafiki (1% → 5% → 25% → 100%).
Progressive Delivery: hədəf kogorts (region, provayder, VIP seqment), məhdud radius.
Feature Flags: «Off» kodunun çatdırılması, istifadəçilər/kohortlar vasitəsilə aktivləşdirilməsi. Mütləq: «flag lifecycle» siyasəti.
5) Test və keyfiyyət
Müstəqil mikroservis buraxılışları üçün müqavilə testləri və consumer-driven contracts.
Real modellər üzrə yükləmə profilləri (RPS, p95/p99, açıq/qapalı modellər).
DB miqrasiya testləri: birbaşa/geri dönüşlü, iki versiyanın uyğunluğu (expand → contract).
Chaos/Resilience testləri: asılılığın kəsilməsi, şəbəkə gecikmələri, resurs limitləri.
İstifadəçiyə yaxın nöqtələrdən buraxılış testi (smoke + synthetic).
6) CD təhlükəsizlik və uyğunluq
Artefaktların imzası, provenance, SBOM. Mənşəyi izləyirik, «supply chain» risklərini istisna edirik.
Policy-as-Code: Yalnız etibarlı reyestrdən şəkillər, skan keçidi ilə.
Sirləri: qısa ömürlü tokenlər, dönən açarlar, KMS; Hitdə sirlərin qadağan edilməsi.
Vəzifələrin ayrılması (SoD): inkişaf ≠ prod-access; bütün əməliyyatlar - paypline vasitəsilə.
Audit-track: dəyişməz reliz qeydləri, kim/nə/nə vaxt; saxlama N tənzimləyici il.
7) Dəyişikliklərin idarə edilməsi və risk nəzarəti
Change Types: standart (tam avtomatik), normal (avtomatik + təsdiq), təcili (sürətli pəncərə + post-mortem).
CAB minimalizmi: Dəyişdirilmiş risklər və infrastruktur «sındırıcı» yeniləmələr üçün CAB, qalanları - avtomatik keyfiyyət geytaları vasitəsilə.
Risk Matrix: təsir × ehtimal → strategiya seçimi (canary daha dərin, bayraqlar, əlavə monitorinq).
Runbooks & Playbooks: Hər bir buraxılış və geri dönüş növü üçün dəqiq təlimatlar.
8) Müşahidə, SLO və avto rollbek
Qızıl siqnallar: gecikmə, səhvlər, doyma, trafik; biznes metrikası (dönüşüm, depozit, ödənişlərin müvəffəqiyyəti).
Guardrails: əgər p95> eşik, error rate ↑, biznes metrikası ↓ - avtomatik stop/geri dönüş.
Release Dashboards: widgets: versiyası → metrika → bayraqlar → kanarya payları trafik.
Alertlər: səs-küy səviyyələri, on-call rotasiyası, insident menecmenti ilə əlaqə.
9) CD metrikası
DORA metrikası: deployların tezliyi, lead time for changes, MTTR, uğursuz buraxılışların payı.
Kohortlarda Change-failure-rate (provayder, region, cihaz üzrə).
Geytlərin keçmə vaxtı: harada «dar yerlər» (security scan, inteqrasiya testləri).
Cost-to-Release: pəncərə dəqiqə dəyəri, infrastruktur strategiya marjası (mavi-yaşıl vs canary).
10) Geri dönüş nümunələri və uyğunluq
Avto-rollbek: marşrutlaşdırma (traffic switch) və/və ya versiya (K8s rollout undo) səviyyəsində.
BD miqrasiyası: expand-migrate-contract strategiyası, Ficha bayraqları əlçatmaz sahələri gizlədir.
Idempotency & Exactly-once-like: növbələr/ödənişlər üçün - idempotentlik açarları, deduplikasiya.
Back-pressure və graceful degradation: deqradasiya zamanı - qeyri-funksional xüsusiyyətləri söndürmək.
11) Praktik mühit modeli
GitOps-yanaşma: hədəf vəziyyəti git saxlanılır, nəzarətçi manifestləri tətbiq edir.
Environments: 'dev' (tez və çirkli), 'stage' (prod-like, xaos-tests), 'prod-A/B' (blue-green) və ya canary-pulları olan 'prod'.
Data izolyasiyası: data kimi konfiqlər, görüntü sirləri, fərdi hesablar/limitlər.
12) Proseslər və rollar
RACI: Memar (Siyasətçilər), Platforma Komandası (Paypline, Klaster), Məhsul Komandaları (Testlər/Bayraqlar), Təhlükəsizlik (Siyasətlər/Skanlar), SRE (SLO/Etibarlılıq).
ChatOps: PR-botlardan buraxılışlar, statusların görünürlüyü, «/promote », «/rollback».
SOP: buraxılış yoxlama vərəqləri, post-release review, «aging» bayraqlara nəzarət.
13) Yüksək tənzimlənən domenlər üçün xüsusiyyətlər (məsələn, iGaming/fintech)
Trackable: tələb → bilet → PR → bild → artefakt → mühit → audit log.
Geo-release: ölkələr/yurisdiksiyalar üzrə, yerli ödəniş konfiqurasiyası/KUS.
Antifrod/risk mühərrikləri: Kanarya trafik hovuzları, false-positive/negative monitorinqi.
KYC/AML/məsul oyun: məcburi istifadəçi təsiri monitorinqi ilə bayraqlar vasitəsilə Ficks azad.
14) Tez-tez anti-nümunələr
Mərhələlər arasında əl addımları («əl ilə artefakt gətirdi»).
Sahibi və ömrü olmayan «boz bayraqlar».
Müqavilələr əvəzinə bir ümumi «qalın» inteqrasiya testi.
Geri dönən miqrasiya DB-nin olmaması.
deploi sonra təhlükəsizlik scan, əvvəl deyil.
15) CD-yə hazırlıq mini çek siyahısı
- Bild determined; artefakt imzalanmışdır; SBOM var.
- E2E üçün müqavilə testləri və fiksturları.
- kod kimi Security/Compliance-geyt; sirləri - vault vasitəsilə.
- Müşahidə: loqlar/metriklər/treyslər, buraxılış daşbordları, SLO geytləri.
- Buraxılış strategiyası: canary/blue-green + auto rollback.
- DB miqrasiya prosedurları (expand/contract).
- «yaradıldı → istifadə → silindi» siyasəti ilə feature flags.
- RACI/Runbooks/ChatOps inteqrasiya.
16) Nümunə axını (ssenari)
1. Merge in 'main' triggerit paypline.
2. konteyner montaj, imza, SBOM.
3. Lint/birlik/müqavilələr → keçdi.
4. SAST/SCA/secret-scan → «yaşıl».
5. Stage-də avtosalon: E2E + xaos + profil yükü.
6. Canary 1% prod, səhv nəzarət/gecikmə/biznes metrik.
7. Yaşıl geytlərlə 25 %/50 %/100% -ə qədər eskalasiya.
8. «Rollout-guard» bayrağının avtomatik sifarişi, audit artefaktlarının qeydiyyatı.
9. Post-release review, müvəqqəti bayraqların aradan qaldırılması.
17) Yekun
CD «deploi düyməsi» deyil, kiçik, təhlükəsiz və müşahidə olunan dəyişikliklərin mədəniyyətidir. Düzgün siyasətlər və avtomatlaşdırma ilə CD riskləri azaldır, dəyər tədarükünü sürətləndirir və relizləri hadisə deyil, rutin edir. Yüksək yüklü və tənzimlənən sistemlər üçün müvəffəqiyyətin açarı - ciddi keyfiyyət geytləri, mərhələli rollout, fiqa bayraqları, müşahidə və hər addımın təkrarlanabilirliyi.