Back to problems
YouTube System Design (Upload Pipeline & Scale)
Design a video sharing platform like YouTube where users can upload, watch, like, comment on, and share videos. The platform should support video streaming to millions of users worldwide.
Constraints
Functional
Upload videos, watch with streaming, search (title/description/tags), channels and subscriptions, comments and likes, playlists, recommendations from watch history, optional live streaming
Non-functional
2B users, 500M DAU, global low latency, multiple resolutions (360p–4K), 99.9% playback uptime, petabytes of video
Scale
2B users, 500M DAU; 500 hours uploaded/min → ~21.6 PB/month; 5B views/day, peak ~60K/s; very read-heavy; ~5 Mbps avg, 300 Gbps peak
Stages ahead
1Requirement Analysis
2API Design
3High-Level Design
4HLD Extensions
5Trade-offs