- 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.
3.4 KiB
3.4 KiB
Multi-Region Validator Deployment
Configuration
Deployment Strategy
- Total Validators: 5
- Distribution: 1 validator per region across 5 regions
- VM Size: Standard_B2s (2 vCPUs, 4GB RAM per validator)
- Total vCPUs: 5 × 2 = 10 vCPUs (across 5 regions)
- Cost: 5 × $15/month = $75/month
Regions
- West Europe (westeurope) - Primary region
- North Europe (northeurope)
- UK South (uksouth)
- France Central (francecentral)
- Germany West Central (germanywestcentral)
Per-Region Configuration
- AKS Cluster: 1 cluster per region
- System Nodes: 3 × Standard_D2s_v3 (6 vCPUs)
- Validator Nodes: 1 × Standard_B2s (2 vCPUs)
- Total per Region: 8 vCPUs
Deployment Requirements
Quota Requirements
- Each region needs quota for 8 vCPUs (6 system + 2 validator)
- Total across 5 regions: 40 vCPUs
- Note: Quota is per-region, so each region needs its own quota allocation
Prerequisites
- ✅ Cloud for Sovereignty foundation deployed (37 regions)
- ⏳ AKS clusters deployed in 5 regions
- ⏳ Validator node pools deployed (1 per region)
- ⏳ Besu network deployed on validators
Deployment Steps
Step 1: Update Configuration
# Update terraform.tfvars
cd terraform/well-architected/cloud-sovereignty
# Set selected_regions and validator_config
Step 2: Deploy AKS Clusters
# Deploy AKS clusters in 5 regions
terraform init
terraform plan
terraform apply
Step 3: Deploy Validator Node Pools
# Validator node pools are deployed automatically with AKS clusters
# Each region gets 1 validator node (Standard_B2s)
Step 4: Deploy Besu Network
# Deploy Besu validators on the node pools
kubectl apply -f k8s/besu/validator-deployment.yaml
# Repeat for each region
Network Configuration
Validator Peering
- Validators in different regions peer via public IPs
- Use static-nodes.json to configure peering
- Configure network security groups to allow P2P (port 30303)
Consensus
- IBFT 2.0 consensus
- 5 validators = 3 minimum for consensus (tolerant of 2 failures)
- Block time: ~2 seconds
Cost Analysis
Per Region
- System Nodes: 3 × Standard_D2s_v3 = ~$210/month
- Validator Nodes: 1 × Standard_B2s = ~$15/month
- Total per Region: ~$225/month
Across 5 Regions
- Total Cost: ~$1,125/month
- Validator Cost: ~$75/month (5 × $15)
- System Cost: ~$1,050/month (5 × $210)
Monitoring
Per-Region Monitoring
- Azure Monitor for each AKS cluster
- Prometheus for Besu metrics
- Grafana dashboards per region
Cross-Region Monitoring
- Aggregate metrics across all regions
- Alert on validator failures
- Monitor network connectivity between regions
Disaster Recovery
Region Failover
- If one region fails, 4 validators remain (still above consensus threshold)
- Network continues to operate with 4 validators
- Failed region can be restored and rejoin network
Data Replication
- Each validator maintains full chain state
- No cross-region data replication needed (blockchain is replicated via consensus)
Next Steps
- ✅ Update Terraform configuration - Complete
- ⏳ Request quota increases for 5 regions
- ⏳ Deploy AKS clusters in 5 regions
- ⏳ Deploy validator node pools
- ⏳ Deploy Besu network
- ⏳ Configure validator peering
- ⏳ Test multi-region consensus
- ⏳ Monitor and optimize