ב-2012, WhatsApp טיפלה ב-10 מיליארד הודעות ביום עם צוות של 32 מהנדסים בלבד. עלות התשתית הכוללת הייתה פחות מ-5 מיליון דולר לשנה. הסוד לא היה טכנולוגיה אקזוטית - זה היה Erlang (שנבנה במקור לתעשיית הטלפוניה וה-concurrency שלה) ופשטות ברוטלית: אין read receipts בשנתיים הראשונות, אין group chat מעל 100 users, ובהתחלה - אין תמונות. Chat systems הן deceptively hard: real-time delivery, offline message queuing, message ordering guarantees, ו-read receipts כולם מתקשרים בדרכים שאינן אינטואיטיביות ומתפרקות בקנה מידה גדול.
מה שמרתק ב-WhatsApp הוא ה-business decision מאחורי ה-technical simplicity. Jan Koum ו-Brian Acton ידעו ש-scaling ב-Erlang על FreeBSD נותן 1-2 מיליון concurrent connections ל-server - מספר ש-Ruby on Rails או Node.js לא קרובים אליו. BEAM VM (ה-runtime של Erlang/Elixir) תוכנן בשנות 80 ב-Ericsson ל-handle telecommunications switches שצריכות לנהל מיליוני calls בו-זמנית עם guaranteed uptime. Chat application הוא telecommunications problem. Erlang הוא telecommunications solution.
ה-32 engineers לא היו אפשריים בכל tech stack. ב-Java servlet stack, אפשר לנהל בערך 10,000-50,000 concurrent WebSocket connections ל-server לפני ש-GB של RAM הופכים ל-bottleneck. ב-Erlang, 1-2 מיליון connections ל-server - כל connection הוא lightweight process של 300-500 bytes RAM. WhatsApp הריצה 2 מיליון connections ל-server ועד 56 servers בסה"כ. זה 112 מיליון concurrent users מ-56 servers. בכל stack אחר, 56 servers לא היו מספיקים לחציון.