System Design Problems
Design Netflix
Netflix serves 250M+ subscribers across 190+ countries with 15,000+ titles. This design covers microservice architecture, content delivery with Open Connect CDN, and ML-powered personalization.
- Scale â 250M+ subscribers, 1B+ hours watched/month
- CDN â Open Connect appliances in 6000+ ISPs
- Personalization â Saves $1B/year in reduced churn
Netflix is a masterclass in building a resilient microservice ecosystem with content delivery at planetary scale.
Requirements Clarification
Functional Requirements
- Browse and search content catalog
- Stream videos with adaptive quality
- Personalized recommendations
- Multiple profiles per account
- Download for offline viewing
- Parental controls
- Multiple device support
Non-Functional Requirements
- Availability: 99.99% uptime
- Latency: Video starts in < 2 seconds
- Throughput: 15% of global internet bandwidth
- Consistency: Eventual for recommendations
- Scale: 250M subscribers, 1B hours/month
Back-of-the-Envelope Estimation
High-Level Architecture
Open Connect CDN
Recommendation System
Chaos Engineering
Data Model
Practice Exercises
- CDN Design: How does Netflix decide which content to pre-position on each OCA?
- Recommendations: How would you handle the cold-start problem for new users?
- Resilience: Design a graceful degradation strategy when the recommendation service is down.
- Streaming: Compare Netflix's Open Connect with YouTube's multi-CDN approach.
What to Learn Next
-> Design YouTube Video streaming and transcoding pipelines.
-> Design Uber Real-time location and dispatch systems.
-> Circuit Breaker Preventing cascade failures.
-> Sidecar Pattern Service mesh and sidecar proxies.
-> Saga Pattern Distributed transactions.
-> Back Pressure Load management in streaming systems.