Multi-bulud topologiyası
1) Çox bulud haqlı olduqda
Sürücülər:- Etibarlılıq/mövcudluq: Provayder səviyyəsində müstəqil uğursuzluq zonaları.
- Suverenlik/uyğunluq: yurisdiksiyalara görə saxlama/emal (data residency).
- Risk menecmenti: satınalma/qiymət rıçaqlarının azalması.
- Coğrafiya/performans: istifadəçi və məlumat mənbələrinə daha yaxındır.
- Xüsusi xidmətlər: müxtəlif buludların ən yaxşı «niş» imkanlarına çıxış.
- SDLC/müşahidə/əməliyyatların əhəmiyyətli mürəkkəbliyi.
- Egress dəyərinin artması və provayderlər arasında gizlilik.
- Müxtəlif IAM/şəbəkə modelləri/kvotalar/limitlər → daha çox əməliyyat riskləri.
2) Topoloji nümunələr
3) Şəbəkə təbəqəsi və marşrutlaşdırma
3. 1 Qlobal giriş
GSLB/DNS-rulinq: latency-/health--based; miqrasiya pəncərələrində qısa TTL.
Anycast + L7-proxy: vahid IP, regional sağlamlıq marşrutu.
Yurisdiksiya siyasəti: geo-blokinq/geo-pinning trafiki.
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 Buludlararası əlaqə
Xüsusi kanallar/mümkün olan yerdə peering; əks halda - TLS + mTLS internet vasitəsilə.
Egress-control: aqreqasiya/sıxılma, yerli caches/aqreqatorlar.
Kod kimi şəbəkələr: Terraform/Blueprints, CIDR siyasətləri, marşrutlar və egress-şlüzlər.
4) Data və sabitlik
4. 1 Modellər
Qlobal olaraq güclü konsistentlik nadir hallarda realdır (gizli/mesh/qiymət).
Pragmatic eventual: münaqişələrin həlli ilə iki yönlü CDC (change data capture).
CRDT/idempotentlik: sayğaclar/set/log üçün - kommutativ strukturlar.
4. 2 Nümunələr
Dual-write c outbox: əməliyyat qeyd hadisə → broker → yaxınlıqdakı bulud replikasiya.
Read-local/Write-home: qeydlər - «ev» region/bulud, oxu - yerli (versiyalar və stale siyasəti ilə).
Split-brain qorunması: Detect divergency, «kompensasiya» (saga), pul invariantları üçün əl arbitraj.
DB → Debezium/stream → Events(topic@vN) → Cross-cloud relay → Apply w/ resolver resolver: prefer_higher_version prefer_home business_rule()
4. 3 Obyektin saxlanması
Baketlərin asinxron replikasiyası, hash/manifestlər, dedup.
ILM (hot/warm/cold) siyasətləri buludlarda müstəqildir.
Suverenlik qaydaları: «PII UA/EEA tərk etmir» - kod kimi təsdiqlənir.
5) Kimlik, sirləri və açarları
İdentifikasiya Federasiyası: vahid IdP, qısamüddətli tokenlər, paylaynlarda OIDC-trust.
Sirləri: Hər buludun KMS/HSM + Vault-class abstraksiya; rotasiya/keçid üçün dual-key.
PoLP/ABAC: atributlara əsaslanan hüquqlar (cloud, region, env, data_class).
Kriptovalyutalar: sahə üzrə → crypto-erasure yurisdiksiyaları üçün müxtəlif kök açarları.
6) İcra mühiti: klasterlər və qarışıqlar
Multiklaster (K8s): bulud/region üçün bir klaster; GitOps (ArgoCD/Fleet) vasitəsilə fleet-nəzarət.
Сервис-меш: mTLS, retries, circuit-breakers, failover policies cross-cluster.
- Statik xidmətlər → məlumat yerində.
- Hər bir buludda interaktiv API → (Active/Active).
- Batch/ETL → «yaşıl» pəncərələr/ucuz region (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) Multi-bulud observability və SLO
Çox icarə etiketləri: 'cloud', 'region', 'tenant', 'data _ domain'.
SLI/SLO per-bulud və qlobal: «1 bulud ≥ varsa qlobal mövcuddur».
Telemetriya toplama: yerli + egress nəzarət ilə aqreqasiya.
Tracking: qlobal trace-id, kontekstin təbliğatı, «quyruqlar» üzrə tail-based sempleme.
Dashbord müqayisə: A vs B per endpoint/p99/error-budget burn.
8) SDLC/IaC və «kod kimi siyasət»
IaC vahid mono kataloqu: provayder modulları/stekləri, invariantları (etiketlər, şəbəkələr, şifrələmə).
GitOps: deklarativ manifestlər, drift detal, promo mühit.
Konformans testləri: hər iki bulud üçün API/hadisələr, Canaries müqavilələri.
Azad geytalar: bir buludda SLO pozmaq riski ilə blok (burn rate proqnozu), suverenliyə uyğunluq olmadıqda.
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) dəyər və karbon (FinOps/GreenOps)
Vahid metriklər: '$/req', '$/GB-egress', 'gCO ₂ e/req'.
Qeyri-kritik batch üçün qiymət/karbon marşrutu: ucuz/« yaşıl »saat/regionlar.
Egress-cap: buludlararası trafik üçün büdcə; cache/aqreqasiya/sıxılma/TTL.
RI/SP/Committed Use hər bulud + spot/preemptible «elastik qat».
10) Feyllərin sınaqdan keçirilməsi və təlimlər
Game-days: «A buludunu söndürmək», «DB-ni yavaşlatmaq», «egress limitlərini keçmək».
Çek nöqtələri: RTO/RPO, DNS uyğunluq vaxtı, Fich bayrağının yayılması, cache davranışı.
Relizlərdə Chaos smouk: asılılığın deqradasiyası retraj kaskadına səbəb olmamalıdır.
11) Təhlükəsizlik, gizlilik, uyğunluq
Zero-Trust: xidmətlər/buludlar arasında mTLS, artefaktların imzası, SBOM.
DPA/suverenlik: məlumat dəsti kataloqları, lokalizasiya qaydaları, ILM üzərindən Legal Hold.
Sirləri və açarları: rotasiya jurnalı, playbook compromise/kill-switch.
Webhook və xarici inteqrasiya: imza, anti-replay, regional end-point.
12) Data/hadisə inteqrasiya şablonları
12. 1 İki yönlü Kafka körpüsü (ideya):
cloudA. topicX ⇄ relayA→B ⇄ cloudB. topicX cleanup. policy=compact,delete key-based routing idempotent producer
12. 2 Outbox cədvəli və retranslyasiya:
sql
-- outbox id uuid pk, aggregate_id, type, payload jsonb, version int, created_at timestamptz
-- transactional insertion with domain table change
Daha sonra konnektor outbox oxuyur və hadisəni yerli broker + retranslyasiya ilə dərc edir.
12. 3 Münaqişə strategiyası (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-nümunələr
«Hər şeyi olduğu kimi iki buluda sürükləyəcəyik». Qazanmadan iki dəfə çətinlik.
İsti yolda sinxron buludlararası əməliyyatlar.
Bütün buludlar/regionlar üçün vahid qlobal şifrələmə açarı.
Maskasız və lokallaşdırma qaydaları olmadan PII ilə log/treys.
Xarici ölçmələrin olmaması (real mövcudluq yalnız provayderin status səhifəsində görünür).
Heç bir playbooks/təlimlər - DR X. anda işləmir.
Bir buludun deqradasiyası zamanı retraj kaskadı (limiter/şeydinq/breyker yoxdur).
Nəzərə alınmayan egress - gözlənilməz hesablar.
14) Memarın yoxlama siyahısı
1. Multi-bulud sürücüləri (SLO/DR/suverenlik/dəyər)?
2. Nümunə seçilib (AA/AP/DR-Only/Poly-Service) və RTO/RPO qeydə alınıb?
3. Şəbəkə planı: GSLB/Anycast, sağlamlıq testləri, egress cap, özəl kanallar?
4. Məlumat: CDC/CRDT/dual-write, münaqişə həll qaydaları, outbox?
5. Suverenlik: verilənlər/bölgələr xəritəsi, siyasət kimi kod və onların geytaları?
6. IAM/sirləri: federasiya, qısamüddətli tokenlər, domenlər üzrə KMS?
7. Klaster/mesh: failover strategiyası, limitlər/fasilələr/vaxtlar?
8. Observability: 'cloud/region', SLO per-bulud və qlobal, xarici sintetika?
9. SDLC/IaC/GitOps: vahid kataloq, konformans testləri, buraxılış geytləri?
10. FinOps/GreenOps: vahid metriklər, büdcə egress, «yaşıl» pəncərələr batch?
11. Təlimlər: müntəzəm game-days, protokollar və retestlər?
12. Exit-plan: əsas xidmətlər üçün məlumat/formatlar/şərtlər, second-source ixracı?
15) Mini konfiqurasiya nümunələri
15. 1 Yurisdiksiya marşrutlaşdırma siyasəti (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 üçün sağlamlıq testi:
http
GET /healthz
200 OK x-region: eu-central x-slo: ok at-risk breach
15. 3 Failover-fiça bayrağı (psevdokod):
python if slo_at_risk("cloudA", "payments"):
route. weight["cloudA"] -= 20 route. weight["cloudB"] += 20 enable_stale_rates(ttl=1560)
Nəticə
Çox bulud mühəndislik intizamıdır, etiket deyil. Aydın motivlər, şüurlu topologiya seçimi, məlumatlarla düşünülmüş iş, güclü avtomatlaşdırma və ciddi siyasət tələb edir. Riskləri və xərcləri ölçsəniz, «dərslik» şəbəkələri və məlumatları qursanız, feyloverləri məşq etsəniz və sadəlik kursunu davam etdirsəniz, multi-bulud platforması sizə sabitlik, çeviklik və azadlıq verəcəkdir - hesablarınızda sürprizlər olmadan və istifadəçi təcrübəsindən kompromis olmadan.