We use analytics cookies.We use cookies to analyze site traffic and improve your experience.
Loading...
System Design and AI Engineering, by Roni Das. 984 interactive lessons.
Start LearningSystem design interview guide
Short answer
Netflix system design is two planes that meet at the play button. The control plane runs on AWS: the Zuul gateway, playback, steering, and member data in Cassandra with EVCache in front. The data plane is Open Connect, more than 14,000 Netflix servers in 142 countries, many inside internet providers. When you press play, AWS checks your account and picks the files your device can play. It returns URLs of nearby healthy servers. Your device then streams straight from them, choosing quality piece by piece. Files are copied to those servers ahead of time, during quiet hours.
Every figure below is quoted from Netflix's own engineering writing. Tap a source to check it.
300M+
users at the end of 2024
Netflix TechBlog, 202565M
streams at the same moment, Paul vs Tyson, Nov 2024
Netflix newsroom14,000+
Open Connect servers in 142 countries
Open Connect briefing paper, 20211,000+
internet providers host Netflix servers inside their networks
Open Connect briefing paper, 2021in this guide
8 parts open to everyone · 3 with a free account · 3 with the course
You can read 8 of 14 parts. A free account opens the deep dive; the course opens all of it.
Design Netflix checks whether you can split a system by what each part must be good at. Sign-in and recommendations need logic and data. Video delivery needs raw bandwidth close to the viewer. A candidate who draws one load balancer in front of one service has missed the point. The interviewer also wants to hear cost reasoning, because moving video bytes is the most expensive thing Netflix does.
What the interviewer asks
“Design a video streaming service like Netflix. A member opens the app, browses rows of titles, presses play and watches on any device. Focus on what happens when they press play.”
Ask these back before you draw
This page is the free part.
₹1,111 in India$25 everywhere elseonce, for the whole course
The System Design course covers the Netflix design across a run of lessons, not one page. These 4 alone are about 94 minutes of step-by-step reading, every one with a quiz.
01Requirements
Always clarify these in the first 5 minutes of the interview. Do not start drawing boxes until both lists are agreed.
This guide is built on these 6 lessons. Each one teaches one piece of the Netflix design above, step by step.
Lifetime access for ₹1,111 in India or $25 elsewhere. Interactive diagrams, quizzes, and 20 capstone projects to practise on.
This one question is not enough for the interview.
Each question has why it is asked, a full answer, what the interviewer listens for, the follow-ups, the common mistakes and a diagram (268 diagrams in all). A PDF you keep, junior to staff level.
Two courses by the author of this page:
770 lessons · 18 free to read
₹1,111 in India · $25 elsewhere, once
Get System DesignYou own this course
214 lessons · 10 free to read
₹1,333 in India · $35 elsewhere, once
Get Generative AI and Agentic AIYou own this course
Save your progress and get the interview checklist PDF
Netflix counted over 300 million users at the end of 2024. Its record live night peaked at 65 million streams at the same moment. The video comes from more than 14,000 Netflix servers in 142 countries. Many sit inside the viewer's own internet provider; the rest are at internet exchanges.
Designing Netflix is two designs that meet at the play button. The control plane runs in AWS. It handles sign-in, the home page, what to play and which server should send it. The data plane is Open Connect, Netflix's own content delivery network. Its servers sit inside internet providers and only store and send video files. Most of the interview is about the line between those two planes. It is also about the work done before anyone presses play. Every title is encoded into many versions, and files are copied to the right servers overnight.
Where it shows up
One of the most common system design interview questions. It also appears as design YouTube, design a video streaming service or design Hotstar. Netflix's own engineering blog is unusually detailed, so interviewers expect real numbers.
Spec sheetNetflix
worked through below, with the maths
90 Gbps
of encrypted video from one server
99.99%
Netflix's internal availability goal
Netflix TechBlog, 2013The hard parts of this design are taught step by step in the System Design course: Content Delivery Network (CDN), Adaptive Bitrate Streaming and Video Encoding.
A CDN is thousands of caches you do not operate, and the cache key decides everything about whether it helps you.
Automatically adjusting video quality based on the viewer's network speed, smooth playback across all connections.
Converting raw video into compressed formats for web delivery, codecs, containers, and quality vs size tradeoffs.
Every mechanism in this chapter running in one component in front of everything, what that concentration costs, and how to keep it from becoming an application.
all part of
System Design Masterclass
770 lessons · about 287 hours · 18 free to read
₹1,111in India, by UPI
$25everywhere else, by PayPal
You own this course
Continue with Content Delivery Network (CDN)pay once,
yours for life
Live from the course bench
Real interview questions, live diagrams and measured lab results, pulled at random from the lessons. A new set every time you come back.
02Scale estimates
Show your math. Pulling numbers from thin air signals you have not thought about the load.
Users
300M+
Netflix's own figure for the end of 2024, from its 2025 recommendation post. Each account can have several profiles, and each profile has its own history and rows.
Peak concurrent streams
65M
The Paul vs Tyson fight in November 2024, from Netflix's newsroom. Size the play path for this, not for an average evening.
Peak egress, estimated
~195 Tbps
Assume an average of 3 Mbps per stream. That is our assumption. In Netflix's 2015 fixed ladder, 720p started at 2350 kbps and the top rung was 5800 kbps. 65 million x 3 Mbps is about 195 terabits per second.
Servers needed, estimated
2,200+
One Open Connect server sent 90 Gbps of encrypted video in Netflix's 2017 tests. 195 Tbps / 90 Gbps is about 2,200 servers running flat out, before any spare. Netflix runs more than 14,000.
Viewing history writes vs reads
9 : 1
Netflix's 2018 post on viewing history: about nine writes for every read. That makes it a write-heavy store, which is why it sits on Cassandra.
03Architecture
Draw two planes. The control plane runs on AWS. Every API call from a device enters through Zuul, Netflix's gateway. Behind it sit services for sign-in, the home page rows, playback and steering. Member data such as viewing history lives in Cassandra, with EVCache (Netflix's memcached-based cache) in front for fast reads. The data plane is Open Connect. It is thousands of Netflix servers, called Open Connect Appliances, placed at internet exchanges and inside internet providers. An appliance stores encoded video files and sends them over HTTPS. It keeps no member data. It reports its health, its network routes and its list of stored files to the control plane. When a member presses play, the playback service checks the account and licence. Then it picks the files this device can play. The steering service then picks the best appliances for this member and hands back their URLs. From then on, the device fetches video straight from the appliance. Before any of this, an encoding pipeline turns each studio master into many files. A fill system copies them to the appliances during quiet hours.
In a real interview, sketch this on the whiteboard before diving into any single box.

Interactive
The same two planes, one play request at a time. Each step lights up the part doing the work. Then press Break it and replay with a server failing or the network slowing down.
One Netflix play request
Normal play, step 1 of 8
The top half runs in AWS: Zuul, the gateway, then Playback and Steering, with your viewing History in Cassandra. The bottom right is Open Connect: Netflix servers, called appliances, inside your internet provider or at an internet exchange.
Normal play, step 2 of 8
Every appliance keeps reporting to AWS: is it healthy, which network routes it has learned and which files it stores. This is why the control plane can choose a server in one step later. The appliance itself knows nothing about you.
Normal play, step 3 of 8
The TV sends the request to Netflix in AWS. Every API call from a device enters through Zuul, Netflix's gateway. Zuul routes it to the right service and can shed load if a service is struggling.
Normal play, step 4 of 8
Playback checks your account and whether this title is licensed in your country. Then it picks the exact files for this TV: the codec it can decode, the resolution, and your audio and subtitle languages.
Normal play, step 5 of 8
Playback reads your viewing history to resume at the right second. Netflix keeps history in Cassandra, one partition per member, with EVCache in front so the read is fast. History is written about nine times for every read.
Normal play, step 6 of 8
Steering looks at the appliance reports and picks servers that hold the files, are healthy and are close to you on the network. It turns them into URLs.
Normal play, step 7 of 8
The answer to the play request is small: a list of appliance URLs for the chosen files. The heavy work happens next, and it does not touch AWS.
Normal play, step 8 of 8
The TV fetches the video from appliance A over HTTPS, piece by piece. One appliance served 90 Gbps of encrypted video in Netflix's 2017 tests. AWS has stepped out of the video path completely.
An appliance dies, step 1 of 4
Replay the same film. The TV is fetching pieces from appliance A and has a few seconds of video buffered ahead.
An appliance dies, step 2 of 4
A disk fails, or the appliance loses power. The next piece never arrives. The buffer starts to drain while the TV waits.
An appliance dies, step 3 of 4
In this design the TV was given more than one URL, so it asks appliance B for the next piece and keeps playing. Netflix's guidance to providers also routes traffic to a second site, then to Netflix servers at the exchange, when one site is down.
An appliance dies, step 4 of 4
Appliance A no longer reports healthy, so steering stops choosing it for new viewers. Netflix's operations team monitors every appliance and replaces failed hardware at no cost to the provider.
Network slows, step 1 of 3
The TV is fetching a high rung of the ladder. Now each piece takes longer to download than it takes to play. If nothing changes, the buffer empties and the picture freezes.
Network slows, step 2 of 3
The player, not the server, decides. For the next pieces it picks a lower rung of this title's ladder, a smaller file at a lower bitrate. The picture softens a little, but it keeps moving.
Network slows, step 3 of 3
When pieces arrive fast again and the buffer is healthy, the player steps up, one rung at a time. Per-title ladders help. In Netflix's 2015 example, one BoJack episode streamed in 1080p at 1540 kbps, where the fixed ladder gave 480p at 1750 kbps.
Based on Netflix's Open Connect overview and deployment guide. Also Netflix TechBlog posts on viewing history, serving 100 Gbps and per-title encoding. Moving to the next URL is this guide's design.
04One request
This is Netflix's own five-step description of playback, from its Open Connect overview. Encoding and fill must finish before step 2.
All the time, every Open Connect appliance reports to the control plane in AWS. It sends its health, the network routes it has learned and the files it stores.
The member presses play. The device calls the Netflix application in AWS, through the Zuul gateway, with the title it wants.
The playback services check that the member may watch this title in this country. Then they pick the exact files to send, based on the device and the network.
The steering service reads the appliance reports. It picks servers that have the files, are healthy and are close to the member on the network. It turns them into URLs.
The device gets the URLs and fetches the video from the appliance over HTTPS, piece by piece. AWS is not in the video path at all.

05Components
Walk through each service. The interviewer wants to hear what each one owns, not just the names.
The front door for every API call from a device. It routes requests, sheds load when a backend is struggling, and can send traffic to another AWS region. Zuul 2 moved to non-blocking network code on Netty so it can hold many persistent connections cheaply.
Answers the play request. It checks the account and the title's licence. Then it chooses the encoded files that fit this device: codec, resolution, audio and subtitles.
Chooses which appliances serve this member. It reads what every appliance reports: health, network routes and stored files. It returns a short list of URLs, so the device never has to guess a server.
Netflix's own servers, at internet exchanges and inside internet providers. They store encoded video files and send them over HTTPS. Netflix gives the hardware to the provider for free; the provider gives space, power and network.
Turns a studio master into streamable files. Services inspect the master, measure how complex it is and pick a bitrate ladder for that title. Then they encode it in chunks and score every encode with VMAF, Netflix's quality metric.
Copies files from S3 to the appliances during each region's quiet hours. A few appliances pull from S3 first; the rest copy from them. The control plane tells each appliance what it should hold.
Viewing history, bookmarks and other member state live in Cassandra, which takes heavy writes and replicates across regions. EVCache sits in front so most reads never touch Cassandra.
Builds the rows on the home page. Heavy models run offline in batch. Quick updates run nearline as events arrive. A thin online step adjusts the result when the page is requested.
title_files (catalog of encodes). One row per encoded file. The playback service filters these by what the device can decode. Written by the encoding pipeline, read on every play. Rarely changes, so it…
Every table for Netflix, its keys, and which store fits it and why.
Press play: the control plane hands out appliance URLs. The key idea is that AWS decides and the appliance delivers. When the member presses play, the device does not look for a video server by itself. It asks the playback…
8 deep dives on the parts that break at scale, with 4 diagrams: Press play: the control plane hands out appliance URLs; Open Connect: put the bytes inside the internet provider; Fill: copy tomorrow's titles tonight.
Own CDN (Open Connect) vs a commercial CDN. A commercial CDN is the right start for almost everyone. Netflix's volume changes the maths: video is most of its cost, and its traffic is very predictable. Owning the…
6 decisions an interviewer expects you to defend, each with the alternative and why it loses here.
A new season releases worldwide at midnight. What do you do?
6 follow-up questions with model answers, the interview scorecard for this question, and a mock interview on Design Netflix with the AI tutor.
10In production
Everything on this page comes from Netflix's own writing. The playback steps and the appliance design are from the Open Connect overview. The counts of servers, countries and providers are from Netflix's 2021 Open Connect briefing paper. So are the US$1 billion and US$1.2 billion figures. Fill windows, manifests and fill masters are from the 2016 post Netflix and Fill. The 90 Gbps figure is from the 2017 post on serving 100 Gbps from one appliance. Per-title encoding and its numbers are from the 2015 post. The Cosmos services are from the 2024 post on the video pipeline. Zuul 2, active-active regions, the key-value data layer, viewing history and EVCache each have their own post. Older posts describe the system at that date. Netflix has changed details since, so say the year when you quote a number in an interview.
Sources
If any of these topics are fuzzy, the interviewer will catch it. Each lesson is 15 to 60 minutes with diagrams, code, and a quiz.
Content Delivery Network
foundation / load balancing proxies
Adaptive Bitrate Streaming
intermediate / web content delivery
Video Encoding
intermediate / web content delivery
API Gateway
foundation / load balancing proxies
Memcached
foundation / caching strategies
Cache Invalidation
foundation / caching strategies
Active-Active Failover
advanced / reliability resilience
Chaos Engineering
advanced / reliability resilience
Geographic Redundancy
advanced / reliability resilience
Capstone: Design a CDN
capstone / capstone
Capstone: Design YouTube and Netflix
capstone / capstone
11FAQ
interview readiness
Three questions from this guide. Answer them without scrolling up, the way you would have to in the room.
India: UPI, cards or netbanking through Razorpay. Elsewhere: card or PayPal. Download at once from My packs.
NEWSystem Design Hands-On
Postgres Sharding: Complete Hands-On (PgBouncer + Citus). 2 h 36 min and 20 chapters: one PostgreSQL loaded until it breaks, then four shards behind a router you write, PgBouncer and Citus, with the 139-page slide deck. The first 15 minutes are free to watch.
Free PDF · 79 pages
25 real tech interview questions, answered in full
Five from each of our AI, GenAI, Inference, Maths for ML and Forward Deployed packs. Each with a diagram and a model answer. Free by email.
free tool
Check these numbers yourself
Put in your own guesses for Netflix and see requests per second, storage, bandwidth and servers, with every sum written out.
Open the Capacity EstimatorIt is really nice and good Please join the course