Adding Simplicity to Complexity
summary
Claim: modern stacks are layers of complex distributed systems and the right answer is simple abstractions at intentional boundaries. Uses a high-scale time series database (petabytes, trillions of measurements) with lmdb and rocksdb, CRDTs for correctness, and an embedded lua runtime (luagit, libmtov) so code moves from scripting into C++ with almost zero cost. Shows concrete tradeoffs: 50 APIs vs 99.999 availability, 10,000-point queries, and scheduler changes that split jobs by L2 cache / CPU / network instead of by service.
AI-written summary · about
chapters (17)
- 0:00Introduction
- 2:17Software Hardware Boundary
- 5:17Problems with Abstraction
- 8:55Difficult Choices
- 11:11People Abstract Too Soon
- 13:05The Problem with Abstractions
- 16:24Circonus Case Study
- 18:54Event Driven Multithreaded Library
- 21:31Database abstractions
- 24:03Resource boundaries
- 26:12Legacy abstraction model
- 26:41abstractions are required
- 27:09breaking up abstractions
- 29:40building a product for an audience
- 32:04leaky abstractions
- 33:33layer violations
- 34:59QA
related talks
40mAdd Simplicity to Complex Systems
01h 17mWhen Less Is More: Designing & Decoding Complex Distributed Systems
26mThe Power of Simplicity: Crafting Durable Software Systems
01h 02mTools for simplified large scale systems
22mSimplicity: The Key to Software Success
26mThe Dilemma of Simplicity
42mLarge-Scale Architecture: The Unreasonable Effectiveness of Simplicity
29mDeprecating Simplicity
