Files
smom-dbis-138/docs/archive/status-reports/operations-legacy/PARALLEL_DEPLOYMENT_COMPARISON.md

2.9 KiB

Parallel Deployment Comparison

Deployment Modes

1. Sequential (Baseline)

  • Time: 5-9 hours
  • Method: One region at a time
  • Speedup: 1x
  • Risk: Low
  • Use Case: Testing, debugging

2. Standard Parallel

  • Time: 45-85 minutes
  • Method: Terraform parallelism=50, phases sequential
  • Speedup: 6-12x
  • Risk: Low
  • Use Case: Production deployment (balanced)
  • Time: 30-60 minutes
  • Method: Terraform parallelism=128, phases sequential but maximally parallel
  • Speedup: 10-18x
  • Risk: Medium
  • Use Case: Fast production deployment
  • Script: ./scripts/deployment/deploy-max-parallel.sh

4. Ultra Parallel 🚀 FASTEST

  • Time: 20-40 minutes
  • Method: All phases simultaneously, Terraform parallelism=128
  • Speedup: 15-27x
  • Risk: High
  • Use Case: Fastest possible deployment (monitor closely)
  • Script: ./scripts/deployment/deploy-ultra-parallel.sh

Performance Breakdown

Phase Sequential Standard Maximum Ultra
Infrastructure 2-4 hours 30-60 min 20-30 min 20-30 min
Kubernetes 1-2 hours 5-10 min 3-5 min 3-5 min
Besu Network 2-3 hours 10-15 min 5-10 min 5-10 min
Contracts 1-2 hours 1-2 hours 1-2 hours 1-2 hours
Monitoring 30-60 min 5-10 min 3-5 min 3-5 min
Total 5-9 hours 45-85 min 30-60 min 20-40 min

Parallelism Details

Terraform

  • Default: 10 operations
  • Standard: 50 operations (5x)
  • Maximum: 128 operations (12.8x)
  • Impact: Infrastructure deployment speed

Kubernetes

  • Standard: xargs -P 24 (24 regions)
  • Maximum: xargs -P 24 (24 regions)
  • Impact: Configuration speed

Besu

  • Standard: xargs -P 24 (24 regions)
  • Maximum: xargs -P 48 (48 validators)
  • Impact: Network deployment speed

First Deployment

  1. Use Maximum Parallel mode
  2. Monitor for API rate limits
  3. Verify successful deployment

Subsequent Deployments

  1. If Maximum Parallel works, try Ultra Parallel
  2. Monitor closely for issues
  3. Adjust parallelism if hitting limits

Risk Mitigation

API Rate Limits

  • Symptom: "Too Many Requests" errors
  • Solution: Reduce parallelism to 64 or 32
  • Command: terraform apply -parallelism=64

Partial Failures

  • Symptom: Some regions succeed, others fail
  • Solution: Retry failed regions independently
  • Command: terraform apply -target=module.region_deployment["region"]

Monitoring

  • Watch Terraform output
  • Monitor Azure Portal
  • Check deployment logs
  • Verify resource creation

Quick Reference

# Maximum Parallel (Recommended)
./scripts/deployment/deploy-max-parallel.sh

# Ultra Parallel (Fastest)
./scripts/deployment/deploy-ultra-parallel.sh

# Standard Parallel (Safest)
./scripts/deployment/deploy-parallel.sh