Logo GH

"Blue-Green" we "Canary" neşirleri

(Bölüm: Binagärlik we teswirnamalar)

1) Näme üçin "howpsuz çykmalar" gerek?

Häzirki zaman ulgamlarynda goýbermek diňe bir kody eltmek bilen çäklenmän, önümde dolandyrylýan synagdyr: biz şol bir wagtyň özünde töwekgelçiligi azaldýarys (ulanyjylary bozmaýarys) we seslenme wagtyny gysgaldýarys (täsirini çalt görýäris). Iki nusgawy strategiýa - Blue-Green we Canary - muny başgaça çözýärler, ýöne umumy maksat bilen: nol aşak düşmek, çalt yza gaýdyp gelmek, SLO boýunça syn etmek.

2) Esasy kesgitlemeler

Blue-Green

Proto-gurşawyň iki sany doly nusgasyny saklaýarys: işjeň (Blue) traffige hyzmat edýär, passiw (Green) täze wersiýany taýýarlaýar. Üýtgetmek - deňagramlaşdyryjy/marşrutlaşdyryjy derejedäki atom (switch/flip). Hasam erbetleşse, derrew "Blue" -a gaýdyp gelýäris.

Canary

Bölekleýin çykarýarys: ilki traffigiň az% -i (mysal üçin 1-5%), metriklere/SLO-lara syn edýäris, soň paý ädimme-ädim artdyrýarys (10% → 25% → 50% → 100%). Pese gaçanda - öňki durnukly ädimde yza çekilmek ýa-da durmak.

3) Haýsy çemeleşme has gowudyr

Blue-Green - aşakdakylary saýlaýarys:
  • Çylşyrymly hereketler bolmazdan derrew yza çekilmek gerek.
  • Arhitektura/býudjet goşa infrastruktura köpeltmäge mümkinçilik berýär.
  • Uly göwrümli göçmeleri ýa-da platforma täzelenmelerini (OS/JDK/rantaim) izolýasiýa etmek isleýäris.
  • Goşundylar/birikmeleriň howuzlary kem-kemden "garyşyk" ýagdaýa duýgur.
Canary - aşakdakylary saýlaýarys:
  • Blast radius iň az bolmaly we ulanyjylaryň paýynda özüni alyp barşyny görmeli.
  • Relizleriň ýokary ýygylygy, yzygiderli eltip bermek adaty zat.
  • Error budget, latency, conversion).
  • Önüm topary çaklamalary barlamak isleýär: öwrülişige, saklamak, LTV we ş.m.

4) Üstünlikli goýbermegiň umumy ýörelgeleri

Idempotent bild-artefaktlar: ähli tapgyrlarda şol bir şekil/paket.
Kesgitlenen konfigurasiýa: kod hökmünde, gurşawyň deňeşdirilmegi.
Syn edilmegi by design: loglar, metrikler, yzarlamalar, alertler; SLI/SLO öňünden.
Çalt, awtomatlaşdyrylan yza gaýdyp gelmek: düwme/yzyna gaýdyp gelmek buýrugy - el jadysy däl-de, paýlaýnyň bir bölegi.
Shemalaryň gabat gelýän üýtgemeleri: expand-migrate-contract strategiýasy (§ 10 serediň).
L7 derejesinde marşrut (islenýär): API sözbaşylary/kuklary/ýollary/wersiýalary boýunça çeýeligi.

5) Gök-ýaşyl: arhitektura we proses

5. 1 Topologiýa

Iki proto-stek: Blue (işjeň) we Green (dalaşgär).
Umumy daşarky garaşlylyk: CDN, daşarky API, nobatlar; BB - aýratyn ýagdaý (§ 10 serediň).
Geçiş nokady: Balans/Ingress/Gateway.

5. 2 Ädimme-ädim

1. Green-i täze artefakt (vNext) astynda galdyrýarys, synaglary geçirýäris.
2. "Green" -e garşy awtotestleriň geçmegi (e2e, şertnama, regression).
3. Keş/sessiýalary gyzdyrýarys (mümkin bolsa), fon joblaryny/nobatlaryny sinhronlaşdyrýarys.
4. Traffigi Green-e geçirýäris: Atom flip (DNS TTL pes, Route/Listener swap, Ingress weight = 100%).
5. SLO-ny ilkinji minutlarda/sagatlarda synlaýarys (golden signals: latency, errors, saturation + business-metrics).
6. Meselelerde - Blue (flip back) -a derrew gaýdyp gelmek.

5. 3 Oňaýly taraplary

Artykmaçlyklary: derrew yza gaýdyp gelmek, ýönekeý akyl modeli, arassa izolýasiýa.
Minuslar: infrastrukturany iki esse köpeltmek, stateful komponentleri we maglumatlaryň göçmegi bilen çylşyrymlylyk.

6) Canary: arhitektura we proses

6. 1 Topologiýa

Bitewi prod-klaster; hyzmatyň birnäçe wersiýasy (stable we canary).
Traffik agramlara (1-5-10-25-50-100%) ýa-da nyşanlara (sözbaşy/kuke/ID boýunça) bölünýär.

6. 2 Ädimme-ädim

1. Şol bir/ASG/NSG klasterine kanary wersiýasyny ibermek.
2. Traffigiň bir böleginiň (mysal üçin 1-5%) kanary ugrukdyrylmagy.
3. Awtomatiki SLI/SLO barlaglary we iş metrikleri; C/CD geýtleri (error rate, p95 latency, CPU/RES, öwrülişik, şowsuzlyk/yzyna gaýtarmak).
4. Geýtlerden geçende traffigiň paýynyň ädimme-ädim köpelmegi.
5. 100% -e çenli doly rollout we köne wersiýany öçürmek; pese gaçanda - awto-rollback.

6. 3 Oňaýly taraplary

Artykmaçlyklary: ulanyjylaryň köpüsi üçin iň az töwekgelçilik, data-driven çözgüdi.
Minuslar: kämillik ýaşyna ýeten gözegçilik, başarnykly marşrut, ýagdaýlaryň arasynda "version skew" töwekgelçiligi gerek.

7) Traffigi ugrukdyrmak

L4 derejesi: IP/portlar boýunça balans; ýönekeý, ýöne çeýeligi az.
L7 derejesi: HTTP/S düzgünleri - ýolda, hostda, sözbaşyda, çerezlerde, User-Agent, GeoIP, SNI.

Usullar:
  • Weighted routing (agramy 1-100%).
  • Header-based/Cookie-based (ulanyjyny topara düzmek).
  • Session stickiness (stateful/kesilen ssenariler üçin möhümdir).
  • Shadow/Traffic mirroring (haýyşlary "gizlin" görnüşine aýna).

8) Gurallar we amala aşyrmalar (mysallar)

Kubernetes: Ingress (NGINX, Contour), Service Mesh (Istio/Linkerd), Argo Rollouts, Flagger.
Облака: AWS ALB/ELB, Route 53 weighted records, ECS/EKS; GCP Load Balancing + NEG; Azure Front Door/App Gateway.
CD platformalary: Spinnaker, Argo CD, GitHub Actions + Progressive Delivery pluginleri, GitLab/CD.

💡 Bir ýörelge: wersiýa - kod, trafik - syýasat, mahabat - SLO boýunça awtomatlaşdyrylan geýtler.

9) Syn etmek, SLI/SLO we geýt

Golden signals: Latency (p95/p99), Error rate (5xx/4xx по типам), RPS, Saturation (CPU/Memory/GC), Queue lag.
Iş ölçegleri: konwersiýa, ygtyýarlylaşdyrma, tölegler/üstünlikler, ortaça çek, huniniň ädimleri boýunça boýun gaçyrma.

Geýtlar:
  • Hatanyň bosagasy (mysal üçin error rate canary ≤ baseline + X%).
  • p95 gizlinligi bazeline Δ-den erbet däldir.
  • Iş çäkleri (mysal üçin, öwrülişigiň peselmegi
  • SLO boýunça "Error budget" çalt ýanmaly däldir.

Ädimiň dowamlylygy: statistik ähmiýeti üçin ýeterlik iň az wagt (traffige bagly).

10) DB migrasiýasy we shemalaryň laýyklygy

Esasy düzgün: wersiýalar yza we öňe gabat gelýän bolsa, goýberişler howpsuz.

expand-migrate-contract strategiýasy:

1. Expand: köne wersiýany bozman täze sütünleri/indeksleri/tablisalary goşuň.

2. Deploy app vNext (täze shema okaýar/ýazýar, ýöne köne shema bilen işlemegi bilýär).

3. Migrate data (arka/sag, idempotent, çek nokatlary bilen).

4. Contract: Durnuklaşandan soň köne meýdanlary/şekilleri aýyrýarys.

Anti-pattern: Blue-Green geçiş wagtynda aýratyn petiklemegi talap edýän göçmeler; shemany taşlap bilmezlik; "goşa ýazgy" duplikasiýasyz.

11) Yza gaýdyp gelmek (rollback) we awariýa meýilnamalary

Blue-Green: Blue-da derrew flip; "Green" fon joblarynyň "guýruklaryna" gözegçilik edýäris.
Canary: agramyň yza çekilmegi (mysal üçin 25% -den 5% ýa-da 0%); alertlerde awtomatiki abort.
Maglumatlar: oýlanyşykly gaýtalamak/öwezini dolmak syýasaty (idempotency keys, "inbox/outbox" pattern, habarlaryň duplikasiýasy).
Ficheflags: bölekleýin çykarylan mümkinçilikleri öçürmek üçin çalt öldürmek switch.

12) Steýt we sessiýalar bilen işlemek

Kanareýalar üçin Sticky sessions ýa-da wersiýalary çalyşmak üçin sessiýalary daşarda saklamak (Redis/Memcached).
Öň gyzdyrmak (Green warm-up) we flip-de invalidation hasaba almak.
Fon workerleri: wersiýalaryň arasynda "ýaryşlara" - nobatlaryň bölünmegine ýa-da wersiýa boýunça "liderlige" ýol bermäň.

13) Howpsuzlyk we laýyklyk

"Green/Canary" -e girmek - Zero Trust boýunça: hyzmat hasaplary, iň az zerur rollar.
Syrlar we açarlar - KMS/Secrets Manager arkaly; aýlanyşy açyň.
Traffik - diňe TLS; endpoint 'lerin wersiýalary aýdyň kesgitlenildi; marşrutlaşdyryş we goýberiş hereketleriniň barlagy.

14) Bahasy we öndürijiligi

Blue-Green infrastrukturany iki esse köpeldýär (goýberilende ýa-da hemişelik) - býudjet goýuň.
Canary has tygşytly, ýöne gözegçilik gurallaryny we awtomatlaşdyryş üçin in engineeringenerçilik wagtyny talap edýär.
Optimizasiýa: awtoskailing, ephemeral gurşaw, wersiýalaryň paralel barlygynyň penjiresini gysgaldyň.

15) Çek-listler

Çykmazdan ozal

  • Surat/bild bir çeşmeden mahabatlandyryldy, gollar barlandy.
  • Synag meýilnamasy, aladalar we SLO oýunlary sazlandy.
  • DB migrasiýalary - expand re modeiminde, daşarky meýilnamalar elýeterlidir.
  • Yzyna gaýtarmak meýilnamasy - staging/production-like-de barlandy.

Goýberilende

  • Metrikler we loglar baseline bilen deňeşdirilýär.
  • Canary üçin - ädimler we bosagalar kesgitlenildi; Blue-Green üçin - flip-back taýynlygy.
  • On-call buýruklary habarly, seslenme penjiresi bar.

Çykarylandan soň

  • SLO syzmady, error budget kadaly.
  • Post-reliz migrasiýasy/arassalamak tamamlandy.
  • Retrospektiv we pleýbuklary täzelemek.

16) Ýygy-ýygydan ýalňyşlyklar we anti-patternler

Metriksiz töleg: maglumat ýok - dolandyrylýan çözgüt ýok.
Gabat gelmeýän DB shemalarynyň garyşmagy, daşamak strategiýasynyň ýoklugy.
Traffigiň tötänleýin garyşmagy: stickiness ýok, ulanyjylar wersiýalaryň arasynda "bökýärler".
Gizlin stateful-garaşlylyk (ýerli diskler, in-memory keşleri).
Uzak DNS-TTL çalt flip (Blue-Green) päsgel berýär.
Awtogeýtleriň ýoklugy: el bilen "göz bilen" çözgütler haýalladýar we töwekgelçilikleri artdyrýar.

17) Birleşdirilen çemeleşmeler

Blue-Green + Canary: ilki Green-i çykaryň, soň bolsa aýry-aýry hyzmatlar üçin Green-iň içinde Canary-i çykaryň.
Köçe/göçýän traffik: Canary-den öň aýna traffigini täze wersiýa sürýäris.
Feature flags (progressive delivery): funksiýa segmentler boýunça "gara" baýdaklar bilen durnukly wersiýanyň üstünde açylýar.

18) Ssenarileriň mysallary (eskizler)

Blue-Green (web+api):

1. Täze Listener/Ingress üçin Green (v2) ýaýradýarys.

2. Keşleri gyzdyrýarys, readonly-barlaglary, smoke ýerine ýetirýäris.

3. Green = 100% agramyna geçýäris.

4. SLO-ny 30-60 minut synlaýarys; hemme zat gowy bolsa, "Blue" -ny öçürýäris.

Canary (töleg mikroservisi):

1. Deploy canary vNext (5% göçürmeleri).

2. Içerki hasaplar/synag segmenti üçin 5% traffigi açýarys.

3. Awtogeýt: error rate ≤ baseline + 0. 3%, p95 ≤ +20ms.

4. Her N minutda 10% → 25% → 50% göterýäris.

5. Ähli segmentler boýunça fiçeflagy 100% geçirýäris; köne wersiýasyny aýyrýarys.

19) Dürli arhitektura üçin üýtgeşmeler

Monolit: Blue-Green has aňsat, bölünmezlik sebäpli Canary has kyn; ficheflagy ulanyň.
Mikroservisler: Canary tebigy; hyzmat şertnamalaryna gözegçilik ediň (consumer-driven contracts).
Stateful Services: Üns bilen işlenip düzülen göçmeler we stickiness bilen Blue-Green-i saýlaň.

20) Gysgaça deňeşdirme (rezýume)

Yza gaýdyp geliş tizligi: Blue-Green = derrew; Canary = çalt, ýöne horlanmak bilen.
Infrastrukturanyň bahasy: Blue-Green ↑; Canary ↔︎/↓.
Ulanyjylar üçin töwekgelçilik: Canary aşakda (paýyna gözegçilik edýäris).
Ornaşdyrmagyň çylşyrymlylygy: Blue-Green has aňsat başlaýar; Canary güýçli gözegçilik we awtomatlaşdyrmagy talap edýär.
Maglumatlaryň/shemalaryň laýyklygy: ikisi üçinem möhüm; expand-migrate-contract.

21) Jemleýji

"Blue-Green" we "Canary" biri-birini aýyrýan strategiýalar däl-de, eýsem progressiw eltip bermegiň elementleridir. Saýlamak bahanyň çäklendirilmegine, syn etmegiň kämillik derejesine we üýtgeşmeleriň häsiýetine baglydyr. Çemeleşmä garamazdan, durnukly goýberiş dört sütünde saklanýar: awtomatlaşdyryş, gözegçilik, ters gabat gelmek we çalt yza gaýdyp gelmek.

Contact

Biziň bilen habarlaşyň

Islendik sorag ýa-da goldaw boýunça bize ýazyp bilersiňiz.Biz hemişe kömek etmäge taýýar.

Telegram
@Gamble_GC
Integrasiýany başlamak

Email — hökmany. Telegram ýa-da WhatsApp — islege görä.

Adyňyz obýýektiw däl / islege görä
Email obýýektiw däl / islege görä
Tema obýýektiw däl / islege görä
Habar obýýektiw däl / islege görä
Telegram obýýektiw däl / islege görä
@
Eger Telegram görkezen bolsaňyz — Email-den daşary şol ýerden hem jogap bereris.
WhatsApp obýýektiw däl / islege görä
Format: ýurduň kody we belgi (meselem, +993XXXXXXXX).

Düwmäni basmak bilen siz maglumatlaryňyzyň işlenmegine razylyk berýärsiňiz.