Files
smom-dbis-138/docs/deployment/VALIDATOR_RPC_DEPLOYMENT.md
T
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

7.0 KiB
Raw Blame History

Validator and RPC Node Deployment Strategy

Core Requirements

Validator Nodes

  • Deployment: ALL non-US Commercial Azure regions (42 regions)
  • VM Size: Standard_D4_v2 (4 vCPUs) - MUST be the SAME across ALL regions
  • VM Family: Dv2 Family
  • Count: 1 validator per region (minimum for consensus)
  • Purpose: Consensus and block validation
  • Critical: All validator nodes must use identical VM specifications

RPC Nodes (Core Backbone)

  • Deployment: ALL non-US Commercial Azure regions (42 regions)
  • VM Size: Standard_D8s_v6 (8 vCPUs) - MUST be the SAME across ALL regions
  • VM Family: Dsv6 Family
  • Count: 1 RPC node per region (core backbone)
  • Purpose: Internal networking, core backbone infrastructure
  • Critical: RPC nodes are the internally networked backbone - must be in ALL regions

System Nodes

  • Deployment: ALL regions (required for AKS)
  • VM Size: Standard_D2_v2 (2 vCPUs)
  • VM Family: Dv2 Family
  • Count: 1 system node per region
  • Purpose: AKS system pool

Sentry Nodes

  • Deployment: Distributed as needed based on quotas
  • VM Size: Standard_D4_v2 (4 vCPUs)
  • VM Family: Dv2 Family
  • Count: 0-1 per region (distributed)
  • Purpose: P2P connectivity
  • Note: Can be distributed based on quota availability

All 42 Non-US Commercial Azure Regions

# Region Code Validator RPC System Sentry
1 Belgium Central bc ✅ ✅ ✅ ⚪
2 Brazil South bs ✅ ✅ ✅ ⚪
3 Brazil Southeast bse ✅ ✅ ✅ ⚪
4 Canada Central cc ✅ ✅ ✅ ⚪
5 Canada East ce ✅ ✅ ✅ ⚪
6 Central India ci ✅ ✅ ✅ ⚪
7 Chile Central chc ✅ ✅ ✅ ⚪
8 East Asia ea ✅ ✅ ✅ ⚪
9 France Central fc ✅ ✅ ✅ ⚪
10 France South fs ✅ ✅ ✅ ⚪
11 Germany North gn ✅ ✅ ✅ ⚪
12 Germany West Central gwc ✅ ✅ ✅ ⚪
13 Indonesia Central ic ✅ ✅ ✅ ⚪
14 Israel Central ilc ✅ ✅ ✅ ⚪
15 Italy North in ✅ ✅ ✅ ⚪
16 Japan East je ✅ ✅ ✅ ⚪
17 Japan West jw ✅ ✅ ✅ ⚪
18 Jio India Central jic ✅ ✅ ✅ ⚪
19 Jio India West jiw ✅ ✅ ✅ ⚪
20 Korea Central kc ✅ ✅ ✅ ⚪
21 Korea South ks ✅ ✅ ✅ ⚪
22 Malaysia West mw ✅ ✅ ✅ ⚪
23 Mexico Central mc ✅ ✅ ✅ ⚪
24 New Zealand North nzn ✅ ✅ ✅ ⚪
25 North Europe ne ✅ ✅ ✅ ⚪
26 Norway East no ✅ ✅ ✅ ⚪
27 Norway West nw ✅ ✅ ✅ ⚪
28 Poland Central pc ✅ ✅ ✅ ⚪
29 Qatar Central qc ✅ ✅ ✅ ⚪
30 South Africa North san ✅ ✅ ✅ ⚪
31 South Africa West saw ✅ ✅ ✅ ⚪
32 Southeast Asia sea ✅ ✅ ✅ ⚪
33 South India si ✅ ✅ ✅ ⚪
34 Spain Central sc ✅ ✅ ✅ ⚪
35 Sweden Central swc ✅ ✅ ✅ ⚪
36 Switzerland North sn ✅ ✅ ✅ ⚪
37 Switzerland West sw ✅ ✅ ✅ ⚪
38 UAE Central uac ✅ ✅ ✅ ⚪
39 UAE North uan ✅ ✅ ✅ ⚪
40 UK South uks ✅ ✅ ✅ ⚪
41 UK West ukw ✅ ✅ ✅ ⚪
42 West Europe we ✅ ✅ ✅ ⚪
43 West India wi ✅ ✅ ✅ ⚪

Legend: ✅ = Required, ⚪ = Optional (distributed)

Per-Region Configuration

Standard Configuration

node_count = {
  system     = 1  # Required for AKS
  validators = 1  # Required in ALL regions (SAME VM size)
  sentries   = 0  # Optional, distributed as needed
  rpc        = 1  # Required in ALL regions (core backbone)
}

vm_families = {
  system     = "Standard_D2_v2"       # 2 vCPUs - Dv2 Family
  validators = "Standard_D4_v2"       # 4 vCPUs - Dv2 Family (SAME across ALL)
  sentries   = "Standard_D4_v2"        # 4 vCPUs - Dv2 Family (distributed)
  rpc        = "Standard_D8s_v6"      # 8 vCPUs - Dsv6 Family (SAME across ALL)
}

Quota Requirements Per Region

  • Dv2 Family: 6 vCPUs (system: 2, validators: 4, sentries: 0)
  • Dsv6 Family: 8 vCPUs (RPC: 8)
  • Total: 14 vCPUs per region (minimum)

With sentries:

  • Dv2 Family: 10 vCPUs (system: 2, validators: 4, sentries: 4)
  • Dsv6 Family: 8 vCPUs (RPC: 8)
  • Total: 18 vCPUs per region (with sentries)

Total Deployment Summary

Global Resources

  • Total Regions: 42 (all non-US Commercial Azure)
  • Total Validator Nodes: 42 (1 per region, SAME VM size)
  • 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

Minimum (without sentries):

  • Dv2 Family: 252 vCPUs (6 per region × 42)
  • Dsv6 Family: 336 vCPUs (8 per region × 42)
  • Total: 588 vCPUs

Maximum (with sentries):

  • Dv2 Family: 420 vCPUs (10 per region × 42)
  • Dsv6 Family: 336 vCPUs (8 per region × 42)
  • Total: 756 vCPUs

Key Design Principles

1. Validator Consistency

  • Same VM size (Standard_D4_v2) across ALL 42 regions
  • Ensures consistent performance and behavior
  • Simplifies monitoring and management
  • Critical for consensus reliability

2. RPC Backbone

  • RPC nodes in ALL 42 regions for core backbone
  • Internally networked for high availability
  • Critical infrastructure component
  • Same VM size (Standard_D8s_v6) across all regions

3. Flexible Distribution

  • System nodes: Required in all regions (AKS)
  • Sentry nodes: Distributed based on quotas and needs
  • Allows optimization per region

Deployment Configuration

The configuration is defined in terraform/multi-region-global.tf:

  • Uses local.standard_validator_vm_size = "Standard_D4_v2" for all validators
  • Uses local.standard_rpc_vm_size = "Standard_D8s_v6" for all RPC nodes
  • Automatically generates configuration for all 42 regions
  • Ensures consistency across all regions

Monitoring

Validator Monitoring

  • Monitor all 42 validator nodes
  • Ensure all use Standard_D4_v2
  • Track consensus health across regions
  • Alert on any validator VM size deviations

RPC Backbone Monitoring

  • Monitor all 42 RPC nodes
  • Ensure all use Standard_D8s_v6
  • Track internal networking health
  • Monitor cross-region connectivity

Benefits

  1. Consistent Validators: Same VM size ensures uniform behavior
  2. Resilient Backbone: RPC nodes in all regions for redundancy
  3. Global Coverage: 42 regions provide worldwide presence
  4. Flexible Scaling: System/sentry nodes can be adjusted per region
  5. High Availability: Geographic redundancy across all regions