Files
smom-dbis-138/docs/deployment/VALIDATOR_RPC_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

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