BOOK DEEP-READ · CHAOS ENGINEERING · CH 5

Google DiRT: Disaster Recovery Testing

Chaos Engineering: System Resiliency in Practice · Ch 5 · Jason Cahoon (Google) · 2020

中文 →

What is this chapter about?

In the previous chapter, Slack wrote a script and rehearsed one old system. This chapter swaps the stage for an entire company — it is about the company-wide drill Google runs internally, called DiRT.

The surprising part: machines are not the only thing being broken. Documents, permissions, communication channels and people are all on the list too.

An analogy: a fire drill isn't about the extinguisher

A building runs a fire drill. Everyone assumes the point is whether the extinguishers are charged — but somebody inspects those every year, and they're usually fine.

What actually traps people on the real day is different: someone piled boxes against the fire door; the person who blows the whistle is on holiday and nobody knows who to follow; the evacuation map is posted on the floor that's burning.

Nobody inspects any of that, because none of it looks like equipment and none of it is on a checklist. That's exactly what DiRT rehearses.

Why the old world was hard

Large companies usually do redundancy well at the machine level: two or three data centres, replicated data, traffic that can be shifted. So a comfortable conclusion settles in: we'd survive.

That conclusion has never been tested end to end. What actually stalls a real recovery is: the only person who really knows how to do the failover is on holiday, and his method was never written down; the emergency runbook lives on the intranet, and the intranet went down with everything else; everyone is waiting for someone with the authority to say go.

None of these is a technical defect. They're all steps nobody ever tested. Machine backups have an owner; backups for people and processes have none.

The core intuition: three things

What it buys you / how to choose

The payoff is an honest list: you finally know where your recovery breaks, and most of the breaks aren't in the machines. The cheapest tier costs almost nothing — a table, a facilitator, and one sentence: "go find that runbook right now" — a small team can run it today. One honest cost: a company-wide exercise is enormously expensive to coordinate, happens a few times a year at most, and covers only a handful of failure modes.

One line to remember

Your machines will probably hold; your processes, your documents and the operations only one person knows how to do probably won't — so a drill has to break people and paper along with the servers, under one rule agreed in advance: a real incident stops everything.

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