Ryan Peterman
Uncached traffic spikes lock backends into self-sustaining metastable failure loops, driving what Marc Brooker estimates to be a majority of catastrophic industry outages.
AI-assisted summary of AWS Distinguished Eng: Why Caching Is Bad System Design | Marc Brooker — original source. Check the original for full context.
Source published:
Key ideas
- Traditional distributed caching introduces a binary modality between warm and cold states that frequently triggers self-sustaining metastable failures. (0:00)
- AWS Distinguished Engineer Marc Brooker estimates that metastable failures serve as an underlying cause in a majority of the industry's largest postmortems. (4:18)
- Engineers should favor complete caches, proactive pre-warming, local in-memory materialized views, and scalable datastores like Amazon DynamoDB and Aurora DSQL over ad-hoc distributed caching layers. (2:25)
- Recovering from metastable failure states often requires drastic, high-risk interventions such as taking entire service fleets offline for a cold reboot. (4:18)
Detailed notes
## Background Published on YouTube by Ryan Peterman on October 16, 2026, this clip features an interview with AWS Distinguished Engineer Marc Brooker. According to the description, the discussion draws from technical insights across more than 3,000 cloud system postmortems to examine why default caching patterns can result in hazardous system design.
## TL;DR While caching is widely treated as a universal reflex in system design, Marc Brooker explains that distributed caches introduce a severe operational modality between warm and cold states. When uncached traffic hits an unscaled backend, systems frequently descend into self-sustaining metastable failures where resource contention and network saturation prevent the cache from ever repopulating. To mitigate this risk, Brooker advocates for complete caches, proactive replica warming, local materialized views, or relying directly on horizontally scalable datastores like DynamoDB and Aurora DSQL. Although individual developers may rarely experience them in daily work, metastable failures remain the underlying cause behind a majority of the tech industry's most catastrophic and prolonged outages.
## Atmosphere & style The conversation carries a measured, deeply technical, and contrarian tone that dismantles standard software engineering dogma with veteran authority. Peterman plays the role of an engaged interlocutor challenging textbook interview reflexes, giving Brooker room to articulate nuanced distributed systems theory in accessible, vivid terms. Listening to the exchange feels like sitting in on a high-level postmortem post-analysis, balancing intellectual curiosity with the grim operational reality of having to reboot entire server fleets during catastrophic outages.
## Bulletin - [00:00](https://www.youtube.com/watch?v=LDUPPlb8JJI&t=0s) Traditional distributed caching introduces a binary modality between warm and cold states that frequently triggers self-sustaining metastable failures. - [04:18](https://www.youtube.com/watch?v=LDUPPlb8JJI&t=258s) AWS Distinguished Engineer Marc Brooker estimates that metastable failures serve as an underlying cause in a majority of the industry's largest postmortems. - [02:25](https://www.youtube.com/watch?v=LDUPPlb8JJI&t=145s) Engineers should favor complete caches, proactive pre-warming, local in-memory materialized views, and scalable datastores like Amazon DynamoDB and Aurora DSQL over ad-hoc distributed caching layers. - [04:18](https://www.youtube.com/watch?v=LDUPPlb8JJI&t=258s) Recovering from metastable failure states often requires drastic, high-risk interventions such as taking entire service fleets offline for a cold reboot.
## Key takeaways - [00:00](https://www.youtube.com/watch?v=LDUPPlb8JJI&t=0s) In standard system design prep and discussions, engineers almost universally default to adding a cache to solve scaling problems. - [00:00](https://www.youtube.com/watch?v=LDUPPlb8JJI&t=0s) Caching delivers theoretical performance gains through spatial and temporal locality, but introduces severe operational risks in distributed architectures. - [00:00](https://www.youtube.com/watch?v=LDUPPlb8JJI&t=0s) Distributed caches create a hazardous two-state modality: a healthy warm state, and a degraded cold or corrupted state where underlying backends cannot absorb full traffic. - [00:00](https://www.youtube.com/watch?v=LDUPPlb8JJI&t=0s) A cold or corrupted cache can trigger a metastable failure, where backend resource contention and network saturation permanently prevent the cache from refilling. - [02:25](https://www.youtube.com/watch?v=LDUPPlb8JJI&t=145s) Amazon Aurora DSQL avoids cache miss storms by implementing a complete cache tier that contains every single row in the database. - [02:25](https://www.youtube.com/watch?v=LDUPPlb8JJI&t=145s) Amazon Aurora sidesteps failover traffic shock by continuously streaming cache updates from the primary leader to standby replicas ahead of time. - [02:25](https://www.youtube.com/watch?v=LDUPPlb8JJI&t=145s) For datasets that change infrequently, copying the entire dataset into a local host's memory as a materialized view is preferable to maintaining a distributed cache. - [02:25](https://www.youtube.com/watch?v=LDUPPlb8JJI&t=145s) Engineering teams should push horizontally scalable databases like Amazon DynamoDB to meet latency requirements natively rather than papering over performance gaps with caching. - [04:18](https://www.youtube.com/watch?v=LDUPPlb8JJI&t=258s) An individual engineering team may work for years without seeing a metastable failure, creating a false sense of safety around fragile cache architectures. - [04:18](https://www.youtube.com/watch?v=LDUPPlb8JJI&t=258s) Despite their day-to-day rarity, metastable failures represent an underlying mechanism in a majority of the tech industry's most catastrophic outages. - [04:18](https://www.youtube.com/watch?v=LDUPPlb8JJI&t=258s) Outages driven by metastability exhibit significantly longer mean time to recover (MTTR) compared to standard transient service failures. - [04:18](https://www.youtube.com/watch?v=LDUPPlb8JJI&t=258s) Breaking out of a metastable failure state often leaves operators with no viable option other than risky full-fleet cold reboots.
## Detailed walkthrough ### [00:00](https://www.youtube.com/watch?v=LDUPPlb8JJI&t=0s) The Modality Trap and Metastable Failures in Distributed Caching
Ryan Peterman opens by noting that Marc Brooker has worked at AWS for nearly two decades building distributed systems. Peterman observes that in standard system design discussions and interview prep, the universal reflex is almost invariably to add a cache: “I almost hear almost 100% of the time people will say, 'Just throw a cache on it.' Or you have a system design, you say, 'How do you make it better? Let's put a cache here. Let's put a cache there.'” Peterman references a tweet by Brooker arguing that caching can actually be bad system design despite being promoted as industry best practice, asking him to unpack that stance.
Brooker acknowledges the fundamental appeal of caching: it leverages core computer science principles like temporal and spatial locality to make systems dramatically faster and scale better. However, Brooker explains that in distributed architectures, caches introduce a dangerous binary modality. In state one, the cache is populated with the correct data in time and space, leaving the system performing smoothly. In state two, the cache is either cold, empty, or poisoned with the wrong data. Because the underlying backend is rarely provisioned or scaled to absorb the full brunt of uncached traffic, the system slows to a crawl or falls over completely, leaving customers stranded.
Worse still, this failure state is frequently self-sustaining. Brooker frames this as a classic metastable failure: the system abruptly shifts from a healthy operating state into a degraded state, and once in that degraded state, it remains permanently stuck there because it lacks the internal capacity to recover on its own. The incoming tidal wave of traffic overwhelms the database with contention or saturates network links, which in turn prevents the cache from repopulating with the data needed to escape the crash. As Brooker describes this trap: “And this is this kind of idea of meta-stable failures, where the system has has switched from state one to state two, and in state two it's still stable, right? Like it's still it's down, but it's not going to come back up under its own energy because, for example, all of this traffic is causing a huge amount of contention in my database or is saturating the network and so I can't even refill the cache.”
```mermaid flowchart TD accTitle: Metastable Failure Cycle accDescr: Diagram showing how a warm cache degrades into an unrecoverable metastable failure state.
subgraph HealthyState["Stable Healthy Mode"] Warm["Warm Cache"] -->|"Absorbs bulk traffic"| Fast["System Fast & Scaled"] end
subgraph MetastableState["Metastable Failure Mode"] Cold["Cold / Empty Cache"] -->|"100% Uncached Traffic"| BackEnd["Backend Saturated"] BackEnd -->|"Database Contention & Network Saturation"| Blocked["Refill Blocked"] Blocked -->|"Cannot Repopulate"| Cold end
HealthyState -.->|"Cache eviction or cold start"| MetastableState ```
- **Temporal and spatial locality:** The theoretical justification for caching, optimizing retrieval by assuming data accessed recently or nearby will be needed again. - **System modality:** The operational gap between a warm state (where traffic hits memory) and an empty or invalidated state (where backend services absorb full client volume). - **Metastable failure dynamic:** A degraded equilibrium where backend load and resource contention physically prevent the cache from warming back up, making recovery impossible without external intervention.
---
[02:25](https://www.youtube.com/watch?v=LDUPPlb8JJI&t=145s) Architectural Alternatives: Complete Caches, Proactive Warming, and Scalable Datastores
To circumvent the hazards of cache modality, Brooker points to specific architectural strategies that eliminate the cold-cache edge case entirely. Within AWS, he highlights Amazon Aurora DSQL, where the storage tier acts conceptually like a cache, but with one critical distinction: it is a complete cache holding every single row in the database. Because the cache is exhaustive, the system never encounters an empty or incomplete state from which it must desperately recover under load. Brooker also points to classical relational database architectures such as Amazon Aurora, where the primary leader actively and continuously feeds cache updates to prospective failover targets. When an unexpected failover occurs, the replica’s cache is already pre-warmed, completely sidestepping sudden traffic shock.
Beyond database engines, Brooker notes that while he would not enforce an absolute rule for every single scenario, he actively encourages teams around him to avoid conventional caching layers whenever possible. One preferred alternative is using complete materialized views for read paths, particularly when the underlying dataset changes infrequently. If an internal dataset updates only once a week, engineers should simply copy the entire dataset down to the local host and hold it directly in memory rather than introducing an external distributed cache.
Another primary recommendation is relying directly on horizontally scalable database technologies like Amazon Aurora DSQL or Amazon DynamoDB. Brooker stresses that engineering teams should push database providers to meet strict scale and latency requirements natively rather than papering over performance gaps with an ad-hoc cache. Summarizing the trade-off, Brooker emphasizes: “So, caching isn't a bad pattern, but it is a pattern with some significant downsides that are, you know, really, uh, best avoided.”
- **Complete caches (Aurora DSQL):** Eliminates cache miss recovery storms by ensuring the caching tier holds 100% of the database rows. - **Proactive replica pre-warming (Aurora):** Primary instances stream cache-worthy data to failover replicas ahead of time to ensure zero cache warmup delay upon failover. - **Local materialized views:** For slow-moving reference data (such as weekly updates), pulling entire copies into application memory removes distributed network dependencies entirely. - **Holding datastores accountable:** Relying on elastic storage backends (e.g., DynamoDB) to handle real scale directly instead of masking performance ceilings with front-facing caches.
---
[04:18](https://www.youtube.com/watch?v=LDUPPlb8JJI&t=258s) The Frequency Paradox and Impact of Metastable Failures Across the Industry
Peterman asks Brooker how often metastable failures actually happen in real-world systems. Brooker explains that there is a curious paradox around how frequently they occur. On an ordinary team, an engineer might run production systems for several years without ever encountering a metastable failure firsthand. However, when looking across the broader tech industry and examining its most catastrophic outages, metastable dynamics appear as a root driver with striking regularity.
Brooker highlights the gravity of these incidents: “But if you look across the biggest, most impactful, uh, you know, system postmortems across the industry, I would say that these kinds of metastable failures have been an underlying cause in probably a majority of them.” Because of this disproportionate impact, Brooker argues it is critical for the engineering community to study and understand metastability deeply.
When a metastable failure strikes, it does not behave like a standard transient bug. These failures represent massive, widespread outages with significantly longer times to recover (MTTR) and complex remediation paths. Systems stuck in a metastable trap cannot simply bleed off traffic or wait for background tasks to catch up; resolving the deadlock frequently forces operators into high-risk, painful recovery procedures like taking the entire fleet offline and rebooting it all at once to break the contention cycle. For this reason, Brooker describes metastable failures as both exceptionally rare in routine daily operations, yet simultaneously common among the most devastating incidents the industry faces.
- **Postmortem prevalence:** Metastable failures serve as the underlying failure mechanism in what Brooker estimates to be a majority of high-severity industry postmortems. - **Prolonged recovery times:** Outages triggered by cache collapses and metastable states take far longer to mitigate than ordinary transient service degradations. - **Severe mitigation steps:** Operators often have no alternative other than full cold reboots (“turning it off and turning it back on again”), which carries immense operational risk during major incidents.
## Notable quotes > [02:25](https://www.youtube.com/watch?v=LDUPPlb8JJI&t=145s) Caching isn't a bad pattern, but it is a pattern with some significant downsides that are, you know, really, uh, best avoided. — Marc Brooker
> [04:18](https://www.youtube.com/watch?v=LDUPPlb8JJI&t=258s) If you look across the biggest, most impactful, uh, you know, system postmortems across the industry, I would say that these kinds of metastable failures have been an underlying cause in probably a majority of them. — Marc Brooker
## Mentioned AWS, Marc Brooker, Ryan Peterman, Amazon Aurora, Amazon Aurora DSQL, Amazon DynamoDB
## Video description In this episode, I talked to Marc Brooker, a distinguished engineer at AWS who started there as a new grad and rose through the ranks. We discussed technical learnings from 3,000+ cloud system postmortems, how software engineering is changing with AI, how to find impactful problems and much more.
Watch the full conversation: https://www.youtube.com/watch?v=u3GjIXP9N0s
[Source](https://www.youtube.com/watch?v=LDUPPlb8JJI)