Netflix is as simple as streaming services come. Its user-friendly UI has been a plus ever since the service launched and helped it stand apart from its competition. It looks quite simple, right? You hit play, and your favourite title starts. While this might seem straightforward, there is a lot going on under the hood to deliver your favourite content at the click of a button. Offering a wide variety of content and an ad-free experience, Netflix has encouraged a lot of people to cut the cord and transition to streaming platforms.
Netflix started as a DVD rental service in the late nineties in USA, and has transitioned successfully to providing online entertainment with over 190 million subscribers worldwide. Due to this surge in popularity for video-on-demand services, new service providers like Amazon Prime and Disney Plus, among several others, entered the market too. To stay on top during this cut-throat competition, Netflix uses machine learning algorithms to create binge-worthy recommendations and distributes its content using a custom-built content delivery system.
There are two main parts of how Netflix works; it uses Amazon Web Services (AWS) to handle everything before you hit play and uses its Open Connect distribution network for everything that comes after.
If clicking that play button on the screen has tingled your curiosity and made you wonder how content from around the globe reaches your device, and also how are the recommendations so accurate that you want to watch them, you have reached the right place.
Read along to know how Netflix works, including the workings of its recommendation system and how it all ultimately helps you watch your favourite movies and shows at the push of a button.
Open Connect: Netflix’s content delivery system
The main goal of any CDN (Content Delivery Network) is to reduce latency and deliver content at a faster rate. It reduces the transmission delay by duplicating content from the primary servers to multiple storage servers between the main server and the client (you, the viewer), thus reducing latency. Netflix improves its CDN network by providing its open connect technology free of cost to ISPs (Internet Service Providers) who can place them in their servers. The Open Connect is responsible for storing video content and delivering it at high speeds.
Any video-on-demand service is as good as its content delivery system. A poorly implemented content delivery system would cause a lot of buffering and degrade the user experience. Netflix’s distribution of video content using the open connect technology alongwith advanced distribution algorithms has helped them to manage traffic more efficiently as it does not rely on third-parties like Akamai and Limelight to manage its content distribution network.
There are three types of open connect boxes, which are given to ISPs or installed at internet exchange points depending on the traffic they have to manage.
- Storage appliances for Internet Exchange Points (IXP): These servers can store up to 288TB of data and can transfer data at an operational speed of 36Gbps. They are placed at Internet Exchange points that are connected to other smaller open connect devices. Content to these appliances is delivered through undersea cables from Netflix’s main transcoding repository stored in Amazons S3 storage servers.
- Global appliances for ISPs: These servers are used by ISPs to distribute data to their clients. These appliances are embedded in the ISPs servers and content is copied into them from an open connect appliance, which installed at the nearest IXP or from another global appliance. They have a storage capacity of 100TB and have a throughput of 8.5Gbps.
- Flash appliances for scalability: These appliances are used for large deployments to reach Terabits per second delivery. They have a storage capacity of 14TB and an operational speed of 35Gbps. These units are installed at IXPs for faster content delivery
Due to the difference in storage appliances, Netflix uses a heterogeneous cluster allocation algorithm to distribute content to its open connect servers. This improves load balancing between clusters and distributes content according to the storage capacity of servers.
To deliver content in the best possible way, Netflix tries to route data from the nearest open connect appliance to its users. Due to its extensive catalogue of content, one open connect appliance can’t store all the content. To solve this problem, Netflix predicts content popularity in a particular region at a specific time using data science and stores the popular content on its open connect appliances. Not only this, but Netflix also distributes its content to the open connect appliances in such a way so that file replacements are minimal. This reduces traffic and makes content distribution easier.
Also read: Top 11 lawyer movies on Netflix
Netflix’s dependency on Amazon Web Services
When it began operations as an online streaming platform in 2007, Netflix used a monolithic approach as they used a single code written in Java on the server-side. This unique application was responsible for managing business logic, rendering forms and user interface. Due to the number of tasks it had to execute and the large size of the application, it took over 40-minutes to compile. This was a big problem as each time a developer made any changes, the application it took 40 minutes to compile. Not only this, the monolithic approach had a single point of failure. To solve this problem, Netflix started to shift to a microservice architecture using Amazon web services.
Yes, you heard it right Netflix uses its rival Amazons’ cloud computing infrastructure to run its services. Why you might ask? Simply because Netflix is a video streaming platform and wants to focus more on content distribution rather than managing data centres.
Cloud computing also helps Netflix to cut down on its operational costs as it can scale infrastructure according to the traffic. It also provides Netflix with scalable AI accelerator infrastructure, which helps it discover valuable insights from the massive amounts of user data it collects.
With the microservice architecture in place, Netflix has different applications running in separate virtual machines to manage things like logins, recommendations and transcoding. Not only does this approach remove the single point of failure in case of the monolithic approach, but it also helps in easier development and debugging.
Netflix uses several services that are offered by AWS, including elastic cloud servers (EC2) for hosting its microservices. Due to the use of EC2 servers, Netflix can dynamically change the number of virtual servers it needs to run to handle the traffic on its network. For storage, it uses Amazon S3, which provides Netflix with scalable storage and allows it to store its vast catalogue of content in different formats for different devices. The streaming platform also uses Amazon lambda — event-driven driven computing resource for encoding data efficiently — which creates computing resources according to the workload and makes resource handling efficient. With elastic load balancers from Amazon, Netflix distributes content among various EC2 servers for effective traffic management.
Also read: How to pitch an idea to Netflix?
What happens when you hit play?
As soon as you click on the play button, a set of chain reactions occur to deliver the content you need in the most optimised way. A summary of the whole process is given below.
- All Open Connect appliances send their health reports, learned routes and available files to a Netflix microservice hosted in the Amazon web services cloud.
- Another microservice on the AWS cloud processes the play request and determines which files are required to play that title on a particular device.
- A steering microservice picks the best open connect appliance and sends the URL for the same to the client.
- The client sends a request to the Open Connect Appliance and it serves the content requested by the user.
Starting with a monolithic approach to a microservice implementation in the cloud, Netflix is a prime example of how cloud computing is the future for resource management, scalability and disaster recovery. Cloud computing was such a great fit for a growing business like Netflix that it shut its last data centre in 2016 and runs all its operations using AWS and open connect.
Also read: How much data does Netflix use?
A tech enthusiast, driven by curiosity. A bibliophile who loves to travel. An Engineering graduate who loves to code and write about new technologies. Can’t sustain without coffee.
You can contact Nischay via email: [email protected]