Köp bulutly topologiýa
1) Haçan-da köp bulut dogry bolsa
Sürüjiler:- Ygtybarlylyk/elýeterlilik: üpjün edijileriň derejesinde garaşsyz şowsuzlyk zolaklary.
- Özygtyýarlylyk/utgaşma: ýurisdiksiýalar boýunça saklamak/gaýtadan işlemek (data residency).
- Töwekgelçilik-dolandyryş: wendor-lokiniň peselmegi, satyn alyş/bahanyň güýji.
- Geografiýa/performans: ulanyja we maglumat çeşmelerine has ýakyn.
- Specialörite hyzmatlar: dürli bulutlaryň iň gowy "niş" mümkinçiliklerine elýeterlilik.
- SDLC/gözegçilik/amallaryň ep-esli çylşyrymlylygy.
- Üpjün edijileriň arasynda egress-gymmatyň we gizlinligiň ýokarlanmagy.
- Dürli IAM/tor modelleri/kwotalar/çäkler → has köp amal töwekgelçiligi.
2) Topologiki patternler
3) Tor gatlagy we ugrukdyryş
3. 1 Global giriş
GSLB/DNS-ruling: latency-/health--based; göçmek penjirelerine gysga TTL.
Anycast + L7-proxy: bir IP, sebitleriň saglygy boýunça marşrut.
Ýurisdiksiýalar boýunça syýasatlar: geo-bloking/geo-pinning traffigi.
python def pick_cluster(client, intent):
вход: ip, geo, tenant, feature allowed = filter_by_compliance(client. geo) # sovereignty healthy = [c for c in allowed if sdo (c). ok and slo(c). ok]
return argmin(healthy, key=lambda c: latency_estimate(client, c))
3. 2 Bulutara baglanyşyk
Hususy kanallar/peering mümkin bolan ýerlerde; otherwiseogsam - internet arkaly TLS + mTLS.
Egress-gözegçilik: agregasiýa/gysyş, ýerli keşler/agregatorlar.
Torlar kod hökmünde: Terraform/Blueprints, CIDR syýasaty, marşrutlar we egress-şlýuzlar.
4) Maglumatlar we yzygiderlilik
4. 1 Modeller
Dünýäde güýçli yzygiderlilik bulutara seýrek realistik (gizlinlik/tor/bahasy).
Pragmatic eventual: gapma-garşylyklary çözýän iki taraplaýyn CDC (change data capture).
CRDT/idempotentlik: hasaplaýjylar/setler/bloglar üçin - kommutatiw gurluşlar.
4. 2 Nagyşlar
Dual-write c outbox: hadysanyň geleşik ýazgysy → broker → goňşy buluda köpeltmek.
Read-local/Write-home: ýazgylar - "öý" sebite/buluta, okamak - ýerli (wersiýalary we stale-syýasaty bilen).
Split-brain goragy: divergensiýa detekti, "kompensasiýa" (saga), pul üýtgemeleri üçin el bilen arbitraj.
DB → Debezium/stream → Events(topic@vN) → Cross-cloud relay → Apply w/ resolver resolver: prefer_higher_version prefer_home business_rule()
4. 3 Obýektiň saklanylmagy
Baketleriň, heşleriň/manifestleriň asinhron replikasiýasy, dedup.
ILM (hot/warm/cold) syýasatlary bulutlar boýunça garaşsyz.
Özygtyýarlylyk kadalary: "PII UA/EEA-dan çykmaýar" - kod hökmünde tassyklanýar.
5) Şahsyýet, syrlar we açarlar
Şahsyýet federasiýasy: ýeke-täk IdP, gysga ömürli tokenler, paýpleýnlerde OIDC-trust.
Syrlar: Her bulutyň KMS/HSM + Vault-synpyň abstraksiýasy; aýlanmak/üýtgetmek üçin dual-key.
PoLP/ABAC: atributlara esaslanýan hukuklar (cloud, region, env, data_class).
Kripto domenleri: sebitdäki ýurisdiksiýalar üçin dürli kök açarlary → crypto-erasure.
6) Ýerine ýetiriş gurşawy: toparlar we päsgelçilikler
Multiklaster (K8s): bulut/sebit üçin bir klaster; GitOps (ArgoCD/Fleet) arkaly fleet dolandyryşy.
Сервис-меш: mTLS, retries, circuit-breakers, failover policies cross-cluster.
- Statiki hyzmatlar → Maglumatlar ýeri boýunça.
- Her bulutda interaktiw API → (Active/Active).
- Batch/ETL → "ýaşyl" penjireler/arzan sebit (carbon/cost aware).
rego package placement
allow[cloud] {
input. service. pii == false cloud:= input. clouds[_]
cloud. features. contains("cheap_gpu")
}
deny["PII outside allowed region"] {
input. service. pii == true not input. target_region in {"eu-central","eu-north","eu-west"}
}
7) Köp bulutda observability we SLO
Köp kärende bellikleri: 'cloud', 'region', 'tenant', 'data _ domain'.
SLI/SLO per-bulut we global: "1 bulut bar bolsa, global ≥ elýeterlidir".
Telemetriýany ýygnamak: ýerli + egress gözegçiligi bilen agregasiýa.
Yzarlamalar: global trace-id, kontekstiň wagyz edilmegi, "guýruklar" boýunça tail-based sempleri.
Deňeşdirme tagtalary: A vs B per endpoint/p99/error-budget burn.
8) SDLC/IaC we "kod hökmünde syýasatlar"
IaC-iň ýeke-täk mono-katalogy: üpjün ediji-modullar/stekler, inwariantlar (bellikler, torlar, şifrlemek).
GitOps: deklaratiw manifestler, drift-detekt, mahabat gurşawy.
Ylalaşyk synaglary: iki bulut üçin API/wakalar, Canaries şertnamalary.
Goýberiş-geýtleri: bir bulutda SLO-ny bozmak howpy abanýan blok (burn rate çaklamasy), özygtyýarlylyga laýyk gelmeýän ýagdaýynda.
yaml gate: multi-cloud-slo-and-compliance checks:
- slo_burn_rate(global) < 1. 0
- slo_burn_rate(cloud:A) < 2. 0
- compliance_rule("pii_in_region") == pass
- egress_forecast < budget on_fail: block_release
9) Bahasy we uglerod (FinOps/GreenOps)
Unit-metrikler: '$/req', '$/GB-egress', 'gCO ₂ e/req'.
Bahadan/kritiki däl batch üçin uglerod: arzan/" ýaşyl "sagat/sebitler.
Egress-kap: bulutara trafik üçin býudjet; keş/agregasiýa/gysyş/TTL.
RI/SP/Committed Use her bulutda + spot/preemptible-de "elastik gatlak".
10) Feýlleri we maşklary barlamak
Game-days: "A buludyny öçürmek", "DB-ni haýallatmak", "egress çäklerini döwmek".
Çek-nokatlar: RTO/RPO, DNS-meňzeşlik wagty, fiça-baýdakyň aýlanmagy, keşleriň özüni alyp barşy.
Chaos-smouk: endikleriň zaýalanmagy retraýlaryň kaskadyna getirmeli däldir.
11) Howpsuzlyk, gizlinlik, gabat gelmek
Zero-Trust: mTLS hyzmatlarynyň/bulutlarynyň arasynda, artefaktlaryň goly, SBOM.
DPA/özygtyýarlylyk: maglumat toplumlarynyň kataloglary, lokalizasiýa düzgünleri, ILM-iň üstündäki "Legal Hold".
Syrlar we açarlar: aýlanyş magazineurnaly, compromise/kill-switch pleýbuklary.
Webhuklar we daşarky integrasiýa: gol, anti-replay, sebitleýin endpointler.
12) Maglumatlary/wakalary birleşdirmek şablonlary
12. 1 Iki taraplaýyn Kafka-köpri (ideýa):
cloudA. topicX ⇄ relayA→B ⇄ cloudB. topicX cleanup. policy=compact,delete key-based routing idempotent producer
12. 2 Outbox tablisasy we ýaýlym:
sql
-- outbox id uuid pk, aggregate_id, type, payload jsonb, version int, created_at timestamptz
-- transactional insertion with domain table change
Soňra konnektor outbox okaýar we wakany ýerli brokerde çap edýär.
12. 3 Gapma-garşylyklar strategiýasy (psevdo):
python def resolve(local, remote):
if local. version > remote. version: return local if remote. version > local. version: return remote equal versions: domain rules return business_tiebreak (local, remote)
13) Anti-patternler
"Hemme zady bolşy ýaly iki buluta süýräris". Ýeňişsiz iki esse çylşyrymlylyk.
Gyzgyn ýolda sinhron bulutara amallar.
Ähli bulutlar/sebitler üçin ýeke global şifrlemek açary.
PII-den gizlenmezden we lokalizasiýa düzgünleri bolmazdan girelgeler/söwdalar.
Daşarky ölçegleriň ýoklugy (hakyky elýeterlilik diňe üpjün edijiniň status-sahypasynda görünýär).
Playbooks/maşklar ýok - DR häzirki wagtda işlemeýär.
Bir bulut zaýalananda retraýalaryň kaskady (limiterler/şeýding/breýkerler ýok).
Hasaba alynmadyk egress - garaşylmadyk hasaplar.
14) Arhitektoryň çek-sanawy
1. Köp bulutly sürüjiler düzüldimi (SLO/DR/özygtyýarlylyk/baha)?
2. Pattern (AA/AP/DR-Only/Poly-Service) saýlandy we RTO/RPO hasaba alyndy?
3. Tor meýilnamasy: GSLB/Anycast, saglyk synaglary, egress-kaplar, hususy kanallar?
4. Maglumatlar: CDC/CRDT/dual-write, gapma-garşylyklary çözmek düzgünleri, outbox?
5. Özygtyýarlylyk: maglumatlar/sebitler kartasy, syýasatlar kod we olaryň geýtleri hökmünde?
6. IAM/Secrets: federasiýa, gysga ömürli tokenler, KMS domenler?
7. Klaster/meş: failover strategiýasy, limiterler/arakesmeler/wagtlar?
8. Observability: 'cloud/region', SLO per-bulut we global, daşarky sintetika?
9. SDLC/IaC/GitOps: ýeke-täk katalog, konformans-synaglar, goýberiş-oýunlar?
10. FinOps/GreenOps: unit-metrikler, egress býudjeti, "ýaşyl" batch penjireleri?
11. Maşklar: yzygiderli game-days, teswirnamalar we retestler?
12. Exit-plan: maglumatlary eksport/formatlar/möhletler, esasy hyzmatlar üçin second-source?
15) Konfigurasiýalaryň kiçi mysallary
15. 1 Ýurisdiksiýa boýunça marşrutlaşdyryş syýasaty (psevdo-YAML):
yaml route:
pii:
allowed_regions: ["eu-central","eu-north","eu-west"]
deny_cross_cloud: false analytics:
allowed_regions: ["eu-","us-"]
prefer_low_carbon: true weights:
eu-central@cloudA: 60 eu-central@cloudB: 40
15. 2 GSLB üçin saglyk synagy:
http
GET /healthz
200 OK x-region: eu-central x-slo: ok at-risk breach
15. 3 Failover-ficha-baýdak (psevdokod):
python if slo_at_risk("cloudA", "payments"):
route. weight["cloudA"] -= 20 route. weight["cloudB"] += 20 enable_stale_rates(ttl=1560)
Netije
Multi-bulut - bu engineeringenerçilik düzgüni, bellik däl. Ol anyk sebäpleri, topologiýany aňly saýlamagy, maglumatlar bilen oýlanyşykly işlemegi, güýçli awtomatlaşdyrmagy we berk syýasaty talap edýär. Töwekgelçilikleri we bahalary ölçeseňiz, "okuw kitaby boýunça" torlary we maglumatlary gursaňyz, feýlowerleri taýýarlasaňyz we ýönekeýlik ugruny dowam etdirseňiz, köp bulutly platforma size durnuklylygy, çeýeligi we erkinligi berer - hasaplarda garaşylmadyk ýagdaýda we ulanyjynyň tejribesi boýunça eglişik etmezden.