Book Deep Read · Chaos Engineering · Chapter 12

The Experiment Selection Problem (and a Solution)

Chaos Engineering: System Resiliency in Practice · Ch 12 · The Experiment Selection Problem (and a Solution) · 2020

中文 →

What is this chapter about?

When you stream a video, a hundred small programs pass the work along behind the scenes: one checks who you are, one picks recommendations, one finds the video file. Chaos engineering means breaking some of them on purpose to see whether the whole still holds up.

Here is the catch: which ones do you break? There are a hundred ways to break one, nearly five thousand ways to break two at once, and over a hundred thousand ways to break three. You can only try one at a time, and a bad pick is a wasted try. This chapter is about deciding what to try first.

A strange idea first

To find a bridge's weakest point, instinct says watch it fail. This chapter says the opposite: first look closely at how it stands up on an ordinary day.

Once you know which pillars actually carried the load this time, you know that kicking an idle pillar teaches you nothing. Kick the ones that are carrying weight and have no stand-in.

Why the old ways struggle

How it works: follow the credit list

Every time a request succeeds, have the system keep a "credit list": who helped this time, and who was standing by as whose backup.

It is like a detective checking alibis: first understand how each suspect could have pulled it off, then take those stories apart one by one.

What it buys you

The number of tries drops from astronomical to a short list, every try has a reason, and the veteran's instinct becomes something a machine can compute.

One honest cost: the system has to record clearly who helped, and wherever that record is incomplete, this method misses things too.

Remember it in one line

Don't kick at random and don't rely only on veterans: see how the system succeeds, then try only the smallest groups that could make it fail. Every try either catches a bug or reveals a backup you never knew about.

Want the combinatorics, the lineage graph, the solver loop and how Netflix ran it? → Switch to the deep read