# 36-Region Global Deployment Blueprint ## Overview This document defines the latency-aware and balanced 36-region global deployment blueprint for the DeFi Oracle Meta Mainnet (ChainID 138). **Design Principles:** - Latency-aware: Regions grouped into low-latency "rings" for consensus optimization - Balanced: Even geographic distribution across all continents - Quota-optimized: All regions within 10 vCPU per region limit - Practical: All regions are non-US commercial Azure regions --- ## 🌍 36-Region Workload Set (Non-US Commercial) ### Geographic Distribution **Europe (14 regions)** - West Europe (`westeurope`) - *Primary* - North Europe (`northeurope`) - *Primary* - UK South (`uksouth`) - *Primary* - UK West (`ukwest`) - France Central (`francecentral`) - *Primary* - Germany West Central (`germanywestcentral`) - *Primary* - Switzerland North (`switzerlandnorth`) - *Primary* - Sweden Central (`swedencentral`) - Norway East (`norwayeast`) - Poland Central (`polandcentral`) - Spain Central (`spaincentral`) - Italy North (`italynorth`) - Austria East (`austriaeast`) - Belgium Central (`belgiumcentral`) **Asia Pacific incl. India (13 regions)** - East Asia (`eastasia`) - *Primary* - Southeast Asia (`southeastasia`) - *Primary* - Japan East (`japaneast`) - *Primary* - Japan West (`japanwest`) - Korea Central (`koreacentral`) - Korea South (`koreasouth`) - Australia East (`australiaeast`) - *Primary* - Australia Southeast (`australiasoutheast`) - New Zealand North (`newzealandnorth`) - Central India (`centralindia`) - *Primary* - West India (`westindia`) - Indonesia Central (`indonesiacentral`) - Malaysia West (`malaysiawest`) **Middle East (3 regions)** - UAE North (`uaenorth`) - Qatar Central (`qatarcentral`) - Israel Central (`israelcentral`) **Americas (Non-US) (5 regions)** - Canada Central (`canadacentral`) - *Primary* - Canada East (`canadaeast`) - Brazil South (`brazilsouth`) - Chile Central (`chilecentral`) - Mexico Central (`mexicocentral`) **Africa (1 region)** - South Africa North (`southafricanorth`) **Total: 14 + 13 + 3 + 5 + 1 = 36 regions** βœ… --- ## 🎯 Latency-Aware Architecture The 36 regions are organized into **four low-latency rings**: ### Ring 1: Europe (14 regions) - Very tight RTT between NL, IE, DE, FR, UK, etc. - **Primary regions**: West Europe, North Europe, France Central, Germany West Central, UK South, Switzerland North - Suitable for fast consensus rounds ### Ring 2: Asia Pacific (13 regions) - Japan–Korea–SE Asia–India–Australia cluster - **Primary regions**: East Asia, Southeast Asia, Japan East, Australia East, Central India - Optimized for APAC region performance ### Ring 3: Middle East + Africa (4 regions) - UAE, Qatar, Israel, South Africa - Provides regional coverage and backup validators ### Ring 4: Americas Non-US (5 regions) - Canada, Brazil, Chile, Mexico - **Primary region**: Canada Central - Western hemisphere coverage ### Consensus Strategy - **60-70% of producing validators** in Europe + Asia rings (lower latency) - **30-40% geo-distributed backup validators** across all rings - Block times: 2-4s (QBFT/IBFT2) with geo-aware committee selection --- ## πŸ“‹ Node Distribution Blueprint ### Design Rules - Each node = **2 vCPUs** - Each region must stay **≀ 10 vCPUs** - Even, supportable patterns across all regions ### Allocation Strategy **Every region: 2 System Nodes** - 2 Γ— 2 vCPUs = **4 vCPUs** per region **Validators:** - **12 "primary" regions**: **2 Validators** each (4 vCPUs) - **Remaining 24 regions**: **1 Validator** each (2 vCPUs) ### Per-Region Totals **Primary 12 regions:** - 2 System + 2 Validators = 4 VMs, **8 vCPUs** βœ… **Other 24 regions:** - 2 System + 1 Validator = 3 VMs, **6 vCPUs** βœ… --- ## πŸ“Š Primary Regions (2 Validators Each - 8 vCPUs) | Region | Geography | System Nodes | Validator Nodes | Total VMs | Total vCPUs | |--------|-----------|--------------|-----------------|-----------|-------------| | West Europe | Europe | 2 | 2 | 4 | 8 | | North Europe | Europe | 2 | 2 | 4 | 8 | | France Central | Europe | 2 | 2 | 4 | 8 | | Germany West Central | Europe | 2 | 2 | 4 | 8 | | UK South | Europe | 2 | 2 | 4 | 8 | | Switzerland North | Europe | 2 | 2 | 4 | 8 | | East Asia | APAC | 2 | 2 | 4 | 8 | | Southeast Asia | APAC | 2 | 2 | 4 | 8 | | Japan East | APAC | 2 | 2 | 4 | 8 | | Australia East | APAC | 2 | 2 | 4 | 8 | | Central India | APAC | 2 | 2 | 4 | 8 | | Canada Central | Americas | 2 | 2 | 4 | 8 | **Subtotal (Primary 12):** - System Nodes: 12 Γ— 2 = **24** - Validator Nodes: 12 Γ— 2 = **24** - Total VMs: 12 Γ— 4 = **48** - Total vCPUs: 48 Γ— 2 = **96** --- ## πŸ“Š Remaining Regions (1 Validator Each - 6 vCPUs) All of these get: **2 System, 1 Validator** β†’ **3 VMs, 6 vCPUs**. | Region | Geography | System Nodes | Validator Nodes | Total VMs | Total vCPUs | |--------|-----------|--------------|-----------------|-----------|-------------| | UK West | Europe | 2 | 1 | 3 | 6 | | Sweden Central | Europe | 2 | 1 | 3 | 6 | | Norway East | Europe | 2 | 1 | 3 | 6 | | Poland Central | Europe | 2 | 1 | 3 | 6 | | Spain Central | Europe | 2 | 1 | 3 | 6 | | Italy North | Europe | 2 | 1 | 3 | 6 | | Austria East | Europe | 2 | 1 | 3 | 6 | | Belgium Central | Europe | 2 | 1 | 3 | 6 | | Japan West | APAC | 2 | 1 | 3 | 6 | | Korea Central | APAC | 2 | 1 | 3 | 6 | | Korea South | APAC | 2 | 1 | 3 | 6 | | Australia Southeast | APAC | 2 | 1 | 3 | 6 | | New Zealand North | APAC | 2 | 1 | 3 | 6 | | West India | APAC | 2 | 1 | 3 | 6 | | Indonesia Central | APAC | 2 | 1 | 3 | 6 | | Malaysia West | APAC | 2 | 1 | 3 | 6 | | UAE North | Middle East | 2 | 1 | 3 | 6 | | Qatar Central | Middle East | 2 | 1 | 3 | 6 | | Israel Central | Middle East | 2 | 1 | 3 | 6 | | Canada East | Americas | 2 | 1 | 3 | 6 | | Brazil South | Americas | 2 | 1 | 3 | 6 | | Chile Central | Americas | 2 | 1 | 3 | 6 | | Mexico Central | Americas | 2 | 1 | 3 | 6 | | South Africa North | Africa | 2 | 1 | 3 | 6 | **Subtotal (Remaining 24):** - System Nodes: 24 Γ— 2 = **48** - Validator Nodes: 24 Γ— 1 = **24** - Total VMs: 24 Γ— 3 = **72** - Total vCPUs: 72 Γ— 2 = **144** --- ## πŸ”š Global Totals (36 Regions) - **System Nodes:** 24 + 48 = **72** βœ… - **Validator Nodes:** 24 + 24 = **48** βœ… - **Total VMs:** 48 + 72 = **120** βœ… - **Total vCPUs:** 96 + 144 = **240** βœ… - **All regions ≀ 8 vCPUs (< 10 quota limit)** βœ… --- ## βš™οΈ West Europe Admin-Only Variant If **West Europe** should be purely for admin/control plane (no workload nodes): ### Re-allocation Strategy 1. **Set West Europe to 0/0** (no System/Validator nodes) 2. **Re-assign its nodes:** - +1 System +1 Validator β†’ **North Europe** (8 β†’ 10 vCPUs) - +1 System +1 Validator β†’ **Belgium Central** (6 β†’ 10 vCPUs) ### Updated Totals (Admin Variant) | Region | System Nodes | Validator Nodes | Total vCPUs | |--------|--------------|-----------------|-------------| | West Europe | 0 | 0 | 0 (admin only) | | North Europe | 3 | 3 | 12 ❌ (exceeds quota) | | Belgium Central | 3 | 2 | 10 βœ… | **Note:** North Europe would exceed 10 vCPU limit. Alternative allocation needed. **Better Re-allocation:** - +1 System +1 Validator β†’ **Belgium Central** (6 β†’ 10 vCPUs) - +1 System +1 Validator β†’ **Netherlands** (if available) or split: - +1 System β†’ **Sweden Central** (6 β†’ 8 vCPUs) - +1 Validator β†’ **Poland Central** (6 β†’ 8 vCPUs) --- ## 🎯 Next Steps 1. **Map Kubernetes clusters & pod densities** onto this 36-region layout 2. **Define QBFT/IBFT2 geo-aware committee configuration**: - Primary regions (60-70% producing validators) - Secondary regions (30-40% backup validators) - Latency-optimized consensus rounds 3. **Create Terraform configuration** for all 36 regions 4. **Generate deployment scripts** with region-specific configurations 5. **Implement geo-aware validator selection** logic --- ## πŸ“ References - [Azure Regions List](https://learn.microsoft.com/en-us/azure/reliability/regions-list) - [Cloud for Sovereignty Landing Zone](./CLOUD_SOVEREIGNTY_LANDING_ZONE.md) - [Deployment Checklist](./DEPLOYMENT_CHECKLIST.md)