Skill

SkillsDevOps & Infrastructure › Cloud & deployment

multi-cloud-architecture

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

Freerisk: medium
multicloudarchitecturesqlgogcpkubernetes

The full skill

— name: multi-cloud-architecture description: Design multi-cloud architectures using a decision framework to select and integrate services across AWS, Azure, GCP, and OCI. Use when building multi-cloud systems, avoiding vendor lock-in, or leveraging best-of-breed services from multiple providers. — # Multi-Cloud Architecture Decision framework and patterns for architecting applications across AWS, Azure, GCP, and OCI. ## Purpose Design cloud-agnostic architectures and make informed decisions about service selection across cloud providers. ## When to Use – 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 | OCI | Use Case | | ——- | ——————- | ————— | ——————- | —————— | | EC2 | Virtual Machines | Compute Engine | Compute | IaaS VMs | | ECS | Container Instances | Cloud Run | Container Instances | Containers | | EKS | AKS | GKE | OKE | Kubernetes | | Lambda | Functions | Cloud Functions | Functions | Serverless | | Fargate | Container Apps | Cloud Run | Container Instances | Managed containers | ### Storage Services | AWS | Azure | GCP | OCI | Use Case | | ——- | ————— | ————— | ————– | ————– | | S3 | Blob Storage | Cloud Storage | Object Storage | Object storage | | EBS | Managed Disks | Persistent Disk | Block Volumes | Block storage | | EFS | Azure Files | Filestore | File Storage | File storage | | Glacier | Archive Storage | Archive Storage | Archive Storage | Cold storage | ### Database Services | AWS | Azure | GCP | OCI | Use Case | | ———– | —————- | ————- | ——————- | ————— | | RDS | SQL Database | Cloud SQL | MySQL HeatWave | Managed SQL | | DynamoDB | Cosmos DB | Firestore | NoSQL Database | NoSQL | | Aurora | PostgreSQL/MySQL | Cloud Spanner | Autonomous Database | Distributed SQL | | ElastiCache | Cache for Redis | Memorystore | OCI Cache | 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 – Regulated data platforms on OCI – 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/OKE) – **Database:** PostgreSQL/MySQL (RDS/SQL Database/Cloud SQL/MySQL HeatWave) – **Message Queue:** Apache Kafka or managed streaming (MSK/Event Hubs/Confluent/OCI Streaming) – **Cache:** Redis (ElastiCache/Azure Cache/Memorystore/OCI Cache) – **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 / OCI “` ## 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 – **OCI:** Pay-as-you-go, annual commitments, burstable/flexible shapes, preemptible instances ### 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 ## Related Skills – `terraform-module-library` – For IaC implementation – `cost-optimization` – For cost management – `hybrid-cloud-networking` – For connectivity