CaseLearn logo
CASELEARN
Education that works
Try free
Home › Case studies › Twitter
TechnologySystem DesignSocial MediaIntermediate2008

Twitter: The Fail Whale — Scaling from 0 to 500M Tweets/Day

How Twitter's iconic 'Fail Whale' became a symbol of scaling challenges — and how they eventually solved them.

The challenge

Twitter launched in 2006 as a simple Ruby on Rails monolith. By 2008, viral moments — Obama's election win, Michael Jackson's death, major sporting events — caused massive traffic spikes. The system would crash, showing users the 'Fail Whale' error page. Twitter was becoming culturally important but technically unreliable. Engineers needed to handle unpredictable 10x traffic spikes.

The strategy

Twitter's engineering team made a controversial decision: rewrite their backend from Ruby on Rails to the JVM (Java Virtual Machine) ecosystem, specifically using Scala. They also moved from a relational database to a distributed cache-heavy architecture. Most critically, they separated the 'fan-out' problem — delivering one tweet to potentially millions of followers — as their central scaling challenge.

Want the full story, outcome and quiz?

Read how Twitter executed it, the results, key lessons and test yourself with a quiz. Free on CaseLearn.

Try the full case free →

Key lessons (preview)

More System Design cases

NetflixChaos Engineering — Breaking Things on PurposeWhatsApp100 Billion Messages a Day with 50 EngineersUberSurge Pricing Algorithm — Economics Meets EngineeringGoogleMapReduce — The Algorithm That Powered the Internet