BOOK DEEP READ · CHAOS ENGINEERING · CH 9

Creating Foresight

Chaos Engineering: System Resiliency in Practice · Ch 9 · Creating Foresight · 2020

中文 →

What is this chapter about?

You tap "order" in a food-delivery app and a few seconds later it says "order placed". Behind that are dozens of programs calling each other, and each engineer who looks after them knows only a small piece. This chapter asks: how do you find out, before anything breaks, that the system everyone imagines is not the system that actually exists?

Earlier chapters described chaos engineering: breaking something on purpose to see whether the system copes. This one says that the most valuable part is often not the moment you break it, but the hour you spend talking before you touch anything.

An analogy: checking the route before a road trip

A family is about to drive somewhere far. Dad says "highway, three hours." Mum says "that stretch of highway is closed for roadworks, we'll have to go round." The kid asks "what if we run out of petrol halfway?" Nobody has an answer.

The car hasn't moved, and already two things have come out: two people have different maps in their heads, and there's a question nobody had thought about. Finding that out at home is far cheaper than finding it out halfway.

Why the old way was hard

Engineering teams used to learn mostly from looking back after an incident. But once you know how things ended, everything looks like it "should have been obvious", so the meeting drifts into finding out who got it wrong. And the price has already been paid: users were already affected.

The other approach is to break things straight away and see what happens. But if nobody said beforehand what they expected, you can't tell whether the result is good or bad.

How it works: a conversation before you act

What it buys you / how to choose

Many problems surface before you break anything. You might discover that an alarm goes to nobody at all, and you can simply fix that without breaking anything. The team also slowly shifts from blaming people after things go wrong to thinking together before they do.

One honest cost: the conversation depends heavily on the person leading it. Done badly, it becomes a box-ticking exercise, or one senior person talks while everyone else listens.

Remember it in one line

Chaos engineering isn't only about breaking things: before you act, put everyone's picture of the system on the table and compare them. The disagreements and the questions nobody can answer are where the next incident is most likely hiding.

Want the details of running the design session, what to ask and the trade-offs? → Switch to Deep