Skip to content
Devgo

Netflix

Streaming-first architecture with an online→nearline→offline tiering

Netflix serves video from a global (its own Open Connect appliances inside ISPs) with the control plane on AWS. Viewing metadata, recommendations, and the run in the cloud; playback bytes come from edge caches close to users.

Product constraints

  • Peak-time bandwidth dominates; playback must not buffer.
  • Global audience; edge must be inside or near the ISP.
  • Personalization and recommendations are core to retention.
  • Control plane must be highly available; playback is edge-served.

High-level diagram

Netflix architectureA block diagram of the Netflix system's main components and request flow.ClientAPI gatewayAWS cloudEVCacheCassandramulti-regionMicroservicesControlOpen Connectedge/ISP
Illustrative block diagram of Netflix. Not to scale; see the request path below for flow.

Request path

  1. App open. Client hits the (Zuul-like) on AWS; auth, profile, and personalized rows are assembled from microservices.
  2. Browse/decide. Recommendation and metadata services return rows; EVCache () fronts /EVCache for low-latency reads.
  3. Playback request. Client requests playback; the control plane returns manifest + best /edge URL.
  4. Stream. Bytes stream from Open Connect edge appliances (inside ISPs), not AWS; adaptive bitrate over the edge.

Data model

Catalog metadata in (multi-region, highly available); user viewing history and ratings in Cassandra + EVCache; recommendations computed offline/nearline in batch and served from cache. Media files pre-positioned to edge appliances.

Storage / cache / queue choices

Storage

for availability/multi-region metadata; S3 for media origin; edge appliances for playback.

Cache

EVCache ( cluster) fronting for hot reads.

Queue

for viewing events and nearline processing; -like queues for async jobs.

Scaling levers

  • Open Connect puts bytes at the ISP edge, offloading AWS and the internet backbone.
  • multi-region for HA; EVCache for sub-ms reads.
  • Stateless microservices autoscale on AWS; playback doesn't touch them.
  • Nearline/batch recommendation pipelines on Spark.

Copy vs skip (for a smaller team)

Copy
  • Separate control plane (cloud) from data plane (edge CDN).
  • Multi-region highly-available metadata store (Cassandra-style).
  • Cache hot reads in front of the DB.
  • Event-driven viewing analytics (Kafka).
Skip
  • Building your own CDN appliances (use a managed CDN).
  • Full microservice decomposition on day one (start modular).
  • Global multi-region write Cassandra (start single-region if you can).

, ,

Sources