Uzluksiz joylashtirish
1) CD nima va u CI/CD dan qanday farq qiladi
Uzluksiz joylashtirish (Continuous Deployment, CD) - bu qo’lda ishlatiladigan «reliz poyezdlarisiz» har bir tekshiruvdan o’tgan o’zgarishlarni avtomatik ravishda qaytarib olish amaliyotidir. CD SI dan (avtomatik yig’ilishlar va testlar) zanjir tugashi bilan farq qiladi: kod → artefakt → tekshirish → prodakshen. Tartibga solinadigan tarmoqlarda CD ko’pincha progressive delivery (auditoriyani cheklash bilan bosqichma-bosqich chiqarish) bilan birlashtiriladi.
CD maqsadlari:- Time-to-Market va o’zgarishlar qiymatini qisqartirish.
- Katta relizlar xavfini kamaytirish: kichik partiyalar → sababini topish va orqaga qaytish osonroq.
- Sifat intizomini tiklash: «har bir kommit - potentsial oziq-ovqat».
2) Bazaviy prinsiplar
Kichik inkrementlar. Qisqa fiche-novdalar, tezkor revyu, agressiv merjing.
Yig’ilishning determinantligi. Takrorlanadigan bild-muhitlar, lock-fayllar, hermetic builds.
Shift-left-sifat. Linterlar, statik tahlil, integratsiyalashuvdan oldin yunit/kontrakt testlari.
Production-like muhit. Bir xil konfigurlar, vault orqali sirlar, ma’lumotlar - sintetik/anonim.
Butun yo’lni avtomatlashtirish. Kommitdan trafikni yo’naltirish va qaytarishgacha.
Andoza koʻrinish. Metrika, loglar, trassalar, alertlar - Definition of Done ning bir qismi sifatida.
Xavfsizlik-by-design. SAST/DAST, SCA, imzolangan artefaktlar, siyosatni tekshirish.
3) CD payplaynning etalon arxitekturasi
1. Trigger: «prod-eligible» deb belgilangan VCS (push/merge) hodisasi.
2. Build: artefaktni yigʻish (rasm, paket), SBOM, imzo (Sigstore/Cosign).
3. Test Fast: lint/yunit/kontrakt; tez feedback (<5-10 min).
4. Test Deep (parallelda): integratsion, E2E, «profil bo’yicha» yuklash, steyjdagi xaos-namunalar.
5. Security Gate: SAST/DAST/SCA, sirlarni tekshirish, siyosatni tekshirish (OPA/Conftest/Kyverno).
6. Compliance Gate: SoD/4-ko’zlar, zarurat bo’lganda, talablarning izlanishi, chek varaqlari.
7. Promote: artefaktni bir xil bild sifatida muhit orqali targ’ib qilish (dev → stage → prod).
8. Deploy Strategy: blue-green / canary / progressive + feature flags.
9. Post-Deploy Verification: auto-health, SLO/SLA, alertlar, degradatsiyada avto-rollbek.
10. Audit & Evidence: artefaktlar, daftarlar, tekshirish protokollari - oʻzgarmas omborda.
4) Relizlar strategiyasi
Blue-Green: ikkita prod-stend (Blue = joriy, Green = yangi), yo’nalishni atomik o’zgartirish. Plyus - bir zumda qaytarish. Minus - ikki tomonlama infratuzilma.
Canary: avtomatik SLO-geytlar bilan (1% → 5% → 25% → 100%) trafikni porsiyaviy ishga tushirish.
Progressive Delivery: maqsadli kogortlar (mintaqa, provayder, VIP-segment), shikastlanish radiusi limiti.
Feature Flags: «oʻchirilgan» kodni yetkazib berish. Albatta: «flag lifecycle» siyosati.
5) Test sinovi va sifat
Mikroservislarning mustaqil relizlari uchun kontrakt testlari va consumer-driven contracts.
Haqiqiy patternlar bo’yicha yuklash profillari (RPS, p95/p99, ochiq/yopiq modellar).
DB migratsiya testlari: to’g «ridan-to’g» ri/qaytariluvchan, ikki versiyaning mosligi (expand → contract).
Chaos/Resilience-testlar: qaramliklarni uzish, tarmoqdagi kechikishlar, resurslar limitlari.
Foydalanuvchiga yaqin nuqtalardan (smoke + synthetic) otishdan keyingi tekshirish.
6) Xavfsizlik va CDdagi komplayens
Artefaktlar, provenance, SBOM imzosi. Kelib chiqishini kuzatib boramiz, «supply chain» xavfini istisno qilamiz.
Policy-as-Code: Biz faqat ishonchli reyestrdagi rasmlarni skanerdan o’tkazishga ruxsat beramiz.
Sirlar: short-lived tokenlar, rotatsiya qilinadigan kalitlar, KMS; gitda sirlarni taqiqlash.
Vazifalarni bo’lish (SoD): ishlab chiqish ≠ prod-kirish; barcha operatsiyalar - payplayn orqali amalga oshiriladi.
Audit-iz: relizlarning o’zgarmas loglari, kim/nima/qachon; tartibga solish bo’yicha N yil saqlash.
7) O’zgarishlarni boshqarish va tavakkalchilik nazorati
Change Types: standart (to’liq avtomatik), normal (avto + ma’qullash), shoshilinch (tezkor oyna + post-mortem).
CAB minimalizmi: o’zgartirilgan xavflar va infratuzilmani buzuvchi yangilanishlar uchun CAB, qolganlari avtomatik sifat geytalari orqali.
Risk Matrix: ta’sir × ehtimollik → strategiyani tanlash (canary chuqurroq, bayroqlar, qo’shimcha monitoring).
Runbooks & Playbooks: har bir chiqarish va qaytarish turi uchun aniq koʻrsatmalar.
8) Kuzatish darajasi, SLO va avto-rollbek
Oltin signallar: latentlik, xatolik, to’yinganlik, trafik; biznes-metrika (konvertatsiya, depozit, to’lovlarning muvaffaqiyati).
Guardrails: agar p95> chegara, error rate ↑, biznes metrikasi ↓ - avto-stop/orqaga qaytish.
Release Dashboards: vidjetlar: versiya → metrika → bayroqlar → kanareya trafik ulushlari.
Alertlar: shovqinni kamaytirish darajasi, on-call rotatsiyasi, hodisa-menejment bilan aloqa.
9) CD metrikasi
DORA-metriklar: deploylar chastotasi, lead time for changes, MTTR, muvaffaqiyatsiz relizlar ulushi.
Kogortlarda Change-failure-rate (provayder, mintaqa, qurilma bo’yicha).
Geytlarning o’tish vaqti: «tor joylar» (security scan, integratsion testlar).
Cost-to-Release: oynaning bir daqiqasi qiymati, strategiyalarning infratuzilma ustamasi (blue-green vs canary).
10) Qaytarish patternlari va muvofiqlik
Avto-rollbek: yo’naltirish (traffic switch) va/yoki versiyalash (K8s rollout undo) darajasida.
BD migratsiyasi: expand-migrate-contract strategiyasi, ficha-bayroqlar mavjud boʻlmagan maydonlarni yashiradi.
Idempotency & Exactly-once-like: navbatlar/to’lovlar uchun - idempotentlik kalitlari, deduplikatsiya.
Back-pressure va graceful degradation: degradatsiyada - funktsional boʻlmagan fichlarni oʻchirish.
11) Atrof muhitning amaliy modeli
GitOps-yondashuv: maqsadli holat gitda saqlanadi, nazoratchi manifestlarni qoʻllaydi.
Environments:’dev’(tez va iflos),’stage’(prod-like, xaos-problar),’prod-A/B’(blue-green) yoki’prod’bilan canary-pullar.
Ma’lumotlarni izolyatsiya qilish: ma’lumotlar sifatida konfigurlar, tasvirdan tashqari sirlar, alohida hisob-kitoblar/limitlar.
12) Jarayonlar va rollar
RACI: Arxitektor (siyosatchilar), Platforma jamoasi (paypline, klaster), Mahsulot jamoalari (testlar/bayroqlar), Xavfsizlik (siyosatlar/skanlar), SRE (SLO/ishonchlilik).
ChatOps: PR-botlar relizlari, maqom koʻrinishi, «/promote », «/rollback».
SOP: reliz chek varaqalari, post-release review, bayroqlarni nazorat qilish.
13) Yuqori tartibga solinadigan domenlar uchun xususiyatlar (masalan, iGaming/fintech)
Yo’naltiruvchanlik: auditda talab → so’rovnoma → PR → bild → artefakt → chorshanba → log.
Geo-release: mamlakatlar/yurisdiksiyalar bo’yicha, to’lovlarning lokal konfiguratsiyasiga ega/KTS.
Antifrod/risk-dvigatellar: kanareykali trafik-pullar, false-positive/negative monitoringi.
KYC/AML/mas’uliyatli o’yin: foydalanuvchi ta’sirining majburiy monitoringi bilan bayroqlar orqali fichlarni chiqarish.
14) Tez-tez anti-patternlar
Bosqichlar orasidagi qo’lda qadamlar («artefaktni qo’llar bilan olib kelishdi»).
Egasiz va umr ko’rish muddatisiz «kulrang bayroqlar».
Kontraktlar o’rniga bitta umumiy «qalin» integratsiya testi.
DBning qaytariladigan migratsiyasi yo’qligi.
Deploydan keyin xavfsizlik skaneri, oldin emas.
15) CDga tayyorgarlikning mini-chek-varaqasi
- Determinizatsiya qilingan bild; artefakt imzolangan; SBOM mavjud.
- E2E uchun kontrakt testlari va fiksturalar.
- Security/Compliance-geytlar kod sifatida; sirlar - vault orqali.
- Kuzatish darajasi: loglar/metriklar/treyslar, reliz dashbordlari, SLO-geytlar.
- Chiqarish strategiyasi: canary/blue-green + avto-rollbek.
- DB migratsiya tartib-taomillari (expand/contract).
- «Yaratilgan → foydalanilgan → olib tashlangan» siyosati bilan feature flags.
- RACI/Runbooks/ChatOps integratsiyasi.
16) Oqim namunasi (stsenariy)
1. Merge v’main’triggerit paypline.
2. Konteynerni yig’ish, imzo, SBOM.
3. Lint/yunit/kontraktlar → o’tdi.
4. SAST/SCA/sır-skan → «yashil».
5. Avtosanoat stage: E2E + xaos + profil boʻyicha yuk.
6. Canary 1% ga, xatolarni nazorat qilish/yashirin/biznes metrik.
7. Yashil geytlarda 25 %/50 %/100% gacha eskalatsiya.
8. «Rollout-guard» bayrogʻini avtomatik yopish, audit artefaktlarini yozish.
9. Post-release review, vaqtinchalik bayroqlarni olib tashlash.
17) Jami
CD - bu «deploy tugmasi» emas, balki kichik, xavfsiz va kuzatiladigan o’zgarishlar madaniyati. To’g’ri siyosat va avtomatlashtirish bilan CD xatarlarni kamaytiradi, qadriyatlarni etkazib berishni tezlashtiradi va relizlarni voqeadan ko’ra odatiy holga aylantiradi. Yuqori yuklangan va tartibga solinadigan tizimlar uchun muvaffaqiyat kaliti - qatʼiy sifat geytlari, bosqichma-bosqich rollout, ficha-bayroqlar, har bir qadamning kuzatilishi va takrorlanuvchanligi.