Bosh sahifa Wiki Progressive delivery

Progressive delivery

Progressive delivery — dastur o‘zgarishini barcha foydalanuvchiga bir vaqtda bermasdan, nazoratli guruhlar va avtomatik tahlil orqali bosqichma-bosqich yetkazish amaliyotidir. U canary deployment, feature flag, traffic splitting va metric-based verificationni birlashtirishi mumkin. Maqsad release riskini kichik blast radius bilan boshqarishdir.

Deployment va release ajratilishi

Deployment kodni production infratuzilmasiga joylaydi. Release esa funksiyani foydalanuvchiga ochadi. Feature flag yangi kodni o‘chiq holatda deploy qilib, keyin xodimlar, beta guruh yoki foizli auditoriyaga yoqish imkonini beradi. Bu ajratish rollbackning ayrim holatida kodni qayta deploy qilmasdan flagni o‘chirishga yordam beradi.

Biroq flag database migration yoki resource leak kabi kod yuklanishi bilan boshlanadigan ta’sirni yashirmaydi. Deploy-time va request-time xatti-harakatlar alohida baholanadi.

Bosqichlar

Release ichki test accountlardan boshlanib, kichik canary, hudud yoki tenant guruhiga, so‘ng keng auditoriyaga o‘tishi mumkin. Har stage aniq kirish mezoni, kuzatuv oynasi va abort shartiga ega. Bosqichlar soni o‘zgarish riskiga mos bo‘ladi; mayda xavfsiz config uchun murakkab rollout shart emas.

Promotion avtomatik yoki manual bo‘lishi mumkin. Avtomatik controller metric queryni bajaradi, thresholdni baholaydi va keyingi trafik ulushini belgilaydi. Manual approval yuqori biznes xavfida qo‘shimcha nazorat beradi, ammo dalilsiz “yaxshi ko‘rinadi” qarori bo‘lmasligi kerak.

Auditoriya tanlash

Foizli random cohort statistik taqqoslashga mos. Tenant yoki region bo‘yicha chiqarish support va qonuniy nazoratni yengillashtiradi. User identityga deterministic hash qo‘llansa, bir foydalanuvchi doim bir cohortda qoladi. Anonymous session va bir nechta qurilma bu barqarorlikni murakkablashtiradi.

Segmentlar adolat va maxfiylikni hisobga oladi. Tajriba foydalanuvchiga narx, huquq yoki xavfsizlik jihatdan zararli farq bermasligi kerak. Kim qaysi variantda ekanini audit va support ko‘ra oladigan darajada, ammo ortiqcha shaxsiy tracking qilmasdan saqlanadi.

Tahlil

Technical metric error rate, latency, saturation va crashni, business metric conversion yoki task completionni ko‘rsatadi. Sample size kichik bo‘lsa tasodifiy tebranish noto‘g‘ri qaror beradi. Observation window qisqa bo‘lsa daily cycle va sekin leak ko‘rinmaydi.

Metric source ishlamasa promotion qanday tutishi oldindan belgilanadi. Yuqori riskda fail-closed rolloutni to‘xtatadi. Alert va dashboard release version, cohort va stable baseline bo‘yicha ajratiladi.

Operatsion boshqaruv

Har flag owner, yaratish sababi, default qiymat va expiration sanaga ega. Release tugagach eski branch va flag olib tashlanadi. Aks holda kombinatsiyalar test matriksini eksponentsial oshiradi va eski kod yo‘li xavfga aylanadi.

Rollback, pause va manual override runbookda yoziladi. Database va event compatibility bir necha versiya parallel ishlashiga mos bo‘ladi. Progressive delivery yomon o‘zgarishni xavfsiz qilmaydi; u ta’sirni erta ko‘rish va kengayishni to‘xtatish mexanizmini beradi.

Mobile va desktop release

Client ilovada store review va foydalanuvchining yangilash qarori sabab eski versiyalar uzoq yashaydi. Progressive release store foizi bilan boshqarilishi mumkin, ammo binaryni darhol qaytarib bo‘lmaydi. Server API backward compatibilityni saqlaydi, kill switch esa xavfli funksiyani masofadan o‘chirishi mumkin. Offline client flag qiymatini kech oladi.

Ko‘p regionli chiqarish

Release avval kichik regionda boshlanishi mumkin. Regionlar trafik, qonuniy talab va dependency bo‘yicha farq qiladi; bir joydagi muvaffaqiyat global kafolat emas. Data replication va failover yangi versiyaning cross-region xatti-harakatini tekshiradi. Rollout tartibi failure domain mustaqilligini hisobga oladi.

Audit

Kim rolloutni boshlagani, qaysi artifact, qoidalar, metric natijasi va promotion qarori saqlanadi. Automation qarori qayta tushuntiriladigan bo‘lishi kerak. Manual override sabab va muddati bilan yoziladi. Bu incidentda aynan qaysi cohort qachon ta’sirlanganini aniqlashga yordam beradi.

Bog‘liq tushunchalar

Canary deployment, Feature flag, Traffic splitting, Rollout, Automated analysis, Cohort, Rollback