Chaos Monkey for Spring Boot développé par l’équipe codecentric est une dépendance Spring Boot 2 permettant de faire du Chaos Engineering.
La mise en place est simple, il suffit d’ajouter la dépendance maven au pom.xml et régler quelques conf YAML. Le reste du code source n’est pas modifié.
Ce projet propose trois types d’attaque :
- Ajout de latences aux appels de méthodes
- Ajout d’exceptions aux appels de méthodes
- Tuer l’application
Ce projet se base sur les annotations Spring :
- @Controller
- @RestController
- @Service
- @Repository
Voici un exemple de configuration :
chaos:
monkey:
assaults:
latencyActive: true
level: 1
exceptionsActive: true
killApplicationActive: true
watcher:
repository: true
restController: true
service: true
Dans la pratique il n’est pas conseillé d’utiliser ce type d’outils en production. Mais supposons une infra en micro-services, pourquoi ne pas lancer une instance de l’application en mode chaos. Cela permettrait de valider constamment le comportement des services entre eux.