Contexte
Une simple panne EBS a figé un dashboard interne utilisé par 200+ agents support sans alerte. On m’a dit : « Assure-toi que ça n’arrive plus jamais. »
Menaces
- Couplage serré entre compute, stockage et crons.
- Zéro métrique/alerte : on découvrait l’incident via Slack.
- Procédures backup/restore manuelles nécessitant un humain à 2h du matin.
- Rôles IAM partagés avec permissions illimitées.
Approche
- Découpé le monolithe en services derrière des ALB, chacun dans son ASG multi-AZ.
- Migré la persistance sur Amazon RDS Multi-AZ avec failover auto + PITR ; snapshots nightly répliqués cross-region.
- Stocké assets + backups dans des buckets S3 versionnés avec lifecycle et réplication.
- Tout codifié en Terraform, y compris des rôles IAM least privilege, pour des rebuilds déterministes.
- Mis en place métriques/alertes CloudWatch branchées sur PagerDuty + tracing distribué via X-Ray/Grafana.
- Organisé des game days mensuels simulant perte EBS, fail AZ et compromission de credentials.
Résultats
L’incident suivant (fail AZ volontaire) s’est guéri en <90 s sans bruit pager. Le MTTR est passé d’heures à minutes et la direction a accepté d’onboarder une nouvelle BU.
Retours d’expérience
La fiabilité est un état d’esprit, pas une feature. En supposant que chaque dépendance tombe, on a rendu la résilience ennuyeuse — exactement ce qu’il faut pour des dashboards critiques.