Book Deep Read · Chaos Engineering · Chapter 14
Chaos Engineering: System Resiliency in Practice · Ch 14 · Open Minds, Open Science, and Open Chaos · 2020
Behind the shopping, video and ride-hailing apps you use every day, there are engineers who break the system on purpose, a little, to find weak spots before real outages do. This chapter asks: should they tell anyone else what they find? The author's answer is blunt: yes — and they should write it up the way scientists publish an experiment.
Inside one company, three teams can fall into the same pothole within three months: each forgot to set "how long to wait before giving up" on a slow service. Every team worked hard, fixed it on its own, and wrote a summary nobody else read. The pothole wasn't hard. What failed was that the news never travelled.
The author borrows science's old rule: a good paper says what you expected, what you did, and what actually happened, so others can redo it and catch your mistakes. Applied to failure drills, that means three things:
A pothole one team spent a week finding can be avoided by another team in five minutes of reading; a conclusion many people have redone is far more trustworthy than one team's word. You don't have to go all the way at once: share cards inside the company first, and talk to the outside world later.
One honest cost: openness takes writing effort, and some details (security holes, for instance) really can't be shared right away.
Fall into each pothole only once: write failure drills as cards others can rerun, and share the results like scientific findings.
Want to see which fields a reproducible experiment card needs, how far to open up, and where the open-source tooling came from? → Switch to Deep
You think chaos engineering's output is "a few bugs fixed"; in fact its most valuable output is knowledge — and knowledge only compounds when it flows and others can reproduce and challenge it. This chapter argues for importing science's norms of openness into chaos engineering: a collaborative mindset, open-source tools, reproducible experiment designs, and shareable results.
Chapter 14 of the book, in Part IV "Business Factors", written by Tammy Bütow, then a principal SRE at Gremlin. Ch13 argued how to show chaos engineering is worth the money; this chapter asks how that value spills beyond a single team. Next comes Ch15's maturity model, whose "adoption" axis is exactly the spreading discussed here.
The previous dozen chapters cover how to run one experiment well. But a mid-sized company may have dozens of teams and hundreds of services, each experimenting. If every team's findings stay in its own weekly report, three kinds of waste appear:
Left unsolved, chaos engineering stays a craft of a few heroic teams, and organizational resilience does not grow with the number of experiments.
The chapter opens with mindset. When a team discovers "our service can't handle a dependency timeout", the first instinct is often to hide it — for fear of looking incompetent, or because it feels like private business. The author contrasts this closed mindset with a collaborative one, which treats every disproved hypothesis as a shared organizational asset and invites other teams to look, ask and poke holes.
This continues the book's recurring "blameless" theme: if exposing weaknesses gets punished, people stop exposing them, and chaos experiments become theatre. Openness requires safety — make sure saying "we were wrong" carries no penalty, and sharing follows.
Chaos engineering has called itself an experimental discipline from the start: define a steady state, form a hypothesis, inject real-world events, try to disprove the hypothesis. The author pushes that self-image one step further — if it is the scientific method, it should accept science's norms of openness: public methods, stated conditions, results others can reproduce and review.
The open science movement argues for publishing methods, data and results for a simple reason: a conclusion only stands once someone has independently redone it; a closed conclusion can be wrong with nobody able to notice. Chaos experiments face exactly the same problem — one run is one sample, and a different time, traffic shape or dependency version can flip the conclusion.
The second layer is tooling. Chaos tools carry a special trust problem: you are letting them break things in production. With a closed-source injector you can't see which network rules it changes, which processes it kills, or whether it leaves debris when it fails; open source makes that behavior auditable. Community contributions also mean each kind of injection (instances, network, containers, cloud APIs) need not be rewritten at every company.
The starting point is concrete: Netflix open-sourced Chaos Monkey in 2012, and injection tools kept appearing as open source after that. Open source also brings the chance to standardize the experiment format — once an experiment is a declarative file, it can be shared, versioned and code-reviewed.
The third layer, and the most actionable part of the chapter: the experiment itself must be written in a shareable form. "We tested a network cut" carries no information; a reproducible description must answer at least these questions:
The top half of the card is the design: hand it to someone and they can rerun it on their system. The most commonly omitted row is environment and versions — the same injection against a different dependency version or at peak hour can give the opposite answer. Without that row, when a rerun disagrees you can't tell whether the system changed or the experiment did.
The bottom half of the card is the result. The author stresses writing results so others can read and use them: what the hypothesis was, whether it was disproved, what was observed, the inferred cause, what was changed, and whether the fix was rechecked. Share the uneventful experiments too — "hypothesis held, all fine" is valuable, because it tells others that path has already been verified.
The audience can widen in stages: the team, then the whole company (a searchable experiment library, regular show-and-tells), then the outside world (engineering blogs, conference talks, open-source experiment templates). Each ring outward adds more people who can find your mistakes, and the conclusion gets harder.
More openness is not automatically better; the trade-off is the gains from reuse and review versus the cost of writing and the risk of exposure.
How far to open up: gains and costs
| Level | Gain | Cost / risk | When |
|---|---|---|---|
| Team only | No extra cost, people speak freely | Knowledge trapped; other teams repeat the potholes | Early days, experiments still unstable |
| Company-wide library | Cross-team reuse; fix a class of bug everywhere at once | Needs a common card format and an owner for the index; depends on blameless culture | The main battlefield for most orgs |
| Open-source tools and templates | Auditable behavior; community adds injection types | Maintenance burden; projects age or get abandoned | Tooling mature and general |
| Public results | Industry-wide peer review; hiring and reputation | May expose architecture and security details; needs review and redaction | Conclusion rechecked, details redactable |
Tooling: open source, commercial, or in-house
| Route | Strength | Cost |
|---|---|---|
| Open source | Auditable code, shareable experiment format, no license fee | You add operations and safety guardrails yourself; community activity varies |
| Commercial platform | Ready to use; abort, permissions and audit usually built in | Cost; experiment format may be vendor-bound and hard to share outside |
| In-house | Fits internal architecture; can inject per request | Most expensive; no outside review, the easiest to become a closed island |
Rule of thumb: start with a company-wide card format and shared library — small investment, biggest reuse payoff; prefer tools with open formats so you can exchange experiments later; save public disclosure for conclusions that are rechecked and redactable.
This looks like a "culture chapter", but in engineering terms it is concrete: experiments as code. Once an experiment is a declarative file it can live in version control, go through code review and be replayed in a pipeline — the precondition for Ch16's continuous verification. Asked in an interview "how would you roll out chaos engineering across an organization?", the strong answer isn't "run more experiments" but "standardize the experiment format, build a shared library, keep postmortems blameless, make conclusions reproducible."
Databases have a benchmark for open science: the Jepsen project (its open-source repository's tagline: "Breaking distributed systems so you don't have to") runs fault-injection tests against distributed databases and publishes both test code and analyses; many vendors have fixed bugs or rewritten consistency claims in their docs as a result — the outside pressure that "reproducible + publicly reviewed" can create. (Ch19 on chaos for databases returns to this style of work.)
Evidence from industry
① The most valuable output of chaos experiments is knowledge, and knowledge compounds only when it flows.
② The cost of closedness: repeated potholes, unreproducible conclusions, reinvented tools.
③ Openness requires blamelessness: if "we were wrong" isn't punished, sharing follows.
④ If chaos engineering claims the scientific method, it should accept science's openness: public methods, reproducible, reviewable.
⑤ Open-source tools make "breaking production" auditable and open the way to a standard experiment format.
⑥ A reproducible card: steady state, hypothesis, magnitude, blast radius, abort condition, environment and versions, result, fix.
⑦ "Environment and versions" is the most-omitted row, and it decides whether a failed rerun can be interpreted.
⑧ Open up in rings: team → company library → open source → public; the main battlefield is inside the company.
⑨ Experiments as code are the precondition for continuous verification (Ch16).