# Global Multi-Region Deployment Strategy ## Overview This deployment strategy ensures: 1. **Validator nodes** in ALL non-US Commercial Azure regions 2. **Same validator VM size** across ALL regions (for consistency) 3. **RPC nodes** in ALL regions (core backbone, internally networked) 4. **System and sentry nodes** distributed as needed based on quotas ## Deployment Requirements ### Validator Nodes - **Location**: ALL non-US Commercial Azure regions (42 regions) - **VM Size**: `Standard_D4_v2` (4 vCPUs) - **SAME across ALL regions** - **Count**: 1 validator per region (minimum for consensus) - **Family**: Dv2 Family - **Purpose**: Consensus and block validation ### RPC Nodes (Core Backbone) - **Location**: ALL non-US Commercial Azure regions (42 regions) - **VM Size**: `Standard_D8s_v6` (8 vCPUs) - **SAME across ALL regions** - **Count**: 1 RPC node per region (core backbone) - **Family**: Dsv6 Family - **Purpose**: Internal networking, core backbone infrastructure ### System Nodes - **Location**: ALL regions (required for AKS) - **VM Size**: `Standard_D2_v2` (2 vCPUs) - **Count**: 1 system node per region - **Family**: Dv2 Family - **Purpose**: AKS system pool ### Sentry Nodes - **Location**: Distributed as needed based on quotas - **VM Size**: `Standard_D4_v2` (4 vCPUs) - **Count**: 0-1 per region (distributed) - **Family**: Dv2 Family - **Purpose**: P2P connectivity, can be distributed ## All Non-US Commercial Azure Regions (42) 1. Belgium Central 2. Brazil South 3. Brazil Southeast 4. Canada Central 5. Canada East 6. Central India 7. Chile Central 8. East Asia 9. France Central 10. France South 11. Germany North 12. Germany West Central 13. Indonesia Central 14. Israel Central 15. Italy North 16. Japan East 17. Japan West 18. Jio India Central 19. Jio India West 20. Korea Central 21. Korea South 22. Malaysia West 23. Mexico Central 24. New Zealand North 25. North Europe 26. Norway East 27. Norway West 28. Poland Central 29. Qatar Central 30. South Africa North 31. South Africa West 32. Southeast Asia 33. South India 34. Spain Central 35. Sweden Central 36. Switzerland North 37. Switzerland West 38. UAE Central 39. UAE North 40. UK South 41. UK West 42. West Europe 43. West India ## Per-Region Configuration ### Standard Configuration (All Regions) | Node Type | VM Size | vCPUs | Family | Count | Required | |-----------|---------|-------|--------|-------|----------| | System | Standard_D2_v2 | 2 | Dv2 | 1 | Yes (AKS) | | Validators | Standard_D4_v2 | 4 | Dv2 | 1 | Yes (ALL regions) | | Sentries | Standard_D4_v2 | 4 | Dv2 | 0-1 | Optional | | RPC | Standard_D8s_v6 | 8 | Dsv6 | 1 | Yes (ALL regions) | | **Total** | | **14-18** | | **3-4** | | ### Quota Requirements Per Region - **Dv2 Family**: 6-10 vCPUs (system: 2, validators: 4, sentries: 0-4) - **Dsv6 Family**: 8 vCPUs (RPC: 8) - **Total**: 14-18 vCPUs per region ## Total Deployment Summary ### Global Resources - **Total Regions**: 42 (all non-US Commercial Azure) - **Total Validator Nodes**: 42 (1 per region) - **Total RPC Nodes**: 42 (1 per region - core backbone) - **Total System Nodes**: 42 (1 per region - AKS) - **Total Sentry Nodes**: 0-42 (distributed as needed) - **Total Nodes**: 126-168 nodes ### Total vCPUs - **Dv2 Family**: 252-420 vCPUs (6-10 per region × 42) - **Dsv6 Family**: 336 vCPUs (8 per region × 42) - **Total**: 588-756 vCPUs ## Key Design Principles ### 1. Validator Consistency - **Same VM size** (`Standard_D4_v2`) across ALL regions - Ensures consistent performance and behavior - Simplifies monitoring and management ### 2. RPC Backbone - **RPC nodes in ALL regions** for core backbone - Internally networked for high availability - Critical infrastructure component ### 3. Flexible Distribution - **System nodes**: Required in all regions (AKS) - **Sentry nodes**: Distributed based on quotas and needs - Allows optimization per region ## Deployment Steps ### 1. Enable Global Multi-Region ```bash cd terraform cp terraform.tfvars.multi-region terraform.tfvars # Edit terraform.tfvars to set enable_multi_region = true ``` ### 2. Review Configuration The configuration in `terraform/multi-region-global.tf` includes: - All 42 non-US Commercial Azure regions - Standard validator VM size across all regions - RPC nodes in all regions - Flexible system/sentry distribution ### 3. Deploy ```bash terraform init terraform plan -out=tfplan terraform apply tfplan ``` ## Monitoring ### Per-Region Metrics - **Validator Health**: Monitor all 42 validator nodes - **RPC Backbone**: Monitor all 42 RPC nodes - **Quota Usage**: Track quota consumption per region - **Performance**: Compare performance across regions ### Global Metrics - **Total Validators**: 42 (all regions) - **Total RPC Nodes**: 42 (all regions) - **Geographic Distribution**: Global coverage - **Consensus Health**: Monitor validator consensus ## Cost Estimate ### Monthly Costs (Approximate) - **Per Region**: ~$200-300/month (3-4 nodes) - **Total (42 regions)**: ~$8,400-12,600/month *Note: Costs vary based on VM sizes, usage, and Azure pricing* ## Benefits 1. **Global Coverage**: 42 regions provide worldwide presence 2. **Consistent Validators**: Same VM size ensures uniform behavior 3. **Resilient Backbone**: RPC nodes in all regions for redundancy 4. **Flexible Scaling**: System/sentry nodes can be adjusted per region 5. **High Availability**: Geographic redundancy across all regions ## Next Steps 1. ✅ Configure global multi-region Terraform 2. ⏳ Verify quotas in all 42 regions 3. ⏳ Deploy primary regions first 4. ⏳ Deploy remaining regions 5. ⏳ Configure cross-region networking 6. ⏳ Set up global monitoring 7. ⏳ Deploy Besu network nodes