Netflix Architecture Explained: How Netflix Uses AWS and Open Connect
Short answer: Netflix runs almost all of its software on Amazon Web Services (AWS) as hundreds of Java microservices, using tools it built and open-sourced, such as Zuul (API gateway), EVCache (cache) and Atlas (metrics), with Cassandra as a main database. But the actual video does not come from AWS. It comes from Open Connect, Netflix's own content delivery network, with servers placed inside internet providers. Netflix finished moving to AWS in January 2016.
What does Netflix's architecture look like today (2024 to 2026)?
Here are the main parts of Netflix's current system:
- Four AWS regions, full-active: since 2024, member state is replicated to four AWS regions using Cassandra, and any region can serve you. Near caches serve billions of requests per second, and EVCache serves tens of millions per second.
- Key-Value Data Abstraction Layer (2024): instead of each team talking directly to Cassandra, EVCache or other stores, services use one simple key-value API, and the platform team chooses and tunes the database underneath.
- Write-Ahead Log (2025): a shared log service, built with Kafka and Amazon SQS, records changes before they reach databases so data can be replayed and repaired after failures.
- Live streaming (2025): after three years of live events, Netflix built a live pipeline. Its Live Origin (December 2025) stores live video segments using the KV layer, Cassandra and EVCache, and Open Connect delivers them.
- Federated GraphQL (since 2022): the mobile apps moved from the older Falcor API to Federated GraphQL in 2022.
Suppose you open Netflix and press Play
It is Saturday night in Nashik. You open Netflix on your TV, scroll the home page and press Play on a series. The video starts in two seconds in HD. Here is what happens behind the screen:
- The Netflix app on your TV sends requests to Netflix's backend, which runs on AWS.
- The requests enter through an API gateway called Zuul.
- Many small services work together to build your home page: your profile, your rows ("Continue Watching", "Top 10 in India"), the artwork.
- These services read fast data from a cache called EVCache and lasting data from databases like Cassandra.
- When you press Play, a service on AWS checks your device, your network and your plan, and picks the best Open Connect servers for you.
- Your TV then downloads the video from an Open Connect Appliance — often a Netflix server sitting inside your own internet provider's network.
So Netflix has two halves: the control plane (everything before Play, on AWS) and the data plane (the video bytes, on Open Connect).
What architecture style does Netflix use?
Netflix is the most famous example of cloud-native microservices. A microservice is a small program that does one job and talks to other services over the network.
- Microservices instead of one big app: after a major database corruption in August 2008 stopped DVD shipping for three days, Netflix decided to move away from single points of failure. It rebuilt its monolithic Java application as many cloud-based Java microservices.
- Built for failure: Netflix expects servers and even whole regions to fail. It famously runs tests like Chaos Monkey, which randomly stops production instances to prove the system survives.
- Multi-region active-active: today member state is replicated to four AWS regions (2024). How it started: in 2013 Netflix ran active-active in two regions, and by 2016 in three (us-east-1, us-west-2, eu-west-1), with Chaos Kong drills that move all traffic out of one region.
- Separate video delivery: heavy video traffic goes through Open Connect, so the cloud handles only the "brain" work.
- Everything is open-sourced: many Netflix tools are public on GitHub (Zuul, Eureka, EVCache, Atlas, Titus, Spinnaker, Chaos Monkey).
Netflix architecture diagram (public parts)
Press Play to follow your request, from opening the app to the video arriving from Open Connect.
- You open the Netflix app. It talks to Netflix's backend on AWS.
- Requests enter through the Zuul API gateway.
- Zuul routes each call to the right Java microservice (profiles, rows, search).
- Microservices read hot data from EVCache first.
- Lasting data (viewing history, member info) lives in Cassandra; billing uses MySQL.
- Every service sends metrics to Atlas and events into Kafka pipelines.
- You press Play. A playback service on AWS picks the best Open Connect servers for you.
- The video streams from an Open Connect Appliance, often inside your own ISP.
- Your device plays the video. AWS was never in the video path.
What does Netflix use? Main technologies
| Layer | What Netflix uses (public) | What it does in simple words |
|---|---|---|
| Language | Mostly Java; Spring Boot as the core framework since 2018 | Writes most backend services |
| API gateway | Zuul 2 (built on Netty) | Front door for all cloud traffic; over 1 million requests per second in 2018 |
| Device API layer | Federated GraphQL (mobile apps moved from Falcor in 2022) | One API over hundreds of services |
| Service discovery | Eureka | Helps services find each other |
| Cache | EVCache (built on memcached) | Very fast reads across regions |
| Data access | Key-Value Data Abstraction Layer (2024) | One simple API over many databases |
| Databases | Cassandra; MySQL for billing | Member data, history, payments |
| Containers | Titus (on EC2) | Runs containers for services and batch jobs |
| Deployments | Spinnaker | Safe, automated releases to the cloud |
| Data pipeline | Kafka (Keystone pipeline) | Moves events for analytics |
| Metrics | Atlas | Time-series monitoring and alerting |
| Video delivery | Open Connect | Netflix's own CDN inside ISPs |
Which cloud provider does Netflix use?
Netflix uses AWS. In February 2016 Netflix completed its cloud migration. It chose AWS "because it provided us with the greatest scale and the broadest set of services and features".
How it started: the move to AWS (2008 to 2016)
The journey took seven years:
- 2008: the database corruption incident; the move to the cloud begins.
- Before 2015: all customer-facing services already on AWS.
- January 2016: billing and the last data centre parts moved; Netflix shut down its remaining streaming data centre systems.
- January 6, 2016: Netflix launched in 130+ new countries, using multiple AWS regions around the world.
Netflix relies on the cloud for business logic, distributed databases, big data, recommendations, video transcoding (converting one master file into many formats) and hundreds of other functions. Only video delivery is done by Open Connect.
What is Netflix Open Connect?
Video is huge. If every Netflix viewer pulled video from a cloud region far away, the internet would be very slow and very expensive. So Netflix built its own CDN.
- Netflix designs servers called Open Connect Appliances (OCAs), full of disks that store video files.
- Netflix provides these appliances free of charge to qualifying ISPs (the ISP gives power, space and connectivity), and also installs OCAs at internet exchange points.
- OCAs fill up during an off-peak fill window agreed with each ISP (by default 2 AM to 2 PM local time). Because Netflix can predict what members will watch, it pushes most new content to OCAs before people ask for it. Netflix calls this proactive caching.
- When you press Play, the control plane on AWS tells your device which OCAs to use.
- Your device streams from the closest healthy OCA. Often the video never leaves your ISP's network.
How does Netflix store data?
- Amazon S3 holds source video files and Netflix's big data warehouse (data lake).
- Cassandra stores member data such as viewing history, replicated across regions.
- EVCache keeps copies of hot data in memory in every region for very fast reads. When data changes, a message through Amazon SQS tells the other regions to invalidate their old copy (2013).
- MySQL: when Netflix moved billing to AWS, it moved from Oracle to MySQL running on EC2 for payment data that needs ACID transactions, and moved subscriber data to Cassandra.
- Encoded video files are pushed out to Open Connect Appliances worldwide.
How does Netflix monitor its systems?
- Atlas: Netflix's open-source time-series telemetry platform for metrics, dashboards and alerts.
- Keystone: Netflix's Kafka-based data pipeline and stream processing platform. By 2018 it processed trillions of events and petabytes of data per day.
- Chaos engineering (Chaos Monkey and the earlier Simian Army) regularly tests that failures do not hurt members.
- Exact internal dashboards and alert rules are not publicly shared in full.
If we built an app like Netflix on AWS (illustrative)
Please read this first
This section is a learning design by Ravindra Bagale. It is not Netflix's real setup. Netflix uses its own tools (Titus, Zuul, EVCache) and its own CDN. Here we use standard AWS services you learn in the AWS course.
Suppose you want to build "MarathiFlix", a streaming app for Marathi films. Here is a simple AWS layout.
1. Network: VPC, subnets, route tables, gateways
- Create a VPC
10.0.0.0/16in Mumbai, spread over two Availability Zones. - Each AZ gets a public subnet (ALB, NAT gateway), a private app subnet (API pods) and a private data subnet (Aurora, ElastiCache).
- Attach an internet gateway. Public route table:
0.0.0.0/0 → IGW. - Private app route table:
0.0.0.0/0 → NAT gateway(outbound only). - Private data route table: local route only.
2. Compute
- Application Load Balancer across both public subnets.
- API services on Amazon EKS (or EC2 Auto Scaling groups) in the private app subnets.
- Video transcoding jobs with AWS Elemental MediaConvert, triggered when a new film lands in S3.
3. Storage, databases and video delivery
- S3 for master films and encoded video segments (HLS/DASH).
- CloudFront to deliver video segments and posters from edge locations. (Netflix uses Open Connect instead.)
- Aurora for accounts and plans; DynamoDB for watch history; ElastiCache for home page rows.
- Kinesis to collect play, pause and stop events for analytics.
4. Monitoring
- CloudWatch alarms on ALB errors, latency and CloudFront error rates.
- X-Ray traces to find slow services; CloudWatch Logs for app logs.
- Practise failure: use AWS Fault Injection Service to stop a test instance, the AWS way of doing Chaos Monkey-style tests.
Request flow diagram
Press Play and follow the numbered steps.
- You open the app. Route 53 finds the address of the service.
- Posters, trailers and video segments come from CloudFront, the nearest edge location.
- On a cache miss, CloudFront pulls the file once from S3, where encoded videos are kept.
- API calls (home page rows, search) enter the VPC through the internet gateway.
- The Application Load Balancer sends the call to a healthy API pod in AZ A or AZ B.
- The API service on EKS runs in a private subnet and builds your home page.
- It reads ready-made rows from ElastiCache first.
- Plans and accounts come from Aurora; watch history lives in DynamoDB.
- Each play, pause and stop is sent as an event into Kinesis for analytics.
- CloudWatch and X-Ray record latency, errors and traces for every step.
- The page goes back to your device, and the video plays from CloudFront.
Netflix versus our AWS design
| Part | Netflix (public info) | Our AWS design |
|---|---|---|
| Cloud | AWS, four regions full-active (2024) | AWS, one region, two AZs |
| Front door | Zuul gateway | ALB |
| Compute | EC2 + Titus containers | EKS or EC2 Auto Scaling |
| Cache | EVCache | ElastiCache |
| Databases | Cassandra, MySQL | Aurora, DynamoDB |
| Video delivery | Open Connect CDN | CloudFront |
| Events | Kafka (Keystone) | Kinesis |
| Monitoring | Atlas, chaos testing | CloudWatch, X-Ray, FIS |
Quick quiz: check what you learned
Where does Netflix video actually stream from?
- Open Connect Appliances
- EC2 web servers in AWS
- Amazon RDS database
- Zuul API gateway
Show answer
A. Video comes from Netflix's own Open Connect CDN, not from AWS.
What event started the Netflix move to the cloud?
- A big AWS price cut
- A major database corruption
- A new country launch
- A hacker attack on servers
Show answer
B. In August 2008 a database corruption stopped DVD shipping for three days.
What is Zuul in the Netflix architecture?
- A video encoding tool
- A metrics dashboard
- An API gateway service
- A billing database
Show answer
C. Zuul is the front door that routes device requests to services.
In our AWS design, what replaces Open Connect?
- Amazon Aurora database
- Amazon SQS queues
- AWS NAT gateway
- Amazon CloudFront CDN
Show answer
D. For learning, we use CloudFront to deliver video segments from the edge.
Learn it properly
Build the AWS parts yourself with these free guides and lessons:
- How to create a custom VPC with subnets, internet gateway and route tables
- Public vs private subnet in AWS · 3-tier architecture project on AWS
- How to launch an EC2 instance · Install the CloudWatch agent on EC2
- AWS course: What is a VPC? Default VPC vs custom VPC
- Related architectures: Amazon.com Architecture Explained: Services, DynamoDB and AWS · Prime Video Architecture Explained: AWS Elemental, ECS and Live Sport · Airbnb Architecture Explained: AWS, Rails to Services, Kubernetes · Facebook Architecture Explained: Meta Data Centres, TAO and MySQL
- All famous app architectures explained