Solving Imaginary Scaling Issues, at Scale
summary
List of concrete failures and fixes: 22 concrete imaginary scaling problems with examples like putting a Node proxy in front of COBOL, slapping Docker on a bad architecture, rewriting in Go or Erlang for the wrong reason, using BitTorrent or blockchain for websites, polling 300×/s instead of streaming, and expecting caching or Protobufs to mask O(n^3) work. Advice: measure bottlenecks (CPU vs disk I/O), prefer smaller responses to rewriting, and note NPM grows from 1M to 455 million downloads without a single giant rewrite — 22 imaginary scaling problems handled pragmatically.
AI-written summary · about
chapters (25)
- 0:00Imaginary scaling problems
- 1:01Databases with cool names
- 3:52Minifying the order N cubed to-do lists
- 5:38Node.js proxy before COBOL
- 7:03BitTorrent for everything
- 8:27Docker containers
- 9:5335 microservices
- 11:17Deleting data checks
- 12:22Blockchain for everything
- 13:27Protobuf polling 300/s
- 14:31Cache on everything
- 15:57C APIs with large JSON
- 17:20Go for performance
- 18:44Optimizing pings with ads
- 20:06Blaming the last quitter
- 20:47Erlang for scaling
- 22:10Sharding before indexes
- 23:34SQL replaced by NoSQL
- 24:57Type checking for scaling
- 26:21Bloom filters for everything
- 27:24High-core machines with I/O limits
- 28:27New language like an old one
- 29:51Using machine learning for everything
- 31:15Solving scaling problems
- 32:42Q&A








