Files
smom-dbis-138/docs/azure/GLOBAL_MULTI_REGION_DEPLOYMENT.md
defiQUG 1fb7266469 Add Oracle Aggregator and CCIP Integration
- Introduced Aggregator.sol for Chainlink-compatible oracle functionality, including round-based updates and access control.
- Added OracleWithCCIP.sol to extend Aggregator with CCIP cross-chain messaging capabilities.
- Created .gitmodules to include OpenZeppelin contracts as a submodule.
- Developed a comprehensive deployment guide in NEXT_STEPS_COMPLETE_GUIDE.md for Phase 2 and smart contract deployment.
- Implemented Vite configuration for the orchestration portal, supporting both Vue and React frameworks.
- Added server-side logic for the Multi-Cloud Orchestration Portal, including API endpoints for environment management and monitoring.
- Created scripts for resource import and usage validation across non-US regions.
- Added tests for CCIP error handling and integration to ensure robust functionality.
- Included various new files and directories for the orchestration portal and deployment scripts.
2025-12-12 14:57:48 -08:00

5.6 KiB
Raw Blame History

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

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

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