How WhatsApp Scaled
Supporting 50 Billion Messages per day with 32 engineers
-
They maintained product focus through eliminating feature creep and focusing on their core problem: messaging.
-
They had a performance and system availability advantage in Erlang given it's native threading ability and hot-loading capabilities (no server restarts required).
-
They built on top of an open-source RTM server that was written in Erlang
-
They leveraged CI/CD to improve product quality
-
They used diagnonal scaling to manage costs and complexity. They overprovisioned servers to handle sudden spikes and failures
-
They leveraged metrics and load testing in a continuous feedback cycle to identify and eliminate system bottlenecks
-
Kept team size relatively small which reduces the communication overhead