All blogs / Distributed systems / cloud
Marc Brooker's Blog
Distributed systems / cloudDatabasesPerformance / optimizationAI / MLEngineering management / careers
- Posts
- 167 from 15 Dec 2008 to 23 Oct 2026
- Posting
- monthly (23 in the last year)
- Kind
- personal blog
- Feed
- https://brooker.co.za/blog/atom.xml
2026 18
- Animations for System Builders: Metastability and Lost Writes
- Strands Decider: Why Not an Encoder?
- Small Decisions: Engineering a Leading Model
- Lorenz and Little: How Much Does Your Tail Cost?
- Aurora DSQL: Scalable, Multi-Region OLTP
- Meet Alice. Alice is impatient.
- Is this blog written by AI?
- Agentic software development hypothesis
- What's Easy Now? What's Hard Now?
- It's time to be right.
- Spec Driven Development isn't Waterfall
- What about juniors?
- My heuristics are wrong. What now?
- Music To Build Agents By
- SFQ: Simple, Stateless, Stochastic Fairness
- You Are Here
- Pass@k is Mostly Bunk
- Agent Safety is a Box
2025 18
- On the success of 'natural language programming'
- What Does a Database for SSDs Look Like?
- What Now? Handling Errors in Large Systems
- Why Strong Consistency?
- DSQL: Simplifying Architectures
- Fixing UUIDv7 (for database use-cases)
- Is Systems Research Really Just About Making Numbers Bigger?
- Locality, and Temporal-Spatial Hypothesis
- Seven Years of Firecracker
- Dynamo, DynamoDB, and Aurora DSQL
- LLMs as Parts of Systems
- Career advice, or something like it
- Systems Fun at HotOS
- Good Performance for Bad Days
- Decomposing Aurora DSQL
- One or Two? How Many Queues?
- What Fekete's Anomaly Can Teach Us About Isolation
- Versioning versus Coordination
2024 19
- Snapshot Isolation vs Serializability
- DSQL Vignette: Wait! Isn't That Impossible?
- DSQL Vignette: Transactions and Durability
- DSQL Vignette: Reads and Compute
- DSQL Vignette: Aurora DSQL, and A Personal Story
- Ten Years of AWS Lambda
- Garbage Collection and Metastability
- Resource Management in Aurora Serverless
- Let's Consign CAP to the Cabinet of Curiosities
- Not Just Scale
- It's always TCP_NODELAY. Every damn time.
- MemoryDB: Speed, Durability, and Composition.
- Formal Methods: Just Good Engineering Practice?
- Finding Needles in a Haystack with Best-of-K
- The Builder's Guide to Better Mousetraps
- Better Benchmarks Through Graphs
- How Do You Spend Your Time?
- Pat's Big Deal, and Transaction Coordination
- What is Scalability Anyway?
2023 18
- Why Aren't We SIEVE-ing?
- It's About Time!
- Optimism vs Pessimism in Distributed Systems
- Writing For Somebody
- Exponential Value at Linear Cost
- On The Acoustics of Cocktail Parties
- Invariants: A Better Debugger?
- My Favorite Bits of OSDI/ATC'23
- Bélády's Anomaly Doesn't Happen Often
- What is a container?
- Container Loading in AWS Lambda
- Open and Closed, Omission and Collapse
- The Four Hobbies, and Apparent Expertise
- Surprising Scalability of Multitenancy
- False Sharing versus Perfect Placement
- Hot Keys, Scalability, and the Zipf Distribution
- NoSQL: The Baby and the Bathwater
- Erasure Coding versus Tail Latency
2022 17
- Under My Thumb: Insight Behind the Rules
- Lambda Snapstart, and snapshots as a tool for system builders
- Amazon's Distributed Computing Manifesto
- Writing Is Magic
- Give Your Tail a Nudge
- Atomic Commitment: The Unscalability Protocol
- Histogram vs eCDF
- What is Backoff For?
- Getting into formal specification, and getting my team into it too
- The DynamoDB paper
- Formal Methods Only Solve Half My Problems
- What is a simple system?
- Simple Simulations for System Builders
- Fixing retries with token buckets and circuit breakers
- Will circuit breakers solve my problems?
- Software Deployment, Speed, and Safety
- DynamoDB's Best Feature: Predictability
2021 12
- The Bug in Paxos Made Simple
- Serial, Parallel, and Quorum Latencies
- Caches, Modes, and Unstable Systems
- My Proposal for Arecibo: Drones
- Latency Sneaks Up On You
- Metastability and Distributed Systems
- Tail Latency Might Matter More Than You Think
- Redundant against what?
- What You Can Learn From Old Hard Drive Adverts
- Incident Response Isn't Enough
- The Fundamental Mechanism of Scaling
- Quorum Availability
2020 12
- Getting Big Things Done
- Consensus is Harder Than It Looks
- Focus on the Good Parts
- Surprising Economics of Load-Balanced Systems
- A Story About a Fish
- Code Only Says What it Does
- Some Virtualization Papers Worth Reading
- Reading Research: A Guide for Software Engineers
- Two Years With Rust
- Firecracker: Lightweight Virtualization for Serverless Applications
- Physalia: Millions of Tiny Databases
- Why do we need distributed systems?
2019 6
2018 3
2017 1
2016 1
2015 10
- Heuristic Traps for Systems Operators
- Is there a CAP theorem for Durability?
- CALISDO: Threat Modeling for Distributed Designs
- Sodium Carbonate, and Ramenized Pasta
- The Zero, One, Infinity Disease
- How Amazon Web Services Uses Formal Methods
- Jitter: Making Things Better With Randomness
- Electoral Trouble in Sybilania
- Does Bitcoin Solve Byzantine Consensus?
- A Quiet Defense of Patterns
2014 17
- Make Your Program Slower With Threads
- Two Farmers and Common Knowledge
- Exactly-Once Delivery May Not Be What You Want
- Ice Cream and Distributed Systems
- Harvest and Yield: Not A Natural Cure for Tradeoff Confusion
- The Essential Barbara Liskov
- The Space Between Theory and Practice in Distributed Systems
- Use of Formal Methods at Amazon Web Services
- CAP and PACELC: Thinking More Clearly About Consistency
- Two traps in iostat: %util and svctm
- The Operations Gradient: Improving Safety in Complex Systems
- Viewstamped Replication: The Less-Famous Consensus Protocol
- The Essential Nancy Lynch
- Failure Detectors, and Non-Blocking Atomic Commit
- The Essential Leslie Lamport
- Snark, Chord, and Trust in Algorithms
- Distributed Consensus: Beating Impossibility with Probability One