mirror of
https://github.com/wshobson/agents.git
synced 2026-03-18 09:37:15 +00:00
Adds awareness of Oracle Cloud Infrastructure to any plugin that referenced at least two of the major cloud vendors already. Skills updated to include OCI services. Also updated some of the other cloud references. Signed-off-by: Avi Miller <me@dje.li>
180 lines
5.6 KiB
Markdown
180 lines
5.6 KiB
Markdown
---
|
|
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
|