# Multi Cloud Strategy

> Design and implement multi-cloud strategies spanning AWS, Azure, and GCP with vendor lock-in avoidance, hybrid deployments, and federation.

- Skill: `aj-geddes-useful-ai-prompts/multi-cloud-strategy` (Agent Skill, multi-file: 7 files)
- Install (CLI): `npx skillmds@latest add aj-geddes-useful-ai-prompts/multi-cloud-strategy`
- Raw SKILL.md: https://api.skillmd.com/api/skills/aj-geddes-useful-ai-prompts/multi-cloud-strategy/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: DevOps & Infra
- Author: aj-geddes (https://skillmd.com/u/aj-geddes-useful-ai-prompts)
- Updated: 2026-09-09
- Page: https://skillmd.com/skills/aj-geddes-useful-ai-prompts/multi-cloud-strategy

---


# Multi-Cloud Strategy

## Table of Contents

- [Overview](#overview)
- [When to Use](#when-to-use)
- [Quick Start](#quick-start)
- [Reference Guides](#reference-guides)
- [Best Practices](#best-practices)

## Overview

Multi-cloud strategies enable leveraging multiple cloud providers for flexibility, redundancy, and optimization. Avoid vendor lock-in, optimize costs by comparing cloud services, and implement hybrid deployments with seamless data synchronization.

## When to Use

- Reducing vendor lock-in risk
- Optimizing costs across providers
- Geographic distribution requirements
- Compliance with regional data laws
- Disaster recovery and high availability
- Hybrid cloud deployments
- Multi-region application deployment
- Avoiding single cloud provider dependency

## Quick Start

Minimal working example:

```python
# Multi-cloud compute abstraction
from abc import ABC, abstractmethod
from enum import Enum

class CloudProvider(Enum):
    AWS = "aws"
    AZURE = "azure"
    GCP = "gcp"

class ComputeInstance(ABC):
    """Abstract compute instance"""
    @abstractmethod
    def start(self): pass

    @abstractmethod
    def stop(self): pass

    @abstractmethod
    def get_status(self): pass

# AWS implementation
import boto3

class AWSComputeInstance(ComputeInstance):
    def __init__(self, instance_id, region='us-east-1'):
// ... (see reference guides for full implementation)
```

## Reference Guides

Detailed implementations in the `references/` directory:

| Guide | Contents |
|---|---|
| [Multi-Cloud Abstraction Layer](references/multi-cloud-abstraction-layer.md) | Multi-Cloud Abstraction Layer |
| [Multi-Cloud Kubernetes Deployment](references/multi-cloud-kubernetes-deployment.md) | Multi-Cloud Kubernetes Deployment |
| [Terraform Multi-Cloud Configuration](references/terraform-multi-cloud-configuration.md) | Terraform Multi-Cloud Configuration |
| [Data Synchronization across Clouds](references/data-synchronization-across-clouds.md) | Data Synchronization across Clouds |

## Best Practices

### ✅ DO

- Use cloud-agnostic APIs and frameworks
- Implement abstraction layers
- Monitor costs across clouds
- Use Kubernetes for portability
- Plan for data residency requirements
- Test failover scenarios
- Document cloud-specific configurations
- Use infrastructure as code

### ❌ DON'T

- Use cloud-specific services extensively
- Create hard dependencies on one provider
- Ignore compliance requirements
- Forget about data transfer costs
- Neglect network latency issues
- Skip disaster recovery planning

