The art of challenging assumptions
summary
WhatsApp runs 16,000 Erlang nodes and expands a distribution cluster to 3,000+ machines to test limits, finding CPU/network barely change but service publish latency breaks health. Tracing (recon_trace, redbug, sequential traces), benchmarks and automated tests pinpoint a slow registry and an API misuse: an insecure random twice as slow as the secure version. The team builds scalable process groups (overlay service discovery) and runs prototypes in shadow mode, proving it scales to thousands of nodes before cutover.
AI-written summary · about
chapters (19)
- 0:00Intro
- 1:27Rise of over-the-top messaging
- 3:47Based on actual events
- 5:29Third time's a charm
- 6:49Reality check
- 7:28Identifying assumptions
- 10:14Categorising assumptions
- 12:11Evaluating assumptions
- 12:32Erlang Distribution cluster
- 13:45WhatsApp Meta-Cluster
- 15:55Service publishing & discovery
- 23:45Evidence collection
- 30:51Benchmarking
- 33:17Instruments: root cause analysis
- 35:47Discoverability
- 36:51Critical Thinking Practice
- 37:517 flags
- 41:52Post-completion error
- 43:01Questions?
related talks
33mHigh availability with Elixir and Erlang
41mWhat NOT to do when building large scale systems in Erlang
42mThe world runs on bad software
38mPerformance in the Wild
41mHopelessness and Confidence in Distributed Systems Design
57mMaximising Side Effects When Adopting Functional Programming
01h 00mKeynote: Over a Century of Programming
01h 01mArchitecture Decisions: A Case Study -
