Files
smom-dbis-138/docs/azure/QUOTA_OPTIMIZATION_PLAN.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

97 lines
2.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Quota Optimization Plan
## Current Quota Status
### vCPU Quota
- **Total Limit**: 10 vCPUs
- **Currently Used**: 6 vCPUs (3 nodes × Standard_D2s_v3 @ 2 vCPUs each)
- **Available**: 4 vCPUs
## Optimization Strategy
### Option 1: Use 1 vCPU VMs (Recommended)
**VM Size**: `Standard_B1ms` (1 vCPU, 2GB RAM)
**Configuration**:
- System: 1 node × 1 vCPU = 1 vCPU
- Validators: 2 nodes × 1 vCPU = 2 vCPUs
- Sentries: 1 node × 1 vCPU = 1 vCPU
- RPC: 1 node × 1 vCPU = 1 vCPU
- **Total New**: 5 vCPUs
- **Current**: 6 vCPUs
- **Combined**: 11 vCPUs (exceeds quota by 1)
**Solution**: Reduce system pool or keep existing and add only validators
### Option 2: Keep Existing + Add Minimal (Best Fit)
**Keep**: 3 nodes × Standard_D2s_v3 = 6 vCPUs
**Add**: 2 validators × Standard_B1ms = 2 vCPUs
**Total**: 8 vCPUs (within 10 vCPU limit)
### Option 3: Replace with Smaller VMs
**Replace**: 3 × Standard_D2s_v3 (6 vCPUs) with 3 × Standard_B1ms (3 vCPUs)
**Add**: 2 validators × Standard_B1ms (2 vCPUs)
**Total**: 5 vCPUs (well within limit, saves 5 vCPUs)
## Recommended Approach
### Phase 1: Add Validators Only (Fits Current Quota)
```hcl
node_count = {
system = 3 # Keep existing
validators = 2 # Add 2 × 1 vCPU = 2 vCPUs (fits in 4 available)
sentries = 0 # Defer
rpc = 0 # Defer
}
vm_size = {
system = "Standard_D2s_v3" # Keep existing
validators = "Standard_B1ms" # 1 vCPU, 2GB RAM
sentries = "Standard_B1ms"
rpc = "Standard_B1ms"
}
```
### Phase 2: After Quota Increase
Add sentries and RPC nodes with larger VMs
## Available VM Sizes (1-2 vCPUs)
### Burstable (B-series) - Best for Cost
- **Standard_B1s**: 1 vCPU, 1GB RAM - $0.0052/hour
- **Standard_B1ms**: 1 vCPU, 2GB RAM - $0.0104/hour
- **Standard_B2s**: 2 vCPUs, 4GB RAM - $0.0208/hour
### General Purpose (D-series)
- **Standard_D2s_v3**: 2 vCPUs, 8GB RAM - $0.096/hour (current)
- **Standard_D1s_v3**: 1 vCPU, 4GB RAM - $0.048/hour
### Memory Optimized
- **Standard_E2s_v3**: 2 vCPUs, 16GB RAM - $0.134/hour
## Cost Comparison
### Current Configuration
- 3 × Standard_D2s_v3 = $0.288/hour = ~$210/month
### Optimized Configuration (Option 3)
- 3 × Standard_B1ms = $0.0312/hour = ~$23/month
- 2 × Standard_B1ms (validators) = $0.0208/hour = ~$15/month
- **Total**: ~$38/month (82% cost savings)
## Implementation Steps
1. **Review quotas**: ✅ Done
2. **Select VM sizes**: Standard_B1ms for new nodes
3. **Update terraform.tfvars**: Use quota-optimized config
4. **Deploy validators first**: 2 nodes × 1 vCPU = 2 vCPUs
5. **Monitor performance**: Ensure B-series burst credits sufficient
6. **Scale up later**: After quota increase or performance validation
## Notes
- **B-series VMs**: Have CPU credits, good for variable workloads
- **Minimum for Besu**: 1 vCPU, 2GB RAM (Standard_B1ms)
- **Production recommendation**: Standard_B2s or larger for validators
- **Current approach**: Use B1ms for development/testing, upgrade later