Afgelopen dinsdag (27-06) hadden wij de eer om samen te werken met niemand minder dan Russ Miles (CEO ChaosIQ), Benjamin Wilms en Dennis Schulte (beide codecentric collega’s uit Duitsland). Samen vertegenwoordigen de drie heren de laatste stand van de industrie als het gaat om chaos engineering practices en tools.
Deze week doen ze in een roadshow vijf grote steden in vijf landen aan, waaronder een bezoek aan ons kantoor in Amsterdam.
Russ Miles trapte de sessie af met een introductie in het onderwerp chaos engineering. Als veelgevraagde internationale spreker en auteur van vier boeken leverde hij precies wat je verwacht, een razendsnel coherent verhaal. Belangrijke take aways van Russ waren: ‘Start with chaos engineering’. Je hoeft niet te starten met tools en automatiseren van chaos engineering. Begin met een ‘game day’ waarbij je handmatig de chaos veroorzaakt (en oplost). Hij sloot het verhaal af met een blik op chaostoolkit.org. Russ is founder en contributor op deze open source software. Een uitbreidbare toolkit – met bestaande plugins voor bekende zaken als AWS, Kubernetes, etc. – gemaakt in Python die het gehele proces van chaos testing voor je automatiseert.
Benjamin Wilms nam het stokje over. Hij ging dieper in op de tooling. Voor Spring is hij de auteur van het open source project Spring Chaos Monkey. Hij liet zien hoe je een bestaande Java-applicatie kon instrumenteren met Spring Chaos Monkey. Vervolgens kan je diverse chaos simulaties uitvoeren via een Actuator endpoint. Zaken die je kan simuleren (zogenaamde Assaults) zijn o.a.:
- Exception Assault: service exceptions laten geven op bepaalde classes (zonder code aan te passen)
- Latency Assault – netwerk quality of service aanpassen, zoals packet loss en vertraging
- AppKiller Assault (de naam zegt genoeg 😉 )
Benjamin liet in een microservice setup zien hoe de Spring Cloud API Gateway met verschillende services communiceerde en hoe je dit kon beïnvloeden met Spring Chaos Monkey om uiteindelijk een meer resilient architectuur te bouwen.
Dennis Schulte sloot de sessie af met een blik op andere tooling, hij liet o.a. ToxiProxy en Pubma zien, respectievelijk een tool om netwerk traffic te beïnvloeden en een tool om in een bestaande Docker infrastructuur vergelijkbare bewerkingen als met de Spring Chaos Monkey toe te passen. Doordat het opereert op low-level Docker infrastructuur is het erg breed inzetbaar.
We sloten de ontzettend warme dag s’avonds af op het dakterras van ons kantoor in B.Amsterdam. ?
Ook aan de slag met Chaos Engineering? Kijk snel op: Chaos Engineering Training