High Availability и SLA
High Availability и SLA
1) Iş bilen gatnaşyklar we şertler
SLI (Service Level Indicator) - hyzmatyň ölçelýän görkezijisi (mysal üçin, üstünlikli haýyşlaryň paýy 2xx/3xx ≤ T ms).
SLO (Service Level Objective) - SLI maksatly bahasy (mysal üçin "99. Soraglaryň 95% -i ≤ 300 ms").
SLA (Service Level Agreement) - müşderiniň öňündäki şertnama borçnamasydyr (bozulan halatynda jerimeler/karzlar).
HA (High Availability) - SLO/SLA-ny ýerine ýetirmäge mümkinçilik berýän binagärlik we operasiýa çäreleri.
Prinsip: SLA SLO-a, SLO bolsa SLI-e esaslanýar. SLA-da ölçemeýän zadyňyzy wada berip bilmersiňiz.
2) "Dokuzlar" we elýeterlilik matematikasy
Döwür üçin elýeterlilik = 'iş wagty/umumy wagt'. Görkezijiler (ýyl üçin):Elýeterlilik kompozisiýasy
Yzygiderli zynjyr ("gyzyl ýol" boýunça garaşlylyk): 'A _ total = Π A_i' (her komponent jemini azaldar).
Paralel aktiw-aktiw düwünleri: 'A _ total = 1 − Π (1 − A_i)' (ätiýaçlyk jemini ýokarlandyrýar).
3) Takyk näme ölçemeli (dogry SLI)
Ulanyjy görnüşi: esasy amallaryň üstünlikli tamamlanmagy (login, depozit, barlag) we olaryň gizlinligi p99.
Wagt koridory: süýşýän penjireler (5/30/60 min) we sebitler boýunça jemläň.
Kadadan çykmalar: "meýilleşdirilen penjireler" SLO-da, SLA-da bolsa diňe şertnamada şeýle diýilse hasaba alynýar.
- Elýeterlilik: üstünlikli jogaplaryň paýy ≤ T.
- Hil: p95/p99 latency.
- Düzüm: "üstünlikli goýumlaryň paýy ≤ 5 s".
4) Error Budget we ýanmak tizligi
Error Budget = `1 − SLO`. 99 üçin. 95% aýlyk penjire 0 berýär. 05% ýalňyşlyk/arakesme.
Burn-rate: býudjet çykdajylarynyň tizligi (mysal üçin 4 × 6 sagadyň içinde gündelik çäkleri iýýändigiňizi aňladýar).
Syýasat: çalt ýananda - relizleri duruzmak, durnuklaşdyrmaga, feature-freeze üns bermek.
5) HA arhitekturasy: düwünden sebite
5. 1 Düwün/Hyzmat
N + 1: azyndan bir artykmaç göçürme (Deployment ≥ 2, PDB, anti-affinity).
Çeşmeleriň izolýasiýasy: CPU/RAM/IO çäkleri, ileri tutulýan ugurlar (PriorityClass).
Graceful shutdown/drain: Gaýtadan başlananda soraglaryň kesilmezligi.
5. 2 Zona/sebit
Multi-AZ: dürli zolaklardaky göçürmeler, kross-zonaly deňagramlylyk, garaşsyz güýç/tor.
Multi-region: aktiw-aktiw (has kyn: maglumatlar/yzygiderlilik) ýa-da aktiw-passiw (ýönekeý: RPO-dan ýokary).
Maglumatlar: Pul/sargytlar üçin CP (kworum/RAFT), Nagt pul/vitrinler üçin EC/AP.
5. 3 Tor gatlagy we perimetri
L7-LB с health-checks, retry/timeout/circuit-breaking.
Global traffik üçin GSLB/DNS/Anycast, gysga TTL.
Egress-gözegçilik we daşarky PSP/üpjün edijilere çenli şowsuzlyga çydamly kanallar.
6) Ýykylmagynyň ýerine pese gaçmak
Feature kill-switch (ficha-baýdaklar): möhüm däl öçürmek, "gyzyl ýoly" saklamak.
Ýönekeýleşdirilen ýollara geçmek: sinhron → asinhron/nobat, "gaýtadan işlemek üçin kabul edildi".
Rate-limit/kwotalar: traffigi çäklendirmek hemmeleri taşlamakdan has gowudyr.
Stale-mode: origin elýeterli bolmadyk ýagdaýynda keş/statik maglumatlary bermek.
7) Garaşlylygy dolandyrmak
Garaşlylyk kartasy (service map): göni/tranzitiw, kritiklik, her biriniň SLO-lary.
Gowşak baglanyşyklar: SLA-syz daşarky üpjün ediji - kese/nobata/dublikata öwrülýär.
Bulkhead-izolýasiýa: haýal ugurlar üçin dürli birikmeler/kwotalar.
Timeouts> Retries: gysga wagtlar, idempotent amallary üçin iň köp 1 retraj.
8) Amallar we üýtgeşmeler
Change management: kanareýkler/gök-ýaşyl, SLO-geýtlar, awtomatiki yza gaýdyp gelmek arkaly çykarylýar.
Meýilleşdirilen penjireler: standartlaşdyryň - uzynlyk, ýygylyk, aragatnaşyk.
Wakalar: rollar (IC/Comms/Tech/DB), runbook 'i, düzediş hereketleri bilen postmortemler.
Howpsuzlyk çäreleri: eglişik edilende - "howsala re modeimi" (read-only/tokenler/rotasiýa/blokirleme).
9) Syn etmek we alerting
Her ugur üçin RED-model (Rate, Errors, Duration).
SLI-daşbordlar: sebit boýunça we müşderi segmenti boýunça elýeterlilik/gizlinlik.
Burn-rate alertleri: çalt (1h, 14. 4 ×), haýal (6h, 2 ×) - SLO bozulýança signal.
Nusgalar (Exemplars): metriklerden trace_id ýollaryna geçmek.
Sintetika: daşarky nokatlardan nusgalar (perimetri, töleg flowlary).
10) Şowsuzlyga çydamlylyk synaglary
Game-days: AZ/sebitleri öçürmek, DB/nagt pullaryň zaýalanmagy, daşarky üpjün edijileriň şowsuzlygy.
Chaos gurallary: tor foltlary (latency/loss), kill-pods, CPU/IO artykmaç ýüklemek.
DR-drills: Tier-0 ulgamlar üçin RTO/RPO işlemegi ("Arka we DR" serediň).
11) SLA dizaýny
"Elýeterlilik" kesgitlemesi: waka hasaplanýan zat (5xx, wagt> T, domen ýalňyşlyklary).
Hasaplaşyk penjiresi: aý/çärýek; meýilleşdirilen işleri goşmak/aýyrmak.
Karzlar/jerimeler: şkalasy (mysal üçin), 99. 9–99. 99% - X%, aşakda - Y%).
Müşderiniň borçlary: integrasiýa, paýhasly çäklerde retralar, çäkler.
Bellikler we klimatlaryň tertibi: möhletler, format, subutnama bazasy (logi/metrika).
Fors-major: kanuny formulasy we serhetleri.
- "SLI boýunça API elýeterliligi "üstünlikli ≤ 500 ms" 99-dan pes däldir. Senenama aýynda 95%. Meýilleşdirilen penjireler (48 sagadyň dowamynda yglan edilen 60 minut/aýa çenli) aýrylýar. 99. 90–99. 95% - 5% karz; 99. 80–99. 90% — 10%; <99. 80% — 25%.»
12) Dokuzlaryň ykdysadyýeti
Her goşmaça "dokuz" çyzykly däl çykdajylary artdyrýar (goşa sebitler, kworumlar, üpjün edijileriň goşa bölekleri, 24 × 7). Tiering SLO ulanyň:- Tier-0 (pul/sargytlar): 99. 95–99. 99%, multi-AZ, DR taýýar.
- Tier-1 (esasy çyzgylar): 99. 9–99. 95%, köp-AZ.
- Tier-2 (möhüm däl): 99. 5–99. 9%, hadysalarda degradasiýa/durmaga ýol berilýär.
13) Gatlaklar boýunça HA patternleri
Perimetri: CDN/edge, multi-CDN ýa-da GSLB, WAF, rate-limit.
Deňagramlylyk: L7 bilen outlier-ejection, taymautlar/retrailer, sticky/consistent-hash.
Programmalar: gorizontal skeýl, readiness/liveness, PDB, topology spread.
Maglumatlar: leader + replicas, quorum for CP, kesh L2, idempotency, PITR.
Nobatlar: aýna/multiklaster, dedup, DLQ.
Syrlar/gizlinlikler: GitOps, atom snapshotlar, rollback.
14) Anti-patternler
SLA ölçeg gurallary we daşarky sintetikasyz.
SPOF hökmünde ýekeje zona/klaster.
Gözegçiliksiz retralar → "öz-DDoS".
Gyzgyn ýolda uzyn amallar/muteksler.
Kanareýalar we yza gaýdyp geliş meýilnamasy bolmadyk "agyr" migrasiýalar/goýbermeler.
Runbook-yň ýoklugy we hadysada steýkholderler bilen aragatnaşyk.
15) Giriş çek-sanawy (0-60 gün)
0-15 gün
Möhüm ulanyjy SLI-ni kesgitläň, SLO-ny Tier-0/1/2 derejelerine görä kesgitläň.
Burn-rate alertleri, SLO-daşbordlary, perimetri sintetiki barlamagy öz içine alyň.
SPOF-y aýyryň: ≥ 2 replika, PDB, frontlar we möhüm DB üçin multi-AZ.
16-40 gün
SLO-geýting we awto-yza gaýdyş bilen kanar relizlerini giriziň.
Her "gyzyl ýol" boýunça garaşlylyk kartasy + kwotalar/howuzlar/wagtlar/SV.
Meýilleşdirilen penjireleriň we aragatnaşyklaryň düzgünleri, waka-habarlaryň şablonlary.
41-60 gün
Game-day: AZ-yň öçürilmegi, daşarky üpjün edijiniň şowsuzlygy, traffigiň "bursty".
SLA-lary we hakykat boýunça karzlary gaýtadan sanamak, müşderilere hasabatlary çap etmek.
"Dokuzyň bahasy" täzeden seredilýär we tire boýunça goýulýar.
16) Kämillik ölçegleri
≥ 95% -de SLI/SLO we burn-rate alertleri bar.
SLO ýalňyşlyklary relizleri awto-doňdurmak bilen bilelikde bolýar (policy).
Multi-AZ örtük Tier-0 = 100%, üstünlikli DR-drills ≥ 1/çärýek.
"Kesgitlemek" wagty → mitigasiýa "p50 <5 min, p95 <15 min.
"Release hadysalar" baglanyşygy - amala aşyrylýar we gysgaldylýar (rollback rate ↓).
Wakalar/karzlar hakynda köpçüligiň hasabaty - N iş gününiň dowamynda.
17) Mysallar we snippetler
Burn-rate alert (düzgünleriň pikiri):- Çalt: "SLO 99. 95%, penjire 1 sagat, burn ≥ 14. 4× → page on-call».
- Haýal: "penjire 6 s, burn ≥ 2 × → ticket & monitoring".
yaml circuit_breakers:
thresholds:
- max_connections: 200 max_pending_requests: 100 max_requests: 1000 max_retries: 1 outlier_detection:
consecutive_5xx: 5 interval: 5s base_ejection_time: 30s max_ejection_percent: 50
SLO derňewi bilen kanareýa (Argo Rollouts, ideýa):
yaml analysis:
templates:
- name: slo-burn metrics:
- name: error-rate successCondition: result < 0. 005 provider: prometheus
SLI formulasynyň mysaly:
SLI: fraction_of_good_requests = good(HTTP 2xx/3xx ≤ 500ms) / all(requests)
SLO: ≥ 99. 95% per calendar month, per region
18) Netijenama
"High Availability" diňe bir klasterler we göçürmeler däl, eýsem arhitekturanyň, prosesleriň we metrikleriň utgaşdyrylan toplumy: aýdyň SLI/SLO, hakyky SLA, ykdysadyýet bilen "dokuzlar", ýykylmagyň ýerine pese gaçmak, wagt/kwotalaryň tertibi, kanar goýberişleri, yzygiderli maşklar we aç-açan aragatnaşyk. Ölçegli we dolandyrylýan elýeterliligi ediň - bu lotereýa däl-de, bäsdeşlik artykmaçlygyna öwrüler.