Agent skill
multi-cloud-architecture
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.
Install this agent skill to your Project
npx add-skill https://github.com/camoneart/claude-code/tree/main/skills/multi-cloud-architecture
SKILL.md
Multi-Cloud Architecture
Decision framework and patterns for architecting applications across AWS, Azure, and GCP.
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 | 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
- Use reserved/committed capacity (30-70% savings)
- Leverage spot/preemptible instances
- Right-size resources
- Use serverless for variable workloads
- Optimize data transfer costs
- Implement lifecycle policies
- Use cost allocation tags
- 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
- Use infrastructure as code (Terraform/OpenTofu)
- Implement CI/CD pipelines for deployments
- Design for failure across clouds
- Use managed services when possible
- Implement comprehensive monitoring
- Automate cost optimization
- Follow security best practices
- Document cloud-specific configurations
- Test disaster recovery procedures
- Train teams on multiple clouds
Reference Files
references/service-comparison.md- Complete service comparisonreferences/multi-cloud-patterns.md- Architecture patterns
Related Skills
terraform-module-library- For IaC implementationcost-optimization- For cost managementhybrid-cloud-networking- For connectivity
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
translating-technical-articles
Translates English technical articles (engineering blogs, documentation) to Japanese while preserving layout and structure. Use when the user asks to translate an article, convert English content to Japanese, or mentions translating a URL or technical blog post.
guiding-tdd-development
Guide Test-Driven Development with task splitting, Red-Green-Refactor cycle, and framework auto-detection. Use when developing features with TDD approach, fixing bugs test-first, or when user mentions "TDD", "テスト駆動開発", "test-first", "/tdd".
distributed-tracing
Implement distributed tracing with Jaeger and Tempo to track requests across microservices and identify performance bottlenecks. Use when debugging microservices, analyzing request flows, or implementing observability for distributed systems.
dependency-upgrade
Manage major dependency version upgrades with compatibility analysis, staged rollout, and comprehensive testing. Use when upgrading framework versions, updating major dependencies, or managing breaking changes in libraries.
stripe-integration
Implement Stripe payment processing for robust, PCI-compliant payment flows including checkout, subscriptions, and webhooks. Use when integrating Stripe payments, building subscription systems, or implementing secure checkout flows.
typescript-advanced-types
Master TypeScript's advanced type system including generics, conditional types, mapped types, template literals, and utility types for building type-safe applications. Use when implementing complex type logic, creating reusable type utilities, or ensuring compile-time type safety in TypeScript projects.
Didn't find tool you were looking for?