मल्टी-क्लाउड टोपोलॉजी
1) जब मल्टी-क्लाउड उचित हो
ड्राइवर:- विश्वसनीयता/उपलब्धता: प्रदाता स्तर पर स्वतंत्र विफलता क्षेत्र।
- संप्रभुता/अनुपालन: न्यायालयों द्वारा भंडारण/प्रसंस्करण (डेटा निवास)।
- जोखिम प्रबंधन: विक्रेता-स्थान की कमी, क्रय/मूल्य लीवर।
- भूगोल/प्रदर्शन: उपयोगकर्ता और डेटा स्रोतों के करीब।
- विशेष सेवाएं: विभिन्न बादलों की सर्वश्रेष्ठ "आला" क्षमताओं तक पहुंच।
- एसडीएलसी/अवलोकन/संचालन की महत्वपूर्ण जटिलता।
- प्रदाताओं के बीच मूल्य और विलंबता में वृद्धि।
- विभिन्न आईएएम/नेटवर्क मॉडल/कोटा/सीमाएं - अधिक परिचालन जोखिम।
2) टोपोलॉजिकल पैटर्न
3) नेटवर्क परत और मार्ग
3. 1 वैश्विक लॉगिन
GSLB/DNS रूटिंग: लेटेंसी-/health-- आधारित; माइग्रेशन विंडो के लिए छोटा टीटीएल।
Anycast + L7 प्रॉक्सी: एकल आईपी, क्षेत्रीय स्वास्थ्य मार्ग।
अधिकार क्षेत्र द्वारा नीतियां: भू-अवरुद्ध/भू-पिनिंग यातायात।
क्लस्टर चयन स्यूडोकोड: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 अंतर-क्लाउड कनेक्टिविटी
जहां संभव हो निजी चैनल/सहकर्मी; अन्यथा - इंटरनेट के माध्यम से टीएलएस + एमटीएलएस।
एग्रेस नियंत्रण: एकत्रीकरण/संपीड़न, स्थानीय कैश/एग्रीगेटर।
कोड के रूप में नेटवर्क: Terraform/Blueprints, CIDR नीतियां, मार्ग और egress गेटवे।
4) डेटा और स्थिरता
4. 1 मॉडल
वैश्विक रूप से मजबूत स्थिरता अंतर-बादल शायद ही कभी यथार्थवादी (विलंबता/ग्रिड/लागत) है।
व्यावहारिक घटना: संघर्ष समाधान के साथ द्विदिश सीडीसी (डेटा कैप्चर बदलें)।
CRDT/idempotency: काउंटर/सेट/लॉग - कम्यूटेटिव संरचनाओं के लिए।
4. 2 पैटर्न
आउटबॉक्स के साथ दोहरी-लेखन: लेन-देन घटना रिकॉर्डिंग ब्रोकर - पड़ोसी क्लाउड के लिए प्रतिकृति।
रीड-लोकल/राइट-होम: "होम" क्षेत्र/क्लाउड पर लिखते हैं, पढ़ ते हैं - स्थानीय रूप से (संस्करण और बासी नीतियों के साथ)।
विभाजन-मस्तिष्क सुरक्षा: विचलन का पता लगाना, "मुआवजा" (गाथा), मौद्रिक आक्रमणकारियों के लिए मैनुअल मध्यस्थता।
स्यूडो-पाइपलाइन सीडीसी:
DB → Debezium/stream → Events(topic@vN) → Cross-cloud relay → Apply w/ resolver resolver: prefer_higher_version prefer_home business_rule()
4. 3 वस्तु भंडारण
बाल्टी, हैश/मैनिफेस्ट, डेडअप की अतुल्यकालिक प्रतिकृति।
ILM (गर्म/गर्म/ठंडा) नीतियां बादल स्वतंत्र हैं।
संप्रभुता नियम: "पीआईआई यूए/ईईए नहीं छोड़ ता है" - कोड के रूप में मान्य हैं।
5) पहचान, रहस्य और चाबियाँ
आइडेंटिटी फेडरेशन: सिंगल आईडीपी, अल्पकालिक टोकन, पाइपलाइनों पर ओआईडीसी-ट्रस्ट।
राज: प्रत्येक क्लाउड + वॉल्ट क्लास सार के केएमएस/एचएसएम; घूर्णन/स्विच के लिए दोहरी कुंजी।
PoLP/ABAC: विशेषताओं (क्लाउड, क्षेत्र, env, data_class) पर आधारित अधिकार।
क्रिप्टो डोमेन: न्यायालयों के लिए विभिन्न रूट कुंजियाँ - गुंजाइश द्वारा क्रिप्टो-इरेज़र।
6) कार्यकारी वातावरण: समूह और मेष
मल्टीक्लस्टर (K8s): प्रति क्लाउड/क्षेत्र एक क्लस्टर; GitOps (ArgoCD/बेड़े) के माध्यम से बेड़ा नियंत्रण।
Сервис - меш: एमटीएलएस, रेट्रीज़, सर्किट-ब्रेकर्स, फेलओवर पॉलिसी क्रॉस-क्लस्टर।
वितरण:- स्थिर सेवाएं - जगह में।
- प्रत्येक क्लाउड में इंटरैक्टिव एपीआई (सक्रिय/सक्रिय)।
- बैच/ईटीएल → "ग्रीन" विंडो/सस्ते क्षेत्र (कार्बन/लागत जागरूक)।
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) मल्टी-क्लाउड में ऑब्जर्वेबिलिटी और एसएलओ
मल्टी-लीज लेबल: 'क्लाउड', 'क्षेत्र', 'किरायेदार', 'डेटा _ डोमेन'।
SLI/SLO प्रति-क्लाउड और वैश्विक स्तर पर: "वैश्विक स्तर पर उपलब्ध अगर ≥1 क्लाउड उपलब्ध
टेलीमेट्री संग्रह: स्थानीय रूप से + एग्रेस नियंत्रण के साथ एकत्रीकरण।
निशान: वैश्विक ट्रेस-आईडी, संदर्भ प्रसार, पूंछ द्वारा पूंछ-आधारित नमूना।
तुलना डैशबोर्ड: ए बनाम बी प्रति एंडपॉइंट/पी 99/त्रुटि-बजट बर्न।
8) एसडीएलसी/आईएसी और "कोड के रूप में नीतियां"
एकल IaC मोनो निर्देशिका: प्रदाता मॉड्यूल/स्टैक, इनवेरिएंट्स (टैग, नेटवर्क, एन्क्रिप्शन)।
GitOps: घोषणात्मक घोषणापत्र, बहाव का पता लगाना, प्रोमो वातावरण।
अनुरूपता परीक्षण: एपीआई/घटना अनुबंध, दोनों बादलों के लिए कैनरी।
रिलीज़ द्वार: संप्रभुता के मैचों की अनुपस्थिति में, एक बादल (बर्न रेट पूर्वानुमान) में एसएलओ के उल्लंघन के जोखिम पर एक ब्लॉक।
गेट (छद्म):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) लागत और कार्बन (FinOps/GreenOps)
यूनिट मैट्रिक्स: '$/req', '$/GB-egress', 'gCO₂e/req'।
गैर-महत्वपूर्ण बैच के लिए लागत/कार्बन रूटिंग: सस्ती/हरी घड़ियां/क्षेत्र।
एग्रेस-कैप: अंतर-क्लाउड ट्रैफिक के लिए बजट; कैश/एकत्रीकरण/संपीड़न/टीटीएल।
आरआई/एसपी/प्रतिबद्ध प्रत्येक क्लाउड + "लोचदार परत" में स्पॉट/प्रारंभिक पर उपयोग करें।
10) परीक्षण विफल और अभ्यास
खेल-दिन: "बुझाओ क्लाउड ए", "डेटाबेस को धीमा करो", "एग्रेस सीमा के माध्यम से तोड़ो।"
अंक जाँचें: आरटीओ/आरपीओ, डीएनएस अभिसरण समय, फ्लैग फीचर रोल, कैश व्यवहार।
रिलीज में अराजकता का धुआं: निर्भरता के क्षरण से रिट्रेज़का झरना नहीं बनना चाहिए।
11) सुरक्षा, गोपनीयता, अनुपालन
जीरो-ट्रस्ट: सेवाओं/बादलों, कलाकृतियों के हस्ताक्षर, SBOM के बीच mTLS।
DPA/संप्रभुता: डेटासेट कैटलॉग, स्थानीयकरण नियम, ILM के शीर्ष पर कानूनी पकड़।
रहस्य और कुंजी: रोटेशन पत्रिका, प्लेबुक समझौता/किल-स्विच।
वेबहूक और बाहरी एकीकरण: हस्ताक्षर, एंटी-रिप्ले, क्षेत्रीय समापन बिंदु।
12) डेटा/घटना एकीकरण टेम्प्लेट
12. 1 द्विदिश काफ्का-पुल (विचार):
cloudA. topicX ⇄ relayA→B ⇄ cloudB. topicX cleanup. policy=compact,delete key-based routing idempotent producer
12. 2 आउटबॉक्स तालिका और रिले:
sql
-- outbox id uuid pk, aggregate_id, type, payload jsonb, version int, created_at timestamptz
-- transactional insertion with domain table change
इसके बाद, कनेक्टर आउटबॉक्स पढ़ ता है और घटना को स्थानीय ब्रोकर + रिले को प्रकाशित करता है।
12. 3 संघर्ष रणनीति (छद्म):
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) एंटी-पैटर्न
"हर चीज़ को दो बादलों में घसीट ले जाओ। "जीतने के बिना कठिनाई को दोगुना करें।
हॉट ट्रैक पर सिंक्रोनस इंटर-क्लाउड लेनदेन।
सभी बादलों/क्षेत्रों के लिए एकल वैश्विक एन्क्रिप्शन कुंजी।
बिना भेस और स्थानीयकरण नियमों के बिना PII के साथ लॉग/ट्रेल्स।
कोई बाहरी माप (वास्तविक उपलब्धता केवल प्रदाता की स्थिति पृष्ठ पर दिखाई नहीं देती है)।
कोई प्लेबुक/ड्रिल नहीं - डीआर पल में काम नहीं कर रहा है एक्स।
एक बादल के क्षरण के दौरान रिट्रेज़का झरना (कोई लिमिटर/छायांकन/ब्रेकर नहीं)।
एग्रेस के लिए बेहिसाब बिल अप्रत्याशित हैं।
14) आर्किटेक्ट चेकलिस्ट
1. मल्टी-क्लाउड ड्राइवर तैयार (एसएलओ/डीआर/संप्रभुता/लागत)?
2. चयनित पैटर्न (एए/एपी/डीआर-ओनली/पॉली-सर्विस) और आरटीओ/आरपीओ प्रतिबद्ध?
3. नेटवर्क योजना: GSLB/Anycast, स्वास्थ्य-नमूने, एग्रेस-कैप, निजी चैनल?
4. डेटा: सीडीसी/सीआरडीटी/डुअल-राइट, संघर्ष समाधान नियम, आउटबॉक्स?
5. संप्रभुता: डेटा/क्षेत्रों का नक्शा, राजनेताओं को कोड और उनके द्वार के रूप में?
6. IAM/रहस्य: महासंघ, अल्पकालिक टोकन, डोमेन द्वारा KMS?
7. Clusters/mesh: असफलता रणनीति, सीमा/ब्रेक/टाइमआउट?
8. अवलोकन: 'क्लाउड/रीजन', एसएलओ प्रति-क्लाउड और विश्व स्तर पर, बाहरी सिंथेटिक्स लेबल?
9. SDLC/IaC/GitOps: एकल कैटलॉग, अनुरूपता परीक्षण, रिलीज़ गेट?
10. FinOps/GreenOps: यूनिट मैट्रिक्स, एग्रेस बजट, "ग्रीन" बैच विंडो?
11. ड्रिल: नियमित खेल-दिन, प्रोटोकॉल और रिटेस्ट?
12. एग्जिट-प्लान: डेटा निर्यात/प्रारूप/समय सीमा, प्रमुख सेवाओं के लिए दूसरा-स्रोत
15) मिनी नमूना विन्यास
15. 1 क्षेत्राधिकार रूटिंग नीति (छद्म-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 स्वास्थ्य-नमूना:
http
GET /healthz
200 OK x-region: eu-central x-slo: ok at-risk breach
15. 3 फेलओवर-फीचर-फ्लैग (स्यूडोकोड):
python if slo_at_risk("cloudA", "payments"):
route. weight["cloudA"] -= 20 route. weight["cloudB"] += 20 enable_stale_rates(ttl=1560)
निष्कर्ष
मल्टी-क्लाउड एक इंजीनियरिंग अनुशासन है, लेबल नहीं। इसके लिए स्पष्ट उद्देश्यों, टोपोलॉजी की सचेत पसंद, डेटा के साथ विचारशील काम, मजबूत स्वचालन और सख्त नीतियों की आवश्यकता होती है। यदि आप जोखिम और लागत को मापते हैं, तो नेटवर्क और डेटा का निर्माण "पाठ्यपुस्तक के अनुसार", ट्रेन फ़ाइलओवर और सादगी की ओर बढ़ ते हैं, तो एक मल्टी-क्लाउड प्लेटफ़ॉर्म आपको स्थिरता, लचीलापन और स देगा।