Netflix
Global video streaming platform serving 260M+ subscribers with personalized content delivery, adaptive bitrate streaming, and microservices at massive scale.
260M+
subscribers
~500M hours/day
daily Streaming Hours
~15% of global internet downstream traffic
bandwidth
1,000+ microservices
microservices
~1,200 variants per title
encoding Variants
17,000+ servers in 6,000+ locations
open Connect Servers
Architecture Diagram
Data Flow
Client App → API GatewayBrowse
Client requests homepage. Gateway routes to Content API with auth context.
API Gateway → Content APIFetch Content
Content API assembles personalized rows by calling Recommendation Engine and Catalog DB.
Content API → EVCacheCache Check
Hot data served from EVCache. Cache miss falls through to Catalog DB.
Content API → Recommendation EnginePersonalize
ML models rank content based on viewing history, time of day, device, and A/B test group.
Client App → API GatewayPlay Request
User clicks play. Client sends play request with device capabilities.
API Gateway → Playback ServiceGet Manifest
Playback service generates DASH/HLS manifest with DRM license and optimal CDN URLs.
Client App → Open Connect CDNStream Video
Client fetches video segments from nearest Open Connect appliance. Adaptive bitrate adjusts quality.
Client App → KafkaViewing Events
Client streams viewing telemetry (play, pause, seek, quality changes) to Kafka for analytics.
Encoding Pipeline → Object StoreStore Encoded
New content is transcoded into multiple bitrates/resolutions and stored in S3.
Object Store → Open Connect CDNPre-position
Popular content is pre-positioned to ISP appliances during off-peak hours.
Key Architectural Decisions
- Custom CDN (Open Connect) placed inside ISPs reduces transit costs and latency — 95% of traffic never crosses the internet backbone
- Per-title encoding optimizes bitrate ladders — an animated show needs fewer bits than live action at the same perceptual quality
- Microservices with Zuul gateway enables independent deployment of 1,000+ services by hundreds of teams
- EVCache (memcached-based) chosen over Redis for simplicity at Netflix's specific scale and access patterns
- Chaos engineering (Chaos Monkey) as a first-class practice ensures resilience is tested continuously
Tradeoffs
Strengths
- Open Connect CDN is a massive competitive moat — better quality at lower cost than any third-party CDN
- Per-title encoding delivers optimal quality per bit, reducing bandwidth costs
- Microservices architecture enables Netflix's rapid feature velocity across many teams
- Chaos engineering culture means the system is tested for failure continuously
Weaknesses
- Microservices complexity requires massive investment in platform tooling (service mesh, observability)
- Open Connect requires physical hardware relationships with ISPs globally
- Recommendation system complexity means debugging "why was this recommended" is extremely difficult
- Cold start problem for new users with no viewing history
Interview Drilldown Questions
- How does adaptive bitrate streaming work, and what are the tradeoffs between DASH and HLS?
- How would you design the content recommendation system to handle 260M users?
- What's the strategy for pre-positioning content on CDN nodes?
- How does Netflix handle regional content licensing in its catalog?
- How would you design the A/B testing infrastructure at Netflix's scale?
Components
Playback Service
Generates playback manifests with DRM tokens and CDN URLs
Encoding Pipeline
Transcodes source video into 1000+ variants per title
Related Concepts
Source: editorial — Synthesized from Netflix Tech Blog, Open Connect documentation, and public engineering talks