multi-cloud-architecture

Cloud, DevOps & Systèmes

Design multi-cloud architectures using a decision framework to select and integrate services across AWS, Azure, and GCP. Use when building multi-cloud systems, avoiding vendor lock-in, or leveraging best-of-breed services from multiple providers.

Documentation

Multi-Cloud Architecture

Decision framework and patterns for architecting applications across AWS, Azure, and GCP.

Do not use this skill when

The task is unrelated to multi-cloud architecture
You need a different domain or tool outside this scope

Instructions

Clarify goals, constraints, and required inputs.
Apply relevant best practices and validate outcomes.
Provide actionable steps and verification.
If detailed examples are required, open resources/implementation-playbook.md.

Purpose

Design cloud-agnostic architectures and make informed decisions about service selection across cloud providers.

Use this skill when

Design multi-cloud strategies
Migrate between cloud providers
Select cloud services for specific workloads
Implement cloud-agnostic architectures
Optimize costs across providers

Cloud Service Comparison

Compute Services

| AWS | Azure | GCP | Use Case |

|-----|-------|-----|----------|

| EC2 | Virtual Machines | Compute Engine | IaaS VMs |

| ECS | Container Instances | Cloud Run | Containers |

| EKS | AKS | GKE | Kubernetes |

| Lambda | Functions | Cloud Functions | Serverless |

| Fargate | Container Apps | Cloud Run | Managed containers |

Storage Services

| AWS | Azure | GCP | Use Case |

|-----|-------|-----|----------|

| S3 | Blob Storage | Cloud Storage | Object storage |

| EBS | Managed Disks | Persistent Disk | Block storage |

| EFS | Azure Files | Filestore | File storage |

| Glacier | Archive Storage | Archive Storage | Cold storage |

Database Services

| AWS | Azure | GCP | Use Case |

|-----|-------|-----|----------|

| RDS | SQL Database | Cloud SQL | Managed SQL |

| DynamoDB | Cosmos DB | Firestore | NoSQL |

| Aurora | PostgreSQL/MySQL | Cloud Spanner | Distributed SQL |

| ElastiCache | Cache for Redis | Memorystore | Caching |

Reference: See references/service-comparison.md for complete comparison

Multi-Cloud Patterns

Pattern 1: Single Provider with DR

Primary workload in one cloud
Disaster recovery in another
Database replication across clouds
Automated failover

Pattern 2: Best-of-Breed

Use best service from each provider
AI/ML on GCP
Enterprise apps on Azure
General compute on AWS

Pattern 3: Geographic Distribution

Serve users from nearest cloud region
Data sovereignty compliance
Global load balancing
Regional failover

Pattern 4: Cloud-Agnostic Abstraction

Kubernetes for compute
PostgreSQL for database
S3-compatible storage (MinIO)
Open source tools

Cloud-Agnostic Architecture

Use Cloud-Native Alternatives

Compute: Kubernetes (EKS/AKS/GKE)
Database: PostgreSQL/MySQL (RDS/SQL Database/Cloud SQL)
Message Queue: Apache Kafka (MSK/Event Hubs/Confluent)
Cache: Redis (ElastiCache/Azure Cache/Memorystore)
Object Storage: S3-compatible API
Monitoring: Prometheus/Grafana
Service Mesh: Istio/Linkerd

Abstraction Layers

Application Layer
    ↓
Infrastructure Abstraction (Terraform)
    ↓
Cloud Provider APIs
    ↓
AWS / Azure / GCP

Cost Comparison

Compute Pricing Factors

AWS: On-demand, Reserved, Spot, Savings Plans
Azure: Pay-as-you-go, Reserved, Spot
GCP: On-demand, Committed use, Preemptible

Cost Optimization Strategies

1.Use reserved/committed capacity (30-70% savings)
2.Leverage spot/preemptible instances
3.Right-size resources
4.Use serverless for variable workloads
5.Optimize data transfer costs
6.Implement lifecycle policies
7.Use cost allocation tags
8.Monitor with cloud cost tools

Reference: See references/multi-cloud-patterns.md

Migration Strategy

Phase 1: Assessment

Inventory current infrastructure
Identify dependencies
Assess cloud compatibility
Estimate costs

Phase 2: Pilot

Select pilot workload
Implement in target cloud
Test thoroughly
Document learnings

Phase 3: Migration

Migrate workloads incrementally
Maintain dual-run period
Monitor performance
Validate functionality

Phase 4: Optimization

Right-size resources
Implement cloud-native services
Optimize costs
Enhance security

Best Practices

1.Use infrastructure as code (Terraform/OpenTofu)
2.Implement CI/CD pipelines for deployments
3.Design for failure across clouds
4.Use managed services when possible
5.Implement comprehensive monitoring
6.Automate cost optimization
7.Follow security best practices
8.Document cloud-specific configurations
9.Test disaster recovery procedures
10.Train teams on multiple clouds

Reference Files

references/service-comparison.md - Complete service comparison
references/multi-cloud-patterns.md - Architecture patterns

Related Skills

terraform-module-library - For IaC implementation
cost-optimization - For cost management
hybrid-cloud-networking - For connectivity
Utiliser l'Agent multi-cloud-architecture - Outil & Compétence IA | Skills Catalogue | Skills Catalogue