Skip to main content

Multi-Cloud Architecture Design

Folder: .github/skills/tsh-designing-multi-cloud-architecture/ Used by: DevOps Engineer, Architect

Provides a decision framework for designing multi-cloud architectures across AWS, Azure, and GCP — selecting and integrating best-of-breed services while avoiding vendor lock-in.

When to Use Multi-Cloud

ReasonExample
Vendor lock-in avoidanceRegulatory or strategic requirement for portability
Best-of-breed servicesAWS for compute, GCP for ML/AI, Azure for enterprise integration
Geographic coverageRegions available in one provider but not another
ComplianceData sovereignty requiring specific cloud regions

Decision Framework

  1. Identify constraints — Regulatory, contractual, or technical requirements.
  2. Map services — Compare equivalent services across providers.
  3. Evaluate trade-offs — Portability vs. depth of native integration.
  4. Choose abstraction level — Kubernetes for portability, native services for optimization.
  5. Design connectivity — Cross-cloud networking and identity federation.

Abstraction Layers

LayerPortableProvider-Native
ComputeKubernetes (EKS/GKE/AKS)Lambda, Cloud Functions, Azure Functions
DatabasePostgreSQL, MySQLAurora, Cloud Spanner, Cosmos DB
MessagingKafka, RabbitMQSQS/SNS, Pub/Sub, Service Bus
StorageS3-compatibleS3, GCS, Azure Blob

Connected Skills

  • tsh-optimizing-cloud-cost — Cross-provider cost comparison.
  • tsh-implementing-terraform-modules — Multi-provider Terraform modules.
  • tsh-implementing-kubernetes — Portable workload orchestration.