$npx -y skills add wshobson/agents --skill multi-cloud-architectureDesign 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.
| 1 | # Multi-Cloud Architecture |
| 2 | |
| 3 | Decision framework and patterns for architecting applications across AWS, Azure, GCP, and OCI. |
| 4 | |
| 5 | ## Purpose |
| 6 | |
| 7 | Design cloud-agnostic architectures and make informed decisions about service selection across cloud providers. |
| 8 | |
| 9 | ## When to Use |
| 10 | |
| 11 | - Design multi-cloud strategies |
| 12 | - Migrate between cloud providers |
| 13 | - Select cloud services for specific workloads |
| 14 | - Implement cloud-agnostic architectures |
| 15 | - Optimize costs across providers |
| 16 | |
| 17 | ## Cloud Service Comparison |
| 18 | |
| 19 | ### Compute Services |
| 20 | |
| 21 | | AWS | Azure | GCP | OCI | Use Case | |
| 22 | | ------- | ------------------- | --------------- | ------------------- | ------------------ | |
| 23 | | EC2 | Virtual Machines | Compute Engine | Compute | IaaS VMs | |
| 24 | | ECS | Container Instances | Cloud Run | Container Instances | Containers | |
| 25 | | EKS | AKS | GKE | OKE | Kubernetes | |
| 26 | | Lambda | Functions | Cloud Functions | Functions | Serverless | |
| 27 | | Fargate | Container Apps | Cloud Run | Container Instances | Managed containers | |
| 28 | |
| 29 | ### Storage Services |
| 30 | |
| 31 | | AWS | Azure | GCP | OCI | Use Case | |
| 32 | | ------- | --------------- | --------------- | -------------- | -------------- | |
| 33 | | S3 | Blob Storage | Cloud Storage | Object Storage | Object storage | |
| 34 | | EBS | Managed Disks | Persistent Disk | Block Volumes | Block storage | |
| 35 | | EFS | Azure Files | Filestore | File Storage | File storage | |
| 36 | | Glacier | Archive Storage | Archive Storage | Archive Storage | Cold storage | |
| 37 | |
| 38 | ### Database Services |
| 39 | |
| 40 | | AWS | Azure | GCP | OCI | Use Case | |
| 41 | | ----------- | ---------------- | ------------- | ------------------- | --------------- | |
| 42 | | RDS | SQL Database | Cloud SQL | MySQL HeatWave | Managed SQL | |
| 43 | | DynamoDB | Cosmos DB | Firestore | NoSQL Database | NoSQL | |
| 44 | | Aurora | PostgreSQL/MySQL | Cloud Spanner | Autonomous Database | Distributed SQL | |
| 45 | | ElastiCache | Cache for Redis | Memorystore | OCI Cache | Caching | |
| 46 | |
| 47 | **Reference:** See `references/service-comparison.md` for complete comparison |
| 48 | |
| 49 | ## Multi-Cloud Patterns |
| 50 | |
| 51 | ### Pattern 1: Single Provider with DR |
| 52 | |
| 53 | - Primary workload in one cloud |
| 54 | - Disaster recovery in another |
| 55 | - Database replication across clouds |
| 56 | - Automated failover |
| 57 | |
| 58 | ### Pattern 2: Best-of-Breed |
| 59 | |
| 60 | - Use best service from each provider |
| 61 | - AI/ML on GCP |
| 62 | - Enterprise apps on Azure |
| 63 | - Regulated data platforms on OCI |
| 64 | - General compute on AWS |
| 65 | |
| 66 | ### Pattern 3: Geographic Distribution |
| 67 | |
| 68 | - Serve users from nearest cloud region |
| 69 | - Data sovereignty compliance |
| 70 | - Global load balancing |
| 71 | - Regional failover |
| 72 | |
| 73 | ### Pattern 4: Cloud-Agnostic Abstraction |
| 74 | |
| 75 | - Kubernetes for compute |
| 76 | - PostgreSQL for database |
| 77 | - S3-compatible storage (MinIO) |
| 78 | - Open source tools |
| 79 | |
| 80 | ## Cloud-Agnostic Architecture |
| 81 | |
| 82 | ### Use Cloud-Native Alternatives |
| 83 | |
| 84 | - **Compute:** Kubernetes (EKS/AKS/GKE/OKE) |
| 85 | - **Database:** PostgreSQL/MySQL (RDS/SQL Database/Cloud SQL/MySQL HeatWave) |
| 86 | - **Message Queue:** Apache Kafka or managed streaming (MSK/Event Hubs/Confluent/OCI Streaming) |
| 87 | - **Cache:** Redis (ElastiCache/Azure Cache/Memorystore/OCI Cache) |
| 88 | - **Object Storage:** S3-compatible API |
| 89 | - **Monitoring:** Prometheus/Grafana |
| 90 | - **Service Mesh:** Istio/Linkerd |
| 91 | |
| 92 | ### Abstraction Layers |
| 93 | |
| 94 | ``` |
| 95 | Application Layer |
| 96 | ↓ |
| 97 | Infrastructure Abstraction (Terraform) |
| 98 | ↓ |
| 99 | Cloud Provider APIs |
| 100 | ↓ |
| 101 | AWS / Azure / GCP / OCI |
| 102 | ``` |
| 103 | |
| 104 | ## Cost Comparison |
| 105 | |
| 106 | ### Compute Pricing Factors |
| 107 | |
| 108 | - **AWS:** On-demand, Reserved, Spot, Savings Plans |
| 109 | - **Azure:** Pay-as-you-go, Reserved, Spot |
| 110 | - **GCP:** On-demand, Committed use, Preemptible |
| 111 | - **OCI:** Pay-as-you-go, annual commitments, burstable/flexible shapes, preemptible instances |
| 112 | |
| 113 | ### Cost Optimization Strategies |
| 114 | |
| 115 | 1. Use reserved/committed capacity (30-70% savings) |
| 116 | 2. Leverage spot/preemptible instances |
| 117 | 3. Right-size resources |
| 118 | 4. Use serverless for variable workloads |
| 119 | 5. Optimize data transfer costs |
| 120 | 6. Implement lifecycle policies |
| 121 | 7. Use cost allocation tags |
| 122 | 8. Monitor with cloud cost tools |
| 123 | |
| 124 | **Reference:** See `references/multi-cloud-patterns.md` |
| 125 | |
| 126 | ## Migration Strategy |
| 127 | |
| 128 | ### Phase 1: Assessment |
| 129 | |
| 130 | - Inventory current infrastructure |
| 131 | - Identify dependencies |
| 132 | - Assess cloud compatibility |
| 133 | - Estimate costs |
| 134 | |
| 135 | ### Phase 2: Pilot |
| 136 | |
| 137 | - Select pilot workload |
| 138 | - Implement in target cloud |
| 139 | - Test thoroughly |
| 140 | - Document learnings |
| 141 | |
| 142 | ### Phase 3: Migration |
| 143 | |
| 144 | - Migrate workloads incrementally |
| 145 | - Maintain dual-run period |
| 146 | - Monitor performance |
| 147 | - Validate functionality |
| 148 | |
| 149 | ### Phase 4: Optimizatio |