Stratégies Multi-Cloud
1 - Patterns d'architecture
1.1 Active-Passive (DR)
Caractéristiques :
- RTO : 15-60 minutes
- RPO : Minutes à heures
- Coût : Modéré (DR minimal)
1.2 Active-Active
Caractéristiques :
- RTO : Secondes
- RPO : Proche de zéro
- Coût : Élevé (double infrastructure)
1.3 Cloud Bursting
Caractéristiques :
- Utiliser un cloud secondaire pour absorber les pics
- Économique si bien configuré
- Nécessite une architecture portable
2 - Workload Placement
2.1 Critères de décision
| Critère | Description |
|---|---|
| Performance | Latence, throughput requis |
| Coût | Prix des services et egress |
| Compliance | Exigences réglementaires |
| Data Location | Où sont les données |
| Features | Services spécifiques nécessaires |
| Expertise | Compétences de l'équipe |
2.2 Matrice de décision
2.3 Exemple de placement
| Application | Cloud | Raison |
|---|---|---|
| API Gateway | AWS | API Gateway mature |
| ML Training | GCP | TPU, Vertex AI |
| Office 365 Integration | Azure | Natif Microsoft |
| Global CDN | CloudFlare | Multi-origin |
| Database Primary | AWS | RDS mature |
| Database DR | Azure | Isolation provider |
3 - Portabilité des workloads
3.1 Niveaux de portabilité
| Niveau | Description | Effort |
|---|---|---|
| Containers | Docker standard | Facile |
| Kubernetes | Manifests K8s | Moyen |
| Terraform | IaC portable | Moyen |
| Services managés | Propriétaires | Difficile |
3.2 Abstractions recommandées
# Architecture portable
Compute:
Abstraction: Kubernetes
Implementation:
- AWS: EKS
- Azure: AKS
- GCP: GKE
Database:
Abstraction: PostgreSQL API
Implementation:
- AWS: RDS PostgreSQL
- Azure: Azure Database for PostgreSQL
- GCP: Cloud SQL PostgreSQL
Storage:
Abstraction: S3 API
Implementation:
- AWS: S3 natif
- Azure: Blob + S3 compatibility
- GCP: Cloud Storage + S3 compatibility
Messaging:
Abstraction: Kafka API
Implementation:
- AWS: MSK
- Azure: Event Hubs
- GCP: Managed Kafka
3.3 Éviter le Lock-in
4 - Disaster Recovery Multi-Cloud
4.1 Niveaux de DR
| Niveau | RTO | RPO | Description |
|---|---|---|---|
| Backup & Restore | Heures | Heures | Backups cross-cloud |
| Pilot Light | Minutes | Minutes | Infra minimale active |
| Warm Standby | Minutes | Secondes | Infra réduite prête |
| Active-Active | Secondes | ~0 | Full redondance |
4.2 Configuration DR
# dr-config.yaml
primary:
provider: aws
region: eu-west-1
services:
compute:
type: eks
nodes: 10
database:
type: rds-postgresql
multi_az: true
storage:
type: s3
replication: true
dr:
provider: azure
region: westeurope
strategy: warm-standby
services:
compute:
type: aks
nodes: 2 # Scaled down
database:
type: azure-postgresql
replica: async
storage:
type: blob
replication: continuous
failover:
trigger: manual # ou automatic
dns_ttl: 60
health_check_interval: 30s
failover_threshold: 3
4.3 Test de DR
# Checklist DR Test
1. Vérifier la réplication des données
2. Valider les certificats SSL
3. Tester le failover DNS
4. Vérifier les connexions réseau
5. Tester l'authentification
6. Valider les performances
7. Documenter les résultats
5 - Migration Multi-Cloud
5.1 Phases de migration
5.2 Stratégies de migration
| Stratégie | Description | Use Case |
|---|---|---|
| Lift & Shift | Déplacer tel quel | Migration rapide |
| Replatform | Ajustements mineurs | Containers |
| Refactor | Rearchitecture | Cloud-native |
| Repurchase | Nouveau service | SaaS |
| Retire | Supprimer | Legacy inutile |
Résumé
Dans ce chapitre, nous avons appris :
- Les patterns d'architecture (Active-Passive, Active-Active)
- Le workload placement
- La portabilité des workloads
- Les stratégies de Disaster Recovery
- Les approches de migration
Prochaine étape
Dans le prochain chapitre, nous verrons Terraform Multi-Cloud.
→ Chapitre suivant : Terraform Multi-Cloud