Canary Release: mahiyyəti, yerləşdirmə strategiyası və necə işləyir

Müəllif: IT Sectr Dərc olunub: 2026-04-12 Oxuma vaxtı: 8 dəq

Canary Release — tətbiqin yeni versiyasının əvvəlcə kiçik bir istifadəçi qrupuna çatdırıldığı, sonra tədricən bütün auditoriyaya yayıldığı yerləşdirmə strategiyasıdır. Bu yanaşma problemləri erkən mərhələdə aşkar etməyə imkan verir və bütün istifadəçilərə təsiri minimuma endirir. Google Cloud (2024)-ə görə, canary buraxılışları hadisələrin aşkarlanma müddətini 60% azaldır. Kanar yerləşdirmə funksionallığın tam əlçatmazlığının yolverilməz olduğu kritik xidmətlər üçün standart halına gəlib.

Əsas məqamlar

  • Canary Release — hər mərhələdə metrikaların nəzarəti ilə yeni versiyanın tədricən yerləşdirilməsi
  • Tədricən genişlənmə auditoriyanın kütləvi buraxılışdan əvvəl problemləri aşkar etməyə imkan verir
  • Blue-green-dən fərqli olaraq, canary yeni versiyanı real trafikin bir hissəsində yoxlayır
  • Əsas metrikalar — error rate, latency və biznes göstəriciləri nəzarət qrupu ilə müqayisə edilir
  • Avtomatlaşdırma canary prosesi service mesh, feature flags və CI/CD platformaları vasitəsilə həyata keçirilir

Canary Release nədir

Canary Release — yeni xidmət versiyasının əvvəlcə istifadəçilərin kiçik bir faizinə yönləndirildiyi və yalnız sabitlik təsdiqləndikdən sonra bütün auditoriyaya yayıldığı yerləşdirmə texnikasıdır. Termin “kömür mədənində kanarya” metaforasından gəlir — tarixən mədənçilər təhlükəli qazları aşkar etmək üçün kanaryalar aparırdılar. Proqramlaşdırmada kanar istifadəçi qrupu da eyni erkən problem göstəricisi rolunu oynayır.

Terminin mənşəyi

Proqram təminatının inkişafında kanarya metaforası 2010-cu illərdə mikroxidmət arxitekturasının və davamlı yerləşdirmə təcrübələrinin populyarlaşması ilə ortaya çıxdı. Netflix, Amazon və Google şirkətləri canary buraxılışlarını miqyasda tətbiq edən ilklər oldu, nəticə və metodologiyalarını dərc etdilər. Bu gün canary istehsalatda səhvin qiymətinin istifadəçi məlumatları və gəlirlərlə ölçüldüyü hər bir ciddi layihə üçün standart nümunədir. Müasir orkestrasiya platformaları, məsələn Kubernetes, canary strategiyaları üçün daxili dəstək təmin edir.

Canary-nin iş prinsipi

Canary buraxılışının əsasında trafikin köhnə (stable) və yeni (canary) tətbiq versiyaları arasında bölünməsi dayanır. Canary versiyasının ilkin payı ümumi trafikin 1–5%-ni təşkil edir. Monitorinq sistemi hər iki versiyanın metrikalarını davamlı olaraq müqayisə edir. Əgər kənarlaşmalar icazə verilən hədləri aşmazsa, canary payı avtomatik olaraq 25%, 50% və nəhayət 100%-ə qədər artır. Metrikalar pisləşərsə, yerləşdirmə avtomatik dayandırılır və geri qaytarma başladılır.

Canary yerləşdirmə necə işləyir

Canary yerləşdirmə prosesi ardıcıl mərhələlərdən ibarətdir, hər biri növbəti mərhələyə keçməzdən əvvəl avtomatlaşdırılmış yoxlama tələb edir. Trafikin idarə edilməsi üçün service mesh istifadə edərək Kubernetes-də yerləşdirilmiş backend xidməti nümunəsində tipik ssenarini nəzərdən keçirək.

Auditoriyanın tədricən genişləndirilməsi

Birinci mərhələ — canary versiyasının `version: canary` etiketi ilə izolə edilmiş pod qrupuna yerləşdirilməsi. Trafik balanslaşdırıcısı (məsələn, Istio və ya Linkerd) bu qrupa 2% sorğu yönləndirir. Monitorinq sistemi hər iki versiyanın metrikalarını 10–30 dəqiqə ərzində toplayır. Əgər error rate sabitdirsə və latency artmayıbsa, avtomatika canary payını 10%-ə, sonra 50%-ə qədər artırır. Hər mərhələdə pipeline monitorinqdən və ya tərtibatçıdan (əl qapısı) təsdiq gözləyir. Canary-də 100% trafik olduqda köhnə versiya istismardan çıxarılır.

groovy
stage("Canary Deploy") {
    steps {
        sh "kubectl set image deployment/canary app=${NEW_VERSION}"
        sh "kubectl scale deployment/canary --replicas=2"
    }
}

stage("Canary Observation") {
    steps {
        script {
            def healthy = sh(
                script: "check-canary-health.sh",
                returnStatus: true
            )
            if (healthy != 0) {
                error "Canary failed health check"
            }
        }
    }
}

stage("Gradual Rollout") {
    steps {
        sh "update-traffic-split.sh canary 25"
        sh "sleep 300 && check-metrics.sh"
        sh "update-traffic-split.sh canary 50"
        sh "sleep 300 && check-metrics.sh"
        sh "update-traffic-split.sh canary 100"
    }
}

Avtomatik geri qaytarma

Canary-nin əsas üstünlüyü — metrikalar pisləşdikdə avtomatik geri qaytarmadır. Əgər canary versiyasının payı artırıldıqdan sonra error rate həddi aşarsa (məsələn, baseline-dan +5%), pipeline avtomatik olaraq bütün trafiki köhnə versiyaya yönləndirir. Tərtibatçı ətraflı hesabatla bildiriş alır: hansı metrikalar düşüb, hansı endpoint-lərdə, kodun hansı versiyası yerləşdirilib. Bu yanaşma bərpa müddətini (MTTR) saatlarla deyil, dəqiqələrlə ölçməyə imkan verir.

MərhələTrafik payıMüddətKeçid şərti
Initial2%10–30 dəqError rate < baseline + 1%
Expansion10–25%30–60 dəqLatency p95 < baseline + 10%
Majority50%30–60 dəqBiznes metrikaları sabitdir
Full rollout100%Bütün yoxlamalar keçilib

Canary Release vs Blue-Green Deployment

Canary və blue-green — tez-tez qarışdırılan iki məşhur zero-downtime yerləşdirmə strategiyasıdır. Hər ikisi xidmətin fasiləsiz əlçatanlığını təmin edir, lakin trafikin idarə edilməsi və yeni versiyanın yoxlanılması yanaşmasında əsaslı şəkildə fərqlənir. Fərqi başa düşmək konkret ssenari üçün düzgün strategiyanı seçmək üçün kritik əhəmiyyət daşıyır.

Əsas fərqlər

Blue-green deployment iki eyni mühitdən istifadə edir (blue — cari, green — yeni). Green mühitinin tam yerləşdirilməsi və sınaqdan keçirilməsindən sonra trafik dərhal — bir router keçidi ilə dəyişdirilir. Canary isə eyni infrastrukturda yeni versiyanın payını tədricən artırmağa yönəlmişdir ki, bu da daha incə nəzarət verir. Blue-green bütün infrastrukturun təkrarlanmasını tələb edir, bu daha bahalıdır, lakin ani geri qaytarmanı təmin edir. Canary daha qənaətcildir, lakin daha mürəkkəb monitorinq və avtomatlaşdırma tələb edir.

Nə vaxt canary seçməli

Canary buraxılışı yüksək yerləşdirmə tezliyi (gündə bir neçə dəfə) olan xidmətlər üçün optimaldır, burada dəyişiklikləri real trafikdə yoxlamaq vacibdir. Bu, xüsusilə trafik marşrutlaşdırmasını dəqiq idarə edə biləcəyiniz mobil tətbiqlərin backend xidmətləri, API şlüzləri və mikroxidmətlər üçün effektivdir. Blue-green monolit tətbiqlər və ya trafikin fraksiya bölgüsünü həyata keçirməyin çətin olduğu xidmətlər üçün üstünlük təşkil edir.

Canary buraxılışında metrikalar

Canary buraxılışının uğuru tamamilə monitorinqin keyfiyyətindən asılıdır. Canary və stable versiyaları arasında metrikaların dəqiq müqayisəsi olmadan canary mənasını itirir — genişləndirmə və ya geri qaytarma qərarı kor-koranə verilir. Canary təhlili üçün əsas metrikaları və onların aqreqasiya yanaşmalarını nəzərdən keçirək.

Texniki metrikalar

Əsas göstəricilər — error rate (HTTP 5xx faizi, istisnalar və vaxt aşımları), latency (p50, p95, p99 cavab müddəti), throughput (saniyədə sorğu sayı) və resource utilization (CPU, yaddaş). Müqayisə təcrid olunmalıdır: canary qrupunun metrikaları bütün xidmətin deyil, eyni ölçülü nəzarət qrupunun metrikaları ilə müqayisə edilir. Düzgün müqayisə üçün Mann-Whitney statistik testi və ya etibarlılıq intervallarının hesablanması istifadə olunur.

Biznes metrikaları

Texniki metrikalarla yanaşı, canary təhlili biznes göstəricilərini də nəzərə almalıdır: konversiya, retention, əməliyyat sayı, istifadəçi başına gəlir. Mobil tətbiqlər üçün crash-free rate, soyuq başlanğıc vaxtı və ANR tezliyi kritikdir. Əgər texniki metrikalar normaldırsa, lakin biznes göstəriciləri düşübsə — bu geri qaytarma siqnalıdır. Canary platformasının analitik sistemləri (Amplitude, Mixpanel) ilə inteqrasiyası biznes metrikalarını qruplar arasında avtomatik müqayisə etməyə imkan verir. Hər iki qrup üçün eyni müqayisə dövründən istifadə etmək, mövsümilik və trafikin gündəlik dövriliyini nəzərə almaq vacibdir. Məsələn, canary qrupunu pik saatda, nəzarət qrupunu isə aşağı yük saatlarında müqayisə etmək təhrif olunmuş nəticələr verəcək.

Avtomatik geri qaytarma hədləri

Avtomatik geri qaytarma üçün hədlərin konfiqurasiyası həssaslıq və səs-küyə qarşı dayanıqlılıq arasında balans tələb edən kritik bir vəzifədir. Çox aşağı hədd metrikaların normal dəyişmələrində yalan siqnallara və yerləşdirmənin dayandırılmasına gətirib çıxarır. Çox yüksək hədd real problemləri qaçırır. Hədlərin tarixi məlumatlar əsasında qurulması tövsiyə olunur: əvvəlki 7 gün üçün baseline metrikaları 95% etibarlılıq intervalı ilə. Error rate üçün tipik hədd — baseline ilə müqayisədə 2 faiz bəndindən çox artım. Latency üçün — p95-in 20%-dən çox aşılması.

Canary yerləşdirmə alətləri

Müasir ekosistem canary buraxılışlarını həyata keçirmək üçün bir çox alət təklif edir — orkestrasiya platformalarının daxili imkanlarından tutmuş ixtisaslaşmış service mesh həllərinə qədər. Müəyyən bir alətin seçimi texnologiya stackından və trafikə nəzarət tələblərindən asılıdır.

Service mesh həlləri

Istio — Kubernetes-də canary yerləşdirmə üçün ən populyar service mesh-dir. Istio tətbiq kodunu dəyişmədən VirtualService və DestinationRule səviyyəsində trafik paylanmasını idarə etməyə imkan verir. Linkerd daha az konfiqurasiya mürəkkəbliyi ilə oxşar funksionallıq təklif edir. Hər iki alət çəkili trafik bölgüsü, sorğu güzgüləməsi və metrikalar əsasında avtomatik geri qaytarmanı dəstəkləyir.

CI/CD və platforma alətləri

Argo Rollouts və Flagger kimi CI/CD platformaları Kubernetes-də canary yerləşdirmə üçün ixtisaslaşmış resurslar təqdim edir. Onlar metrikaları toplamaq üçün Prometheus ilə inteqrasiya olunur və genişləndirmə və ya geri qaytarma prosesini avtomatik idarə edir. Mobil tətbiqlər üçün canary Google Play Console və App Store Connect-də phased rollouts vasitəsilə həyata keçirilir, burada yeni istifadəçilərin payı tətbiq mağazası səviyyəsində bir neçə gün ərzində tənzimlənir.

Tez-tez verilən suallar

Canary Release A/B testindən nə ilə fərqlənir?

Canary Release yeni versiyanın sabitliyini yoxlamaq üçün yerləşdirmə strategiyasıdır, A/B testi isə iki variantın effektivliyini müqayisə edən eksperimentdir. Canary “xidmət sınacaqmı” sualını, A/B isə “hansı variant biznes üçün daha yaxşıdır” sualını yoxlayır. Bununla belə, canary infrastrukturu tez-tez A/B eksperimentləri üçün əsas kimi istifadə olunur.

İlk canary üçün hansı trafik faizi optimaldır?

Optimal ilkin faiz ümumi trafikin 1–5%-dir. Bu, metrikaların statistik əhəmiyyətliliyi üçün kifayətdir, lakin problemlər olduqda istifadəçilərə əhəmiyyətli təsir göstərmək üçün çox azdır. Aşağı trafikli xidmətlər üçün (1000 RPM-dən az) mənalı məlumat əldə etmək üçün pay 10–20%-ə qədər artırıla bilər. Canary-ə olan sorğuların mütləq sayının təhlil üçün kifayət olması vacibdir.

Canary mərhələsi nə qədər davam etməlidir?

Canary mərhələsinin minimum müddəti kifayət qədər metrik toplamaq üçün 10–30 dəqiqədir. Tam canary buraxılış dövrü xidmətin mürəkkəbliyindən və trafik həcmindən asılı olaraq 30 dəqiqədən bir neçə saata qədər çəkə bilər. Tətbiq mağazaları vasitəsilə mobil tətbiqlər üçün canary mərhələsi yeniləmələrin yayılma gecikmələri səbəbindən 1–3 gün davam edə bilər.

Canary mobil tətbiqlər üçün istifadə edilə bilərmi?

Bəli, mobil tətbiqlər üçün canary Google Play Console və App Store Connect-də staged rollouts vasitəsilə həyata keçirilir. Yeni versiya əvvəlcə istifadəçilərin 1–5%-i üçün əlçatan olur, sonra çökmə artımı olmadıqda pay artırılır. Mobil tətbiqin backend xidmətləri üçün canary API şlüzü tərəfindən trafik paylanması vasitəsilə standart şəkildə işləyir.

Canary yerləşdirmənin riskləri hansılardır?

Əsas risk — qeyri-bərabər səhv paylanması: canary qrupu təsadüfən spesifik istifadəçilər (məsələn, yalnız bir bölgədən) ala bilər ki, bu da metrikaları təhrif edir. Digər risk — düzgün monitorinqin və avtomatik geri qaytarma hədlərinin konfiqurasiyasının mürəkkəbliyi. Çox aqressiv canary (yüksək ilkin faiz və ya sürətli rollout) zamanı tədricən yerləşdirmənin üstünlüyü itir.

Nəticə

  • Canary Release — auditoriyanın genişləndirilməsinin hər mərhələsində metrikaların nəzarəti ilə tədricən yerləşdirmə strategiyası
  • İlkin pay canary versiyası 1–5% trafik təşkil edir, tədricən 100%-ə qədər artır
  • Avtomatik geri qaytarma metrikalar pisləşdikdə — MTTR-ni dəqiqələrə endirən əsas üstünlük
  • Blue-green-dən fərqli olaraq, canary bir infrastrukturda trafikin fraksiya bölgüsü ilə işləyir
  • Service mesh (Istio, Linkerd) və CI/CD platformaları (Argo Rollouts, Flagger) canary prosesini avtomatlaşdırır
  • Mobil tətbiqlər üçün canary tətbiq mağazalarında staged rollouts vasitəsilə həyata keçirilir
  • Canary-nin uğuru monitorinqin keyfiyyətindən və avtomatik qərarlar üçün hədlərin düzgün konfiqurasiyasından asılıdır

Açar təslim mobil tətbiq hazırlayacağıq

IT Sectr 2017-ci ildən startaplar və bizneslər üçün iOS və Android tətbiqləri yaradır. Sizə məsləhət verəcəyik və ən yaxşı həlli təklif edəcəyik.

Layihəni müzakirə et

Həm də oxuyun