Are you ready for Chaos Engineering?

Understanding Chaos through the Discipline’s Prerequisites

One of my favourite parts of the Chaos Engineering book is that it gives careful attention to how prepared you need to be in order to actually benefit from the discipline.

It’s all too tempting to assign Chaos Engineering to simply “hurting systems” and not understand that it is so much more than that. You can get an idea of exactly how much that is not the case merely by examining the prerequisites. For fun I jotted down a simple decision tree for deciding if you’re ready for Chaos Engineering:

Starts with “Is your system resilient to real-world events” and ends with “Apply Chaos Engineering”

The interesting thing about this decision tree is that it doesn’t mention microservices. In fact, it doesn’t even mention distributed systems. The truth is that, although those types of systems often have more options for dealing with the stresses of chaos engineering experiments, you can use the technique for any system that is sufficiently complex where there is a chance that there are weaknesses that are not evident immediately.

When production hates you (and it does, personally; it knows when you’re on holiday or sleeping in) and shows it’s true colours it is Chaos Engineering that helps you build confidence in your system in production. Chaos Engineering experiments build confidence in those systems by surfacing weaknesses you didn’t know were there, and then testing that they’ve been accommodated into improving the system design over time through continual execution of those experiments.

Chaos is so much more than merely “hurting your system”, it’s about establishing a discipline for implementing double-loop learning through experiments so that you can build confidence in chaotic and complex environments.

— —

Russ Miles is currently writing “Antifragile Software” and can be followed on Twitter. He also delivers courses and consultancy on how to build software systems and teams applying Antifragility through Microservices and Chaos Engineering. As the Geek on a Harley he travels to and speaks at many conferences and user groups around the world.