Summary
In this chapter, we covered a lot of ground concerning understanding, anticipating, handling, and causing faults. We explored the paradigm of fault tolerance, as well as how to use fault injection to test how well our application tolerates systemic outages. Using different experiments, we’ve seen how chaos engineering can be used to enable an additional layer of testing, giving us insights into areas of our code that may not handle unexpected problems very well.
As we look forward to Chapter 10, Modern Design Patterns for Scalability, the output of these experiments will help us to choose patterns that make sense for our application and the potential traffic it may generate.