Introduction au Chaos Engineering¶
Principe¶
Le chaos engineering consiste à injecter délibérément des anomalies dans un système pour observer son comportement sous stress et former les équipes à diagnostiquer des incidents.
PerfShop implémente deux familles de chaos :
🔧 Chaos Backend → dégrade le serveur Spring Boot
🖥️ Chaos Frontend → dégrade le navigateur de l'utilisateur
Panneau de contrôle¶
Accessible depuis l'interface PerfShop (bouton en haut à droite). Chaque anomalie est contrôlée par un slider 0–100% :
- 0% — anomalie désactivée, comportement nominal
- 50% — dégradation modérée, impact visible dans les métriques
- 100% — dégradation maximale, impact fort et immédiat
Principe des sliders¶
Les sliders ne sont pas des pourcentages arbitraires — ils sont calibrés pour que la valeur corresponde à l'impact réel :
| Valeur slider | CPU Backend | Heap JVM | FPS Navigateur |
|---|---|---|---|
| 0% | ~2% | stable | ~144 |
| 25% | ~25% | +légère montée | ~100 |
| 50% | ~50% | montée visible | ~40 |
| 75% | ~75% | montée rapide | ~20 |
| 100% | ~100% | montée max | ~10 |
Corrélation anomalie → métriques¶
C'est le cœur de l'exercice pédagogique. Chaque anomalie a une signature reconnaissable dans les dashboards :
| Anomalie | Métrique principale | Métriques secondaires |
|---|---|---|
| CPU Backend | cpu_percent ↑ |
http_latency_p99 ↑ |
| Memory Leak Backend | jvm_heap_used ↑ |
gc_pause_time ↑ |
| Thread Pool | tomcat_busy_threads ↑ |
5xx_rate ↑ |
| DB Pool | hikaricp_active ↑ |
connection_pending ↑ |
| Slow Query | http_latency_p99 ↑ |
hikaricp_acquire_ms ↑ |
| CPU Frontend | fps ↓ |
long_tasks_per_sec ↑ |
| Memory Leak Frontend | heap_js_mb ↑ continu |
— |
| Fetch Flood | fetch_req_per_sec ↑ |
réseau OUT container ↑ |
Utilisation pédagogique¶
Mode démo¶
Le formateur active les anomalies une par une et montre la corrélation en direct dans Grafana ou le dashboard HTML.
Mode hackathon¶
Les apprenants ont accès au dashboard de monitoring mais pas au panneau de contrôle. Le formateur active des anomalies à la volée. Les apprenants doivent : 1. Identifier quelle(s) anomalie(s) est active 2. Expliquer la chaîne de causalité 3. Proposer une action corrective
Mode formation¶
Les apprenants ont accès à tout. Ils explorent les anomalies en autonomie et documentent leurs observations.