How Netflix Delivers High-Quality Streaming to 269 Million Viewers
Case Study #002: Extremely Scalable Content Delivery Network
Have you ever wondered what architecture Netflix must have in place to deliver you a high-resolution full-length feature movie without any delay, almost the exact second as you click the play button?
Netflix has been a pioneer in the online video streaming industry for years. It has not just exemplified but redefined the principles of scalability and performance through its innovative Content Delivery Network (CDN).
This case study explores how Netflix's CDN supports terabytes of data per second and the technologies that enable such impressive scalability.
What is a CDN
A Content Delivery Network (CDN) is a distributed server network designed to deliver content, such as static web pages, images, and videos, to users efficiently and reliably.
Breakdown of how CDNs work:
Distributed Server Network
CDNs consist of multiple servers, also known as edge servers, distributed across different locations worldwide. Edge servers store copies of content from the origin servers where the content is hosted.
Content Caching
When a user requests content from a service, the CDN directs the request to the nearest edge server. This server delivers the cached content to the user. This way, the distance between the user and the data is as short as possible, which improves load times and reduces latency.
Load Balancing
CDNs use load balancing to distribute traffic across multiple servers to prevent any single server from becoming overloaded. This technique is very useful for handling load during peak traffic times.
Geographic Proximity
By placing servers in various geographic locations, CDNs reduce the physical distance between the user and the server. This minimizes latency and is particularly important for services with users spread across different regions.
Redundancy
CDNs store multiple copies of the same content across different servers. If one server goes down, another can take over, ensuring uninterrupted service.
Netflix’s Need for a Custom CDN
Initially, Netflix outsourced its content delivery to major CDN providers like Akamai. However, as its number of customers grew, and therefore, demand for streaming grew, these providers struggled to keep pace.
Netflix had to focus on how to improve:
cost 💵
scalability 🚀
user experience 🤩
That’s how a custom CDN, Open Connect, was born with the goal of creating a robust and scalable network.
Architecture Designed for Scalability
The Open Connect CDN is specifically tailored to Netflix's needs of transferring terabytes of data at high speeds all across the globe. Its success is achieved mainly through the following design concepts:
Edge Locations
Netflix picked locations for its Edge servers at strategic points around the globe. These locations are typically within the data centers of Internet Service Providers (ISPs) or at Internet Exchange Points (IXPs). IXPs are nodes on the boundaries of two (or more) ISPs when the traffic flows from one ISP provider to another.
Server Infrastructure
Netflix chose a combination of different storage solutions to handle its large content library and high data transfer demands:
Storage Servers: These servers are capable of holding up to 360 TB of data and generating approximately 96 gigabits per second (Gbps) of throughput. They store large volumes of content, ensuring availability even during peak times.
Flash Servers: Equipped with solid-state drives (SSDs), these servers can hold up to 24 TB of data but can deliver up to 190 Gbps of throughput. They are used for delivering high-demand content quickly.
Global Servers: For smaller ISPs and emerging markets, Netflix uses a downscaled version of storage servers offering up to 120 TB of storage and 18 Gbps of throughput.
Data Flow Optimization
Data flow optimization involves managing how data is transferred from central to edge servers. This process ensures that data is delivered efficiently, minimizing latency and avoiding bottlenecks.
Distribution of new content from the origin servers to the edge servers can be done outside of the peak hours, for example, during nighttime when the ISP traffic is lower, so transferring a large amount of content does not cause latency or reliability issues within the network.
The scalability of Open Connect is achieved via:
Horizontal Scaling 📈: Adding more servers across various locations to handle increased load.
Efficient Caching 🗂️: Storing frequently accessed content at edge servers to reduce redundant data transfer.
Proactive Monitoring ✅: Constantly monitoring network performance to identify and mitigate bottlenecks in real-time.
Summary
CDN is an essential infrastructure component for any online service aiming to deliver content quickly, reliably, and securely to a global audience. By leveraging:
distributed servers
content caching
and load balancing
CDNs ensure optimal performance and smooth user experience.
Disclaimer: This case study showcases industry best practices based on publicly available information. The specific underlying structure of Netflix might be different.
📖 More From Enginuity
In last week’s issue, we looked into how Slack was able to build an AI solution with customer’s data privacy as a first-class citizen. Give it a read:
📣 Top picks
Pt.2: How to get more done when things are crazy by
inDon’t forget to check also Part 1
Deadlines are not so bad, I’ll tell you why by
in- in
Don’t forget to check also Part 1