2023-09-12 ◦ Death by a thousand microservices
Everyone is doing microservices, yet we have a single Django monolith maintained by just a few engineers, and a MySQL instance - what are we doing wrong?”. The answer is almost always “nothing”.
Dropbox, Twitter, Facebook, Instagram, Shopify, Stack Overflow - these companies and others started out as monolithic code bases. Many have a monolith at their core to this day. Stack Overflow makes it a point of pride how little hardware they need to run the massive site. Shopify is still a Rails monolith, leveraging the tried and true Resque to proces billions of tasks.
WhatsApp went supernova with their Erlang monolith and 50 engineers. How?
- WhatsApp consciously keeps the engineering staff small to only about 50 engineers.
- Individual engineering teams are also small, consisting of 1 - 3 engineers and teams are each given a great deal of autonomy.
- In terms of servers, WhatsApp prefers to use a smaller number of servers and vertically scale each server to the highest extent possible.