BOOKS DEEP-READ · CHAOS ENGINEERING · CH 2

Navigating Complex Systems

Chaos Engineering: System Resiliency in Practice · Ch 2 · Casey Rosenthal & Nora Jones · 2020

中文 →

What is this chapter about?

Chapter 1 said: modern production systems are too complex for anyone to hold in their head, so failure cannot be reasoned out in advance. This chapter asks the more uncomfortable follow-up — if nobody wants an outage, why does the system still walk, step by step, toward the day it has one? The answer is not "somebody got lazy." It is worse than that: the forces pushing it toward danger every single day are all perfectly legitimate.

An analogy: driving a long trip

You are driving across the country. Three invisible cords are tugging at you:

Over a day you settle somewhere comfortable: not burning too much fuel, not exhausting yourself, not crashing. Here is the problem. Pull the first two cords too far and it hurts immediately — you watch the fuel gauge drop, you feel yourself getting tired. The safety cord is different: you can speed and tailgate a hundred times with no consequence, and the hundred-and-first time you crash. It says nothing at all until the instant you cross it, and then it hits you all at once.

So the system drifts toward danger every day

A team works the same way. Saving money (switching off standby machines) gets you praised. Doing less fussy work (let's skip the drill this quarter) makes everyone's week easier. And "what you are doing is already dangerous" is told to you by nobody — because it did not blow up the last hundred times. The system does not suddenly become dangerous one day; it moves a little that way every day, and each step looks fine. The cruelest part: when you finally do get feedback from the safety cord, that feedback's name is "the outage."

The mechanism, intuitively: give safety a sense of pain

To stop drifting past it, you have to make the safety cord speak up on ordinary days. The way to do that is to deliberately cause a small failure inside a controlled boundary and watch how the system actually responds. It is the equivalent of practising an emergency stop in an empty lot — learning how far you are from losing control before you learn it on the motorway. That is the whole job of chaos engineering in this model: it is not there to find bugs, it is there to shout on behalf of the safety boundary.

The other half: the only thing you control is "can you take it back"

The chapter also counts where complexity actually comes from — four places: how many different situations the system can be in, how many ties there are between its parts, how much sits outside your control, and whether you can undo things after they go wrong. The first three are what the business is buying: one more feature means a pile more situations, one more partner means a pile more ties, and users and markets never did take your orders. That leaves exactly one that can be an engineering goal: how fast you get back to how things were. It is why the industry's big money goes into "one-click undo, try it on a tiny slice of people first, be able to switch it off any time" rather than into "we promise not to make a mistake this time." One honest cost: those abilities are not free either, and they only shrink the damage once you are wrong — they do not stop you being wrong.

One sentence to remember

A system does not turn dangerous one day; a few entirely legitimate forces nudge it that way daily — and of its three boundaries, only safety never warns you in advance. Chaos engineering is how you give it a voice.

Want the mechanisms, the numbers and the diagrams? → Switch to the deep read