Skip to main content

Multi-Cloud Strategies


1 - Architecture patterns

1.1 Active-Passive (DR)

Characteristics:

  • RTO: 15-60 minutes
  • RPO: Minutes to hours
  • Cost: Moderate (minimal DR)

1.2 Active-Active

Characteristics:

  • RTO: Seconds
  • RPO: Near zero
  • Cost: High (dual infrastructure)

1.3 Cloud Bursting

Characteristics:

  • Use a secondary cloud to absorb spikes
  • Cost-effective if well configured
  • Requires a portable architecture

2 - Workload Placement

2.1 Decision criteria

CriterionDescription
PerformanceRequired latency, throughput
CostService and egress pricing
ComplianceRegulatory requirements
Data LocationWhere the data is
FeaturesSpecific services needed
ExpertiseTeam's skills

2.2 Decision matrix

2.3 Placement example

ApplicationCloudReason
API GatewayAWSMature API Gateway
ML TrainingGCPTPU, Vertex AI
Office 365 IntegrationAzureNative to Microsoft
Global CDNCloudFlareMulti-origin
Database PrimaryAWSMature RDS
Database DRAzureProvider isolation

3 - Workload portability

3.1 Levels of portability

LevelDescriptionEffort
ContainersStandard DockerEasy
KubernetesK8s manifestsMedium
TerraformPortable IaCMedium
Managed servicesProprietaryDifficult
# Portable architecture
Compute:
Abstraction: Kubernetes
Implementation:
- AWS: EKS
- Azure: AKS
- GCP: GKE

Database:
Abstraction: PostgreSQL API
Implementation:
- AWS: RDS PostgreSQL
- Azure: Azure Database for PostgreSQL
- GCP: Cloud SQL PostgreSQL

Storage:
Abstraction: S3 API
Implementation:
- AWS: Native S3
- Azure: Blob + S3 compatibility
- GCP: Cloud Storage + S3 compatibility

Messaging:
Abstraction: Kafka API
Implementation:
- AWS: MSK
- Azure: Event Hubs
- GCP: Managed Kafka

3.3 Avoiding Lock-in


4 - Multi-Cloud Disaster Recovery

4.1 DR levels

LevelRTORPODescription
Backup & RestoreHoursHoursCross-cloud backups
Pilot LightMinutesMinutesMinimal infra active
Warm StandbyMinutesSecondsReduced infra ready
Active-ActiveSeconds~0Full redundancy

4.2 DR configuration

# dr-config.yaml
primary:
provider: aws
region: eu-west-1
services:
compute:
type: eks
nodes: 10
database:
type: rds-postgresql
multi_az: true
storage:
type: s3
replication: true

dr:
provider: azure
region: westeurope
strategy: warm-standby
services:
compute:
type: aks
nodes: 2 # Scaled down
database:
type: azure-postgresql
replica: async
storage:
type: blob
replication: continuous

failover:
trigger: manual # or automatic
dns_ttl: 60
health_check_interval: 30s
failover_threshold: 3

4.3 DR testing

# DR Test Checklist
1. Verify data replication
2. Validate SSL certificates
3. Test DNS failover
4. Verify network connections
5. Test authentication
6. Validate performance
7. Document the results

5 - Multi-Cloud Migration

5.1 Migration phases

5.2 Migration strategies

StrategyDescriptionUse Case
Lift & ShiftMove as-isFast migration
ReplatformMinor adjustmentsContainers
RefactorRearchitectureCloud-native
RepurchaseNew serviceSaaS
RetireRemoveUnnecessary legacy

Summary

In this chapter, we learned:

  • The architecture patterns (Active-Passive, Active-Active)
  • Workload placement
  • Workload portability
  • Disaster Recovery strategies
  • Migration approaches

Next step

In the next chapter, we will look at Terraform Multi-Cloud.

→ Next chapter: Terraform Multi-Cloud


← Back to table of contents