How to Design a Video Streaming Service Like Netflix

Design a streaming service as two systems. A slow write path prepares each video, and a fast read path delivers it. Almost all the traffic is reads, so most of the design effort belongs in delivery.

One upload can become millions of views. That ratio decides everything. Say it in your first minute and the interviewer knows you understand the shape of the problem.

The hard part is not the database. It is moving tens of terabits per second of video close to users without buffering.

Requirements to agree on first

State the features you will build:

  • Upload and publish a video title.
  • Browse and search the catalog.
  • Play a title on a phone, a browser, or a TV.
  • Resume from the last watched position.
  • Manage accounts and subscriptions.

State the qualities the system must have:

  • Availability. Playback must survive a lost server or a lost region.
  • Fast start. Aim for under two seconds to the first frame.
  • Smooth playback. Quality drops before the video stops.
  • Durability. A master video file must never be lost.

Then say what you are cutting. Recommendations, billing, and content rights are normal cuts for a 45 minute round.

Scale estimate

Numbers guide the design, so do the arithmetic out loud.

QuantityAssumptionWorking number
Daily viewers100 million100 million sessions a day
Watch time each2 hours200 million hours a day
Streams at onceAverage across the dayabout 8 million
Average bitrate5 Mbpsabout 40 Tbps average
Peak traffic2x averageabout 80 Tbps
One two hour title10 renditionsabout 30 GB encoded

No origin server farm serves 80 Tbps. That single number is why a content delivery network, a CDN, is the center of the answer.

The write path: upload and transcoding

A publisher uploads one very large master file. The system turns it into many small, playable pieces.

  1. Store the master file in object storage such as Amazon S3.
  2. Split it into chunks of a few seconds each.
  3. Transcode the chunks in parallel on a worker fleet. Each worker writes one rendition, meaning one resolution and bitrate pair.
  4. Package the output into segments of 2 to 10 seconds, with a manifest file that lists them. HLS and DASH are the two common formats.
  5. Write the segments back to object storage.
  6. Publish the title by copying segments to the CDN and marking it live in the metadata store.

Put a queue between the steps. A message queue lets one failed chunk retry on its own, instead of redoing the whole title.

Mention per-title encoding if you want depth. Netflix picks the bitrate ladder per title rather than using one fixed ladder. A cartoon and an action film do not need the same bitrate for the same quality.

The read path: CDN and playback

The CDN stores copies of segments close to viewers. Netflix runs its own, called Open Connect, and places appliances inside internet provider networks.

Netflix fills those appliances ahead of demand. Popular titles are pushed out during quiet hours, before anyone asks for them. That is a planned fill, not a cache miss.

Playback then works in three steps:

  1. The player asks the control plane for the manifest and a signed URL.
  2. The control plane points it at the nearest healthy appliance.
  3. The player pulls segments straight from that appliance.

Adaptive bitrate keeps playback smooth. The player measures download speed and how much buffer is left. It then picks the quality of the next segment. Quality can change at every segment boundary, so a weak network lowers resolution instead of stopping.

Where each kind of data lives

DataStoreWhy
Video segmentsObject storage plus CDNLarge, immutable, read constantly
Title metadataRelational or document storeSmall, structured, heavily cached
Watch positionWide-column store such as CassandraHuge write rate, simple key lookups
Search indexSearch engine such as ElasticsearchText matching and filters
Events and logsStream such as KafkaFeeds analytics and recommendations

Put a cache in front of metadata. The same title page is requested millions of times an hour, and the data changes rarely.

Availability and failure

Keep the services stateless behind load balancers, so any instance can serve any request. Run in several regions and move traffic away from a failing one.

Degrade instead of failing. If recommendations are down, show a static row. If search is down, still allow playback.

Netflix tests this by causing failures on purpose in production. That practice is called chaos engineering.

How to Prepare

TAGS
System Design Interview
System Design Fundamentals
CONTRIBUTOR
Arslan Ahmad
Arslan Ahmad
ex-FAANG engineering manager and author or Grokking series.

GET YOUR FREE

Coding Questions Catalog

Design Gurus Newsletter - Latest from our Blog
Boost your coding skills with our essential coding questions catalog.
Take a step towards a better tech career now!
Explore Answers
What is the salary of fresher in NVIDIA?
Why Google interviews are difficult?
What is difficult in software engineering?
Why should we hire you as a product manager?
What is the difference between ChatGPT 4 and 4o?
When to use SQL vs NoSQL system design interview?
Related Courses
New
Grokking the AI System Design Interview course cover
Grokking the AI System Design Interview
Learn to design AI systems the way interviewers expect: classic ML products, LLM and RAG architectures, and agentic systems, all through the lens of the system design interview.
4.6
(3,192 learners)
Discounted price for Your Region

$123

Grokking the Coding Interview: Patterns for Coding Questions course cover
Grokking the Coding Interview: Patterns for Coding Questions
The 24 essential patterns behind every coding interview question. Available in Java, Python, JavaScript, C++, C#, and Go. The most comprehensive coding interview course with 543 lessons. A smarter alternative to grinding LeetCode.
4.6
Discounted price for Your Region

$197

Grokking Modern AI Fundamentals course cover
Grokking Modern AI Fundamentals
Master the fundamentals of AI today to lead the tech revolution of tomorrow.
4.1
Discounted price for Your Region

$72

Design Gurus logo
One-Stop Portal For Tech Interviews.
Copyright © 2026 Design Gurus, LLC. All rights reserved.