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