Multi-Cloud Architecture
Create practical multi-cloud designs that optimize for business goals, not provider symmetry.
When to Use
- Uptime, data sovereignty, or procurement constraints require multiple providers.
- Teams need clear boundaries on what runs where and why.
- You need a migration/failover strategy that can be tested regularly.
Workload Classification Framework
Classify workloads before placement:
- Stateless compute: Web tiers, API gateways, batch workers. Highest portability; run anywhere with minimal config drift. Prefer container images and IaC parity.
- Stateful data: Databases, queues, object stores. Lowest portability; replication and failover are complex. Decide: replicate, backup-only, or single-cloud with tested restore.
- Edge/CDN: Cache, DDoS protection, low-latency delivery. Often provider-specific (CloudFront, Cloud CDN). Use provider-native unless multi-CDN is a goal.
- ML training: GPU clusters, distributed jobs. Heavy data locality and quota constraints. Often single-cloud per job; use SkyPilot or similar for portability.
Map each workload to one class and document statefulness, data gravity, and compliance requirements.
Shared Control Plane Design Patterns
- Federated identity: Use OIDC/SAML with a central IdP (Okta, Auth0, Azure AD) or provider-native federation (AWS IAM Identity Center, GCP Workload Identity). Avoid per-cloud user stores; sync groups and roles via SCIM or automation.
- Cross-cloud observability: Centralize logs and metrics in one place (Datadog, Grafana Cloud, self-hosted Prometheus/Loki). Use agent-based collection or provider-native export to avoid tool sprawl. Define SLOs and alerting once.
- Unified secrets: HashiCorp Vault, Doppler, or provider-native (AWS Secrets Manager, GCP Secret Manager) with replication or sync. Never duplicate secrets manually; use automation and rotation.
- CI/CD: Single pipeline (GitHub Actions, GitLab CI, Jenkins) that deploys to multiple targets via provider SDKs or Terraform. Use environment-specific variables and approval gates.
Failover Pattern Details
- Active-active with global load balancing: Traffic split across clouds via Route53, Cloudflare, or GSLB. Requires data replication and conflict resolution. Use for stateless or eventually-consistent workloads. Validate session affinity and data consistency.
- Active-passive with DNS failover: Primary in cloud A; standby in cloud B. Failover via DNS TTL and health checks. RTO depends on TTL and automation. Requires periodic failover drills.
- Pilot-light: Minimal standby (DB replica, config only) in secondary cloud. Scale up compute on failover. Lower cost, higher RTO. Document scale-up runbook and data sync lag.
Choose based on RTO/RPO and budget. Document failover steps, ownership, and test frequency.
Common Pitfalls
- Symmetry bias: Duplicating every service across clouds when only a subset needs resilience. Increases cost and operational load. Place only critical workloads in secondary cloud.
- Untested failover: Assuming failover works without drills. Run game days quarterly; validate DNS, networking, and data restore.
- Cost explosion from data egress: Cross-cloud data transfer is expensive. Keep data gravity in mind; avoid unnecessary replication or sync.
- Tool sprawl: Different monitoring, secrets, or CI per cloud. Consolidate control planes; use one tool per concern where possible.
Workflow
- Define architecture goals and non-goals (resilience, latency, compliance, cost, lock-in).
- Classify workloads using the framework above.
- Design shared foundations (identity, observability, networking, secrets, CI/CD).
- Map service placement and failover pattern (active-active, active-passive, pilot-light, backup-only).
- Validate with game days, cost modeling, and operational runbooks.
Output Format
## Multi-Cloud Architecture Proposal
- Primary goals: <list>
- Providers in scope: <list>
- Workload classes: <list with classification (stateless/stateful/edge/ML)>
## Workload Classification Summary
| Workload | Class | Statefulness | Data Gravity | Compliance |
|---|---|---|---|---|
| <service> | <stateless/stateful/edge/ML> | <none/replicated/single> | <location> | <requirements> |
## Placement Strategy
| Workload | Cloud | Pattern | Reason |
|---|---|---|---|
| <service> | <provider> | <active-active/active-passive/pilot-light/backup-only> | <why> |
## Shared Control Planes
- Identity: <approach, IdP, federation method>
- Observability: <tool, aggregation point, SLO coverage>
- Secrets/KMS: <tool, replication, rotation>
- CI/CD: <pipeline, deployment targets, approval gates>
## Failover Details
- Pattern: <active-active/active-passive/pilot-light>
- RTO target: <value>
- RPO target: <value>
- Test frequency: <e.g., quarterly game day>
- Runbook reference: <link or location>
## Risk and Readiness Checklist
- [ ] Failover tested
- [ ] RTO/RPO validated
- [ ] Cost guardrails defined (including egress)
- [ ] Ops ownership documented
- [ ] Symmetry bias avoided (only critical workloads in secondary)
- [ ] Control plane consolidated (no tool sprawl)
Constraints
- Avoid duplicating everything across clouds unless required by goals.
- Keep operational complexity proportional to reliability benefit.
- Require tested failover; untested redundancy is not resilience.
1---2name: multi-cloud-architecture3description: Use this skill when designing or evaluating multi-cloud architectures, workload placement, shared control planes, failover patterns, vendor-risk tradeoffs, compliance constraints, or cross-cloud resilience.4---56# Multi-Cloud Architecture78Create practical multi-cloud designs that optimize for business goals, not provider symmetry.910## When to Use1112- Uptime, data sovereignty, or procurement constraints require multiple providers.13- Teams need clear boundaries on what runs where and why.14- You need a migration/failover strategy that can be tested regularly.1516## Workload Classification Framework1718Classify workloads before placement:1920- **Stateless compute**: Web tiers, API gateways, batch workers. Highest portability; run anywhere with minimal config drift. Prefer container images and IaC parity.21- **Stateful data**: Databases, queues, object stores. Lowest portability; replication and failover are complex. Decide: replicate, backup-only, or single-cloud with tested restore.22- **Edge/CDN**: Cache, DDoS protection, low-latency delivery. Often provider-specific (CloudFront, Cloud CDN). Use provider-native unless multi-CDN is a goal.23- **ML training**: GPU clusters, distributed jobs. Heavy data locality and quota constraints. Often single-cloud per job; use SkyPilot or similar for portability.2425Map each workload to one class and document statefulness, data gravity, and compliance requirements.2627## Shared Control Plane Design Patterns2829- **Federated identity**: Use OIDC/SAML with a central IdP (Okta, Auth0, Azure AD) or provider-native federation (AWS IAM Identity Center, GCP Workload Identity). Avoid per-cloud user stores; sync groups and roles via SCIM or automation.30- **Cross-cloud observability**: Centralize logs and metrics in one place (Datadog, Grafana Cloud, self-hosted Prometheus/Loki). Use agent-based collection or provider-native export to avoid tool sprawl. Define SLOs and alerting once.31- **Unified secrets**: HashiCorp Vault, Doppler, or provider-native (AWS Secrets Manager, GCP Secret Manager) with replication or sync. Never duplicate secrets manually; use automation and rotation.32- **CI/CD**: Single pipeline (GitHub Actions, GitLab CI, Jenkins) that deploys to multiple targets via provider SDKs or Terraform. Use environment-specific variables and approval gates.3334## Failover Pattern Details3536- **Active-active with global load balancing**: Traffic split across clouds via Route53, Cloudflare, or GSLB. Requires data replication and conflict resolution. Use for stateless or eventually-consistent workloads. Validate session affinity and data consistency.37- **Active-passive with DNS failover**: Primary in cloud A; standby in cloud B. Failover via DNS TTL and health checks. RTO depends on TTL and automation. Requires periodic failover drills.38- **Pilot-light**: Minimal standby (DB replica, config only) in secondary cloud. Scale up compute on failover. Lower cost, higher RTO. Document scale-up runbook and data sync lag.3940Choose based on RTO/RPO and budget. Document failover steps, ownership, and test frequency.4142## Common Pitfalls4344- **Symmetry bias**: Duplicating every service across clouds when only a subset needs resilience. Increases cost and operational load. Place only critical workloads in secondary cloud.45- **Untested failover**: Assuming failover works without drills. Run game days quarterly; validate DNS, networking, and data restore.46- **Cost explosion from data egress**: Cross-cloud data transfer is expensive. Keep data gravity in mind; avoid unnecessary replication or sync.47- **Tool sprawl**: Different monitoring, secrets, or CI per cloud. Consolidate control planes; use one tool per concern where possible.4849## Workflow50511. Define architecture goals and non-goals (resilience, latency, compliance, cost, lock-in).522. Classify workloads using the framework above.533. Design shared foundations (identity, observability, networking, secrets, CI/CD).544. Map service placement and failover pattern (active-active, active-passive, pilot-light, backup-only).555. Validate with game days, cost modeling, and operational runbooks.5657## Output Format5859```markdown60## Multi-Cloud Architecture Proposal61- Primary goals: <list>62- Providers in scope: <list>63- Workload classes: <list with classification (stateless/stateful/edge/ML)>6465## Workload Classification Summary66| Workload | Class | Statefulness | Data Gravity | Compliance |67|---|---|---|---|---|68| <service> | <stateless/stateful/edge/ML> | <none/replicated/single> | <location> | <requirements> |6970## Placement Strategy71| Workload | Cloud | Pattern | Reason |72|---|---|---|---|73| <service> | <provider> | <active-active/active-passive/pilot-light/backup-only> | <why> |7475## Shared Control Planes76- Identity: <approach, IdP, federation method>77- Observability: <tool, aggregation point, SLO coverage>78- Secrets/KMS: <tool, replication, rotation>79- CI/CD: <pipeline, deployment targets, approval gates>8081## Failover Details82- Pattern: <active-active/active-passive/pilot-light>83- RTO target: <value>84- RPO target: <value>85- Test frequency: <e.g., quarterly game day>86- Runbook reference: <link or location>8788## Risk and Readiness Checklist89- [ ] Failover tested90- [ ] RTO/RPO validated91- [ ] Cost guardrails defined (including egress)92- [ ] Ops ownership documented93- [ ] Symmetry bias avoided (only critical workloads in secondary)94- [ ] Control plane consolidated (no tool sprawl)95```9697## Constraints9899- Avoid duplicating everything across clouds unless required by goals.100- Keep operational complexity proportional to reliability benefit.101- Require tested failover; untested redundancy is not resilience.