SPECIAL EDITION
11 Reasons Why YouTube Was Able to Support 100 Million Video Views a Day With Only 9 Engineers.
1/ Magic Flywheel
They took a scientific approach to scalability: collect and analyze system data.
2/ Boring Tech Stack
They kept their tech stack simple and used proven technologies.
3/ Keep It Simple
They considered software architecture to be the core of scalability. They didn’t follow buzzwords to scale. But kept the architecture simple.
4/ Choose Your Battles
They outsourced their problems:
- Put the popular videos on a CDN
- Put thumbnails in Google BigTable
5/ Pillars of Scalability
They relied on 3 pillars of scalability:
- Stateless
- Replication
- Partitioning
6/ Solid Engineering Team
They kept the team size small with only 9 engineers. And their team was great at cross-disciplinary skills.
7/ Don’t Repeat Yourself
They used a multi-level cache to prevent repeating expensive operations. Also it allowed them to scale reads.
8/ Rank Your Stuff
They ranked video-watch traffic over everything else. So, they kept a dedicated cluster of resources for video-watch traffic. It provided high availability.
9/ Prevent the Thundering Herd
They added jitter to prevent the thundering herd problem. For example, they added a jitter to the cache expiry of a popular video.
10/ Play the Long Game
They focused on macro-level of things: algorithms, and scalability. They traded off efficiency for scalability. For example, they chose Python over C.
11/ Adaptive Evolution
They tweaked the system to meet their requirements. They didn’t waste time writing code to restrict people.
Instead adopted good engineering practices - coding conventions to improve their code structure.
Read Now: