GH GambleHub

Progressiw goýberiş we stagingler

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

1) Näme üçin progressiw eltip bermek

"Dev → test → staging → prod" nusgawy shemasy howpsuzlygy kepillendirmeýär: önümçilige näçe ýakyn bolsa, gabat gelmezlik töwekgelçiligi şonça-da ýokarydyr. Progressiw goýberiş, traffigiň/tomaşaçylaryň paýyny kem-kemden artdyrmak we çözgütleri metrler we SLO bilen goldamak arkaly blast radiusyny azaldýar. Steýjingler bilen bilelikde bu: nol downtaým, çalt yza gaýdyp gelmek, prosesiň gaýtalanmagy we ölçenen hil gözegçiligi berýär.

2) Adalgalar

Steýjingler (environments) - artefaktyň durmuş sikliniň resmi tapgyrlary: 'dev', 'ci', 'qa/test', 'staging/pre-prod', 'prod', şeýle hem ephemeral/preview fich-şahalaryň aşagyndaky gurşaw.
Progressiw goýberiş (progressive delivery) - wersiýanyň/fiçiň tapgyrlaýyn goşulmagy: canary, göterim rollout, ring-deploy, ficheflags, dark-launch, shadow-traffik.
Geýtler - awtomatiki kabul ediş ölçegleri (error rate, p95, işewürlik metrikasy, SLO boýunça ýalňyşlyklaryň býudjeti).
Artefaktyň mahabaty - şol bir gol çekilen bildi stagingleriň arasynda öňe sürmek (immutable artifact).

3) Daşky gurşawyň kartasy we olaryň maksady

3. 1 Esasy

Dev (ýerli/gum gutulary): çalt aýlawlar, endikler, iň az howpsuzlyk.
CI (integrasiýa stendleri): birlik/integrasiýa/şertnama synaglary, statiki derňew, SCA/SAST.
QA/Test: e2e, ýük, regression. Maglumatlar sintetiki ýa-da gizlenen.
Staging/Pre-prod: iň ýokary "önüm ýaly": şol bir konfigurasiýa, baýdaklar, çäkler, fon bejergisi.
Prod: söweş traffigi, SLO/SLI, alertler, yzyna gaýtarmak meýilnamalary.

3. 2 Goşmaça

Ephemeral/Preview per PR: pull-request stendiniň awto gurluşy, merge/close.
UAT/Sandbox iş toparlary üçin: kabul etmek, görkezmek, okuw ssenarileri.
Laboratoriýanyň öndürijiligi: izolirlenen ýük synaglary (traffik generatorlary, maglumatlaryň göçürmeleri).

4) Durnukly steýjingleriň ýörelgeleri

Kod hökmünde konfigurasiýa (IaC, GitOps), daşky gurşawyň süýşmegi kod we awtomatiki tassyklamalar bilen aýrylýar.
Idempotent, gol çekilen artefaktlar (SBOM, provenance, attestations), bir build → multi-stage deploy.
Azyk bilen deňlik: kärendäniň wersiýalary, çäkler, baýdaklar goşulan tor syýasatlary. Tapawut diňe syrlarda/maglumatlarda.
TDM (test data management): sintetika/maskalanma, göçmek we sidler paýplaynyň bir bölegi hökmünde.
Gözegçilik edilişi by design: reliz bellikleri, ýazgylaryň/yzarlamalaryň baglanyşygy, ähli basgançaklarda birmeňzeş daşbordlar.

5) Progressiw goýberiş modeli

5. 1 Çemeleşme gurallary

Aýratynlyklar: segmentler boýunça funksiýany açmak/öçürmek (ýurt, müşderi, hasap, random seed).
Canary: 1-5-10-25-50-100% traffigi bilen her ädimde.
Ring-deploy: halkalar boýunça giňeltmek (internal → employees → beta → public).
Blue-Green: platformanyň uly täzelenmeleri üçin atom flip.
Dark-launch: ulanyja täsir etmezden gizlin ýerine ýetiriş (metrikleri ýygnamak).
Shadow-traffic: ulanyja jogap bermezden soraglary täze wersiýa aýna.

5. 2 Awtomatiki geýtler

Tehnometrikler: error rate, p95/p99, saturation, queue lag.
Iş ölçegleri: ygtyýarlylandyrmak, tölege öwürmek, huniniň ädimleri boýunça boýun gaçyrmak.
SLO/error budget: ýalňyşlyklaryň býudjeti çalt ýananda çalt dur.
Statistik ähmiýeti: "ses boýunça" karar bermezlik üçin traffigiň iň az wagty/mukdary.

6) CI/CD (salgylanma)

1. Commit/PR → Build: bir şekil/paket, gol, SBOM.
2. CI-тесты: unit/integration/contract + security (SAST/SCA/secret-scan).
3. Ephemeral preview: el bilen barlamak üçin stendiň awtomatiki göterilmegi/UX.
4. QA/Test: e2e + ýük + bulam-bujarlyk synaglary (goşmaça).
5. Staging: smoke, kritiki ulanyjy ýollarynyň regressiýasy, DB migrasiýalaryny barlamak.
6. Prod canary: 1-5% traffik → geýt → 10-25-50-100%.
7. Yza çekilmegi/tamamlanmagy: problemalarda - awto-rollback; üstünlikli bolsa - köne wersiýany ýapmak.

7) Maglumatlary we shemalary dolandyrmak

Expand-migrate-contract: ters gabat gelýän göçmeler, fon geçirimleri, barlag nokatlary, idempotentlik.
Iki akymly ýazgylar (dual-write) ýa-da "geleşik outbox".
Masking/staging üçin prod-maglumatlary saýlamak (kanuny we tehniki taýdan ygtybarly).
Nagt pullar/sessiýalar: daşarky ammar, ýyly başlangyç, flip-de maýyplyk syýasaty.

8) Howpsuzlyk we laýyklyk

Syrlar: KMS/Secrets Manager, rotation, iň az artykmaçlyklar ýörelgesi.
Steýjingleri izolirlemek: torlar/hasaplar/taslamalar; prod bilen tötänleýin senkronizasiýa gadaganlygy.
Audit/çykyş ýoly: kim/näme/haçan çykardy, artefaktyň wersiýasy, change approval.
Programma üpjünçiliginiň iberilmegi: goly barlamak, reýestrlere ynam syýasaty, "latest" gadaganlygy.

9) Gözegçilik etmek we peýdalanmak

Bellikleriň ýeke-täk görnüşi: '{service, version, commit, stage, region, ring}'.
Baseline bilen deňeşdirme: kanareýa vs bir grafikada durnukly wersiýa.
SLO boýunça alertler: azyk we tehniki, kanary üçin dürli bosagalar.
Post-release gözegçilik: gijikdirilen täsirler üçin azyndan N sagat/gün.

10) Gaýdyşlar we awariýalaryň meýilnamalary

Düwme/yzyna gaýtarmak buýrugy - paýlaýjynyň bir bölegi (el bilen däl).
Baýdakyň ters mahabaty deploýdan (kill-switch) has çaltdyr.
Maglumatlar boýunça garşylyklaýyn çäreler: amallaryň öwezini dolmak, duplikasiýa, idempotent gaýtadan işlemek.
Wakalaryň pleýbuklary: kim karar berýär, aragatnaşyk kanallary, habar şablonlary.

11) Bahasy we öndürijiligi

Ephemeral-gurşaw agressiw awto-aýrylsa, pul tygşytlaýar.
Blue-Green çykarylanda has gymmat; canary arzan, ýöne ýetimli metrikleri talap edýär.
Ýük we goýberiş penjiresi boýunça awtoskeyling; prevew-stendler üçin kwotalar.

12) Ýygy-ýygydan anti-patternler

Gurşawyň süýşmegi: stendlerde el bilen düzedişler, "bu ownuk zat".
Gurşaw üçin bir bild: rebuild per stage → "gaýtadan öndürilmeýän" prod-baglar.
Möhüm däl maglumatlar boýunça synaglar: önümde düşýän "ýaşyl" synaglar.
Geýtleriň ýoklugy: SLO-nyň ýerine duýgulara görä çykarylýar.
Blue-Green-de DNS-de uzyn TTL; bölekleýin traffikde stickiness ýoklugy.
canary/stable wagtynda gabat gelmeýän DB shemalaryny garyşdyrmak.

13) Çek-listler

Ädim ätmezden öň

  • Surat gol çekildi, SBOM ýygnaldy, girit derejesindäki gowşaklyklar ýapyldy.
  • DB migrasiýalary ters gabat gelýär (expand).
  • Synaglar üçin maglumatlar gizlenýär/sintetikdir.
  • Daşbordlar/alertler täze wersiýa üçin taýýar.

Prod-a girmezden ozal

  • Ädimler we bosagalar bilen kanary meýilnamasy tassyklandy.
  • Öldürmek-switch we yzyna gaýtarmak meýilnamasy staging barlandy.
  • Traffic shadow ýa-da dark-launch (mümkin boldugyça).
  • On-call habar berildi, penjiräniň wagty ylalaşyldy.

Çykarylandan soň

  • SLO gözegçiligi N sagat durnukly.
  • Arassalamak/göçmek "contract" ulanyldy.
  • Retrospektiv we playbook täzelenmesi.

14) Arhitektura boýunça ornaşdyrmagyň wariantlary

Monolit: öň stendler + Blue-Green, çitler - baýdaklaryň üsti bilen; URL/cookie boýunça çäklendirilen kanary.
Mikroservisler: canary/ring tebigy; şertnamalary berk dolandyrmak (CDC), API wersiýasy.
Stateful hyzmatlary: Blue-Green gyzdyrmak we anyk migrasiýa meýilnamasy bilen; aýry-aýry nobatlar/topikler per version.

15) Referens paypline c GitOps (eskiz)

App (kod) ammary artefakt çykarýar → manifestini env ammary goýýar.
GitOps-agent (Argo CD/Flux) 'env/dev', 'env/qa', 'env/staging', 'env/prod' sinhronlaşdyrýar.
Mahabat - pull-request arkaly zerur steýjiň katalogyna; merge togalanmaga we geýtlere sebäp bolýar.

16) Şekilleri we tomaşaçylary dolandyrmak

Segmentasiýa: müşderi görnüşi, ýurt, gurluş, programmanyň wersiýasy, AB-koort, gije-gündiziň wagty.
Kem-kemden giňeltmek: 1% içerki → 5% beta → 25% irki müşderiler → 100% hemme zat.
A/B-synaglary we baýdaklaryň şol bir mehanizminde önüm çaklamalary üçin muliwariantlylyk.

17) Amaly ssenariýalar

1-nji ssenariýa: täze töleg integrasiýasy

1. Ephemeral stend per PR, QA-regress. 2) Staging smoke + sandbox provayderi.
2. 'X-Cohort = internal' sözbaşy boýunça Prod canary 1%. 4) Geýtler: error rate töleg, p95 callback, üstünlikli amallaryň paýy.
3. 1→5→25→50→100%; zaýalananda - kill-switch.

2-nji ssenariýa: Kärendäniň täzelenmesi (JDK/Node/OS)

Blue-Green klaster derejesinde: Green gyzýar, "expand" migrasiýasy, flip, syn, problemalarda flip back.

Ssenariýa 3: ýokary-töwekgelçilikli UI-surat

Dark-launch + ficheflag diňe beta ulanyjylar üçin, UX-metrikleri ýygnamak, tomaşaçylary kem-kemden giňeltmek.

18) Gurallaryň iň az toplumy

CI: build, synaglar, gol, SBOM.
CD/GitOps: Argo CD/Flux/Spinnaker ýa-da ýerli bulut gurallary.
Routing: Ingress/Service Mesh (weighted, header/cookie based).
Ficheflages: LaunchDarkly/Unleash/OpenFeature/öz-özüni ýazmak hyzmaty.
Observability: metrikler, loglar, yzarlamalar, alertler; per stage.
TDM: gizlemek, siding, sintetika generatorlary.
Howpsuzlyk: syrlar, KMS, reýestr syýasaty, endikleri barlamak.

19) Gysgaça rezýume

Progressiw goýberiş - steýjingleriň tapgyrlaýyn goşulmagynyň we berk düzgüniniň utgaşmasydyr. Üstünlik dört sütüne esaslanýar: immutable artefaktlar, SLO awtogeýtleri, yzyna gaýtarylýan maglumat shemasy we çalt yza gaýdyp gelmek. Öňünden gurşaw, GitOps we ficheflags goşuň - goýberişiňiz öňünden aýdyp boljak, howpsuz we çalt bolar.

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.

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.