Netflix splits into two worlds: a control plane of stateless microservices in the cloud that handles sign-in, browsing, recommendations and playback decisions, and a purpose-built CDN (Open Connect) that sits inside ISPs and serves the actual video bytes. Studio content is encoded once into hundreds of streams and pushed to edge caches before anyone presses play.
Functional requirements
- Sign up, manage a subscription, and keep several profiles per account
- Browse and search the catalogue by title, genre and people
- Play, pause, seek and resume on any device, picking up where another device left off
- Adaptive quality (SD to 4K/HDR), multiple audio tracks and subtitles
- Personalised rows on the home page per profile
- Download titles for offline viewing where licensing allows
Non-functional requirements
- Fast playback start and almost no rebuffering — quality of experience is the main metric
- Tens of millions of concurrent streams at peak
- Always on: a regional cloud outage must not stop playback
- Content is protected with DRM and only shown in licensed regions
- Browsing data can be eventually consistent; billing and entitlements cannot
Extensions
- DRM with Widevine, FairPlay and PlayReady, plus licence checks per region.
- Offline downloads with licences that expire.
- Personalised artwork chosen by A/B tests per profile.
- Live events, which can't be pre-positioned and need low-latency streaming.
- Per-title and per-scene encoding to cut bandwidth without losing quality.