Üýtgeşmeleri yzyna gaýtarmagyň ssenarileri
(Bölüm: Amallar we Dolandyryş)
1) Yzyna gaýtarmagyň ssenarileri näme üçin zerur?
Kämil synag geçirilende-de üýtgeşmeleriň bir bölegi pese gaçýar. Yza gaýdyp gelmek - maglumatlary ýitirmezden we gabat gelmezden öňünden kesgitlenen "howpsuz" wersiýa gaýdyp gelmegiň dolandyrylýan amalydyr. Maksatlar: MTTR-i azaltmak, pul/maglumatlary goramak, hyzmatdaşlaryň we düzgünleşdirijileriň ynamyny saklamak.
2) Üýtgeşmeleriň klassifikasiýasy we yzyna gaýtarmaga çemeleşmeler
Kod we konteýnerler: wersiýa edilýän artefaktlar → gök-ýaşyl, canary, rolling öňki keşbe derrew gaýdyp gelýär.
Konfigurasiýalar/aýratynlyklar: feature toggle rollback, TTL we audit bilen atom kommutatorlary.
DB shemalary: expand → migrate → contract, iki taraplaýyn göçmek, "kölegeli" sütünler, fonda backfill.
Maglumatlar/baha sahypalary/salgytlar: artefaktlaryň wersiýalary ('fx _ version', 'tax _ rule _ version', 'pricelist _ version'), "doňdurmak" we yzyna gaýtarmak.
Integrasiýa (PSP/KYC/mazmun üpjün edijileri): marşrutlary/howuzlary, fallback-i ätiýaçlyk üpjün edijä geçirmek.
Infrastructure/Network/CDN: düzgünleriň/marşrutlaryň tapgyrlaýyn yza çekilmegi, iki gezek ýüklenen şahadatnamalaryň/açarlaryň yza çekilmegi.
3) Yzyna öwrülmek üçin binagärlik patternleri
Immutable releases: Her goýberiş - öňküsini derrew saýlamak mümkinçiligi bilen gol çekilen artefakt (surat/surat).
Gabat geliş gatlaklary: schema-compat (goşmak, aýyrmazlyk), sarp edijiniň tarapynda tolerant-reader.
Goşa ýazgy (dual-write) we shadow-reads: "geçmezden" öň tutarlylygy deňeşdiriň.
Idempotentlik we saglar: kross-hyzmat amallary üçin kompensasiýa ädimleri.
Ficheflagy: "gyzgyn" redeploiniň ýerine çalt öçürmek/tapgyrlaýyn açmak.
4) Gaýdyp geliş nokatlary bilen togalamak strategiýalary
Canary N%: metrikler/gvardraillar → awto-yza gaýdyp peselende; üstünlikli bolsa - 100% -e çenli giňeltmek.
Blue-Green: iki prod-stack; traffigi üýtgetmek we derrew rollback.
Rolling with pause: "arakesme nokatlary" we öňki tolkuna gaýdyp gelmek mümkinçiligi bolan partiýalar boýunça täzelenme.
Kogortlar boýunça aýratynlyklar: "garaňky uçuryş", whitelists, sebitleýin/tenant-baýdaklar.
5) DB we migrasiýa yza gaýdyp gelmek: howpsuz şablonlar
expand → migrate → contract bolmazdan hiç haçan "ýok ediji" migrasiýa etmäň:1. Expand: täze sütünleri/indeksleri/endpointleri goşuň, kod iki wersiýada-da ýazýar.
2. Migrate: backfill we tassyklamalar; täze gurluşdan "kölegeli" okamak.
3. Contract: Durnuklylykdan soň köne zady öçüriň.
Iki taraplaýyn: her göçmegiň 'down ()'; uly toplumlar üçin - fiziki taýdan aýyrmagyň ýerine logical revert (baýdaklar, marşrut).
Snapshots/point-in-time: PITR/kritiki çykmazdan öň tablisalaryň snapshoty.
Shemalara gözegçilik etmek: C/CD + "dry-run" -da staging/replikada şertnama tassyklaýjylary.
6) Katalogyň/bahalaryň/salgytlaryň maglumatlarynyň yzyna alynmagy
Baha sanawlaryny we salgyt düzgünlerini wersiýa ediň; neşiriň kwitansiýalaryny saklaň.
Sargytlarda 'fx _ version '/' tax _ rule _ version' belläň - yzyna gaýtarmak köne çekleri bozmaýar.
"PriceMismatch" -de → nagt puluň fors-maýyplygy, artefaktyň öňki wersiýasyna gaýdyp gelmek, syýasat boýunça öwezini dolmak.
7) Integrasiýa we daşarky üpjün edijiler
PSP/KYC/mazmun: ätiýaçlyk ugurlary, saglyk synaglary, DNS/LB çalt geçiş, aýratyn açarlar saklaň.
Webhook: write-drop we nobatlary açyň; yza çekilende - "ölen hatlardan" dempotent açarlary bolan bellikler.
Şahadatnamalar/açarlar: goşa ýüklemek (köne + täze), geçmezden ozal laýyklygy barlamak.
8) Gaýdyşlary ("runlary") we goragçylary awtomatlaşdyrmak
Руны (кнопки): Rollback Release, Disable Flag, Re-route, Flush Cache, Scale Back, Restore Schema.
Goragçylar: yzyna gaýtarmagyň işe girizilmegi IC/eýesine elýeterlidir; žurnala gol çekildi (DSSE), amallaryň ýygylygynyň çäkleri, tassyklama çek-sanawy.
Awto-yza gaýdyp gelmek: SLO/persentiller/ýalňyşlyklar/maliýe signallary boýunça şertler (mysal üçin Δ quote quotkout ≠ 0).
9) Aragatnaşyk we artefaktlar
Reliz kartoçkasynda: wersiýa, heşler, prerekwizitleriň çek-sanawy, yzyna gaýtarmagyň pleýbugy, jogapkär.
Yza gaýdyp gelende: wagt bellikleri, sebäp, täsir edilen traffigiň mukdary, artefaktlar (log-salgylanmalar, metrikler öň/soň).
Daşarky aragatnaşyklar (status-sahypa/hyzmatdaşlar): gysgaça we faktologiki taýdan.
10) Yzyna gaýtarmagyň pleýbuklary (salgylanma)
Kod/şekil pese gaçýar (P1):1. Re-route/Blue-Green back → 2) wersiýasyny düzetmek → 3) mundan beýläkki süýşmeleri bloklamak → 4) forensika.
Baýdak ýalňyşlyklaryň köpelmegine sebäp bolýar:1. Disable Feature Flag (100%) → 2) keş/follbekleri arassalamak → 3) düzetmek üçin bilet.
DB migrasiýasy wagt berýär:1. duruzmak heavy-backfill → 2) okamagy köne shemasyna gaýtarmak (dual-read off) → 3) ýükleri/indeksleri azaltmak → 4) 'down ()' ýa-da logiki yza gaýdyp gelmek.
PriceMismatch/FX/Tax:1. 'pricelist _ version '/' tax _ rule _ version' → 2) edge-kesşiň maýyplygy → 3) öwezini dolmak we çekleri deňeşdirmek.
PSP şowsuzlygy:1. ätiýaçlyk PSP geçiş → 2) "çal" amallaryň karantini → 3) durnuklaşandan soň nobata durmak.
Açar/şahadatnama döwüldi:1. öňki açara gaýdyp gelmek (dual-key) → 2) aýlanmak we gaýtadan işlemek.
11) RACI
12) Hil ölçegleri we SLO
Change Failure Rate (CFR) - yza gaýdyp gelýän relizleriň paýy (maksat ↓).
MTTR (yza gaýdyp) - durnuklylyga gaýdyp gelmek wagtynyň medianasy.
Time-to-Rollback - triggerden yza gaýdyp gelmek tamamlanýança (P1 ≤ 15-20 minut).
Δ -metrikler öň/soň (p95, error-rate, E2E success).
Şol bir sebäbiň gaýtalanmagy ≤ N/çärýek.
Audit-örtük: 100% artefaktlar we gollar bilen yzyna gaýtarmalar.
13) Howpsuzlyk, gizlinlik, gabat gelmek
WORM-magazinesurnallary artefaktlary düzgünleşdirijiler boýunça saklamak.
PII/maliýe: yzyna gaýtarmagyň çözülmedik zolaklara/köne syýasatlara girmäge mümkinçilik bermeýändigini barlamak.
SoD: "Kim çykarýar" ≠ "Kim tassyklaýar" ≠ "Kim yzyna gaýtarmaga başlaýar".
Karzlar/syrlar: dual-rollover we öňki açara derrew gaýdyp gelmek.
14) Maliýe we amal täsirleri
Iş wagtynyň bahasy vs yzyna gaýtarmagyň bahasy: SLO-gvardrailler arkaly çözgüdi awtomatlaşdyryň.
SLA boýunça kompensasiýa/karzlar - pleýbuklardaky şablonlar.
Egress/compute-cap: yza gaýdyp, ýüküň wagtlaýynça ýokarlanmagyna sebäp bolup biler (gaplamak/keş nasoslamak) - penjireleri meýilleşdiriň.
15) Goýberilmezden öň çek sanawy (go/no-go)
- Gol çekilen artefaktlar we gaýdyp geliş nokady (surat/ /maglumatlar görnüşi).
- Aýlanmagyň meýilnamasy we yzyna gaýtarmagyň pleýbugy (ädimler boýunça).
- Tassyklanan göçmeler: expand → migrate → contract, PITR işjeň.
- Dials/guard SLO: alert ulgamynda awto-yza gaýdyp gelmegiň şertleri.
- Aragatnaşyk kanallary: IC/Owners/Comms on-call.
- Tersine gabat gelmek we "gury geçmek" synaglary.
- Möhüm integrasiýa üçin ätiýaçlyk ugurlary.
- Aragatnaşyk meýilnamasy (içerki/daşarky) we şablonlar.
16) Yzyna gaýtarylanda çek-sanawy (waka wagtynda)
- Triggeri we täsir eden göwrümi tassyklamak (sebit/tenant/kanal).
- "Näme üçin gaýdýarys" wersiýasyny düzüň.
- Yzyna gaýtarmak rununy ýerine ýetirmek (kod/baýdak/ugur/maglumatlar).
- SLI/SLO we iş metriklerini barlaň (E2E, barlag, webhuk).
- Kataloglary/wersiýalary barlaň (FX/Tax/PriceList).
- Ýagdaýy berkitmek: täze aýlawlary gadagan etmek, artefaktlary ýygnamak.
- Aragatnaşyk: status-sahypa, hyzmatdaşlar, içerki.
17) Ýygy-ýygydan ýalňyşlyklar we anti-patternler
Artefaktlar we gollar bolmazdan "el bilen" yza gaýdyp gelmek.
Iki taraplaýyn däl we PITR ýok ediji göçmeler.
"Global switchsiz" feature-flag.
PSP/KYC üçin ätiýaçlyk ýollaryň ýoklugy.
Gyzmazdan keş arassalamak → sowuk haýyşlaryň göçmegi.
Baha sanawy yzyna gaýtarylandan soň hasaba alynmadyk quote ≠ checkout.
18) FAQ
"Ýerinde" fiksi däl-de, haçan yza gaýdyp gelmek has gowudyr?
SLO/pul/maglumat töwekgelçiligi bozulsa, belli durnukly wersiýa gaýdyp gelmek has çalt we howpsuz bolar.
"Weýran ediji" migrasiýalary yzyna gaýtaryp bolarmy?
Hawa, expand → migrate → contract c 'down () '/PITR we logiki follbek hökmünde döredilen bolsa.
Yzyna gaýtarmak kararyny nädip awtomatlaşdyrmaly?
SLO-gvardrailler (p95, error-rate, Δ-bahalar, webhuklaryň üstünligi) + töwekgelçilik matrisi → awto-runa.
"Arasynda" sargytlar/amallar bilen näme etmeli?
Idempotent açarlary, "çal" amallaryň karantini, atasy bilen nobatlaryň sesi.
Gysgaça maglumat: Yza gaýdyp gelmegiň ssenarileri improwizasiýa däl-de, çalt durnuklylyga gaýdyp gelmek üçin öňünden döredilen ukypdyr. Hemme zady wersiýa ediň, yzyna gaýtarylýan maglumat shemasyny saklaň, ficheflaglary we kanary ulanyň, runlary awtomatlaşdyryň, artefaktlary we SLO-gvardrailleri düzediň. Şonda islendik goýberiş dolandyrylyp biliner we iş durnukly bolar.