Netflix is currently one of the biggest streaming services in the world. It provides fast and seamless TV translations for thousands of titles and hundreds of millions of watchers worldwide. Netflix is also part of the so-called FAANG (Facebook, Amazon, Apple, Netflix, and Google), a famous group of top-level technological companies and IT employers. Founded in 1997, Netflix started as a DVD rental service and transformed into a global streaming platform due to its technological leadership.

The sophisticated systems design allowed the creation of convenient and robust service. The use of Content Delivery Network (CDN) and cloud infrastructure has enabled rapid scaling and accelerated user access to video content. The appropriate choice of tools for developing and deploying the service ensured its maintenance and growth over many years.

This article primarily describes the architectural features of the streaming web service and CDN usage. The following article, Disclosure of Netflix's Tech Secrets: What is Hidden Behind Unstoppable Streaming, provides more details about the technological stack used.

Architecture Overview

Netflix architecture is based on the interaction of several main components. These are the client part (Client), various services and components deployed in the cloud (referred to as the Backend), and data storage (databases and CDN). Fast and reliable operation of all components is absolutely necessary for the functioning of the service and the provision of content by the user.

Client

The client part directly interacts with the user. It displays media content and provides service management functions. Streaming is available on various platforms, such as Smart TVs, personal computers, mobile phones, and tablets (both iOS and Android), which help to increase auditory coverage.

The client part of the service is available as both web interfaces and native applications for various operating systems and devices. They are designed to provide a convenient and consistent platform-independent user experience.

The client part is accurately designed and optimized. It provides easy management of service functions and quick access to content.

Backend

The backend is the core part of the product. It provides all the main functionality of the service, such as streaming itself, billing and payment, recommendation collections, saving favorite content, and much more. The most modern technical solutions, such as machine learning, elements of artificial intelligence, and others, are implemented and used in the backend.

Netflix is ​​used by a huge number of users, and the cost of each failure can be extremely high. Therefore, special requirements are imposed on the availability, fault tolerance, and scalability of the service.

To meet these requirements, the backend architecture is constantly evolving and modernizing. Thus, since 2007, the company began implementing a microservice architecture, splitting a previously monolithic service into many interacting ones. Cloud infrastructure was used for their deployment, including from external providers such as Amazon. Thanks to this solution, it was possible to quickly scale the service and its stable operation in the event of individual failures.

Netflix Database and Content Delivery Network

Another critical component of the architecture is data storage. Databases provide reliable and secure storage of various user and payment data, including confidential data.

The so-called Content Delivery Network (CDN) is used to optimize access to content worldwide. It is a global network of servers distributed across different regions. These servers store and cache the content of sites closest to the user. This minimizes delays and the need for content buffering, which is especially important for video streaming.

The company uses OpenConnect CDN.

Microservice Architecture

Netflix was one of the first companies that use microservice architecture in its product. The transition began in 2009 for video encoding service. The remaining functionality of the product was divided into separate services later. The reason for the transition was a great increase in data volumes to store and process on the servers. Simultaneously, the product was transferred to the Amazon Web Service (AWS) cloud infrastructure, which provided the required computing resources with a sufficient level of reliability and security.

The transition was not painless and took about 3 years, and also required the development of a significant amount of new software. However, the product became far more reliable and scalable than before.

What is a microservice architecture? This approach designs the application as a set of separate, independent services. Each service is responsible for a separate functionality or feature of the product and can be deployed, updated, or maintained separately. They interact over the network, usually using lightweight protocols such as HTTP or messaging queues.

Microservice architecture allows for easier product scaling, flexible development, and increased fault tolerance. Service independence can also make it easier to support the product and implement new features, allowing fewer dependencies to be considered with each product change.

In addition, different technology stacks for services can now be used. Thus, the most optimal set of frameworks and tools can be selected for each service.

On the other hand, implementing a microservice architecture may require a more complex and comprehensive systems design. In addition, the management of deployed services becomes more complicated. Network interaction can also slow down the product somewhat, compared to a monolithic implementation.

How many microservices does Netflix have? Currently, the company uses over 1000 separate services to provide various functions of its product. Of course, this number is not constant and is constantly changing following updates. The Netflix microservices diagram is quite complex and comprehensive, reflecting the main relationships between the individual services of the product.

Client-server Interactions in Streaming Service

The popularity of Netflix streaming is based on the high and stable quality of the client part of the product. It is achieved by constantly monitoring the user experience for all available platforms and updating user applications and interfaces accordingly. An important part of a positive user experience is seamless streaming. To ensure this, the company improves the interaction between the backend and the client part, using the collected statistics and A/B testing results.

Applications can be updated either by directly downloading the update or by deploying the updated version to application stores. The first option is preferable, as it provides direct control.

The usage of a flexible update deployment strategy helps to adapt software to the features of each platform. New versions of applications are deployed in stages, while the level of errors when installing updates on user devices is constantly monitored. Information is also collected on failures in the interaction of new versions of client applications and individual backend services.

The company widely uses various A/B testing methods to test new solutions and features. It also uses so-called Canary testing. Canary testing focuses on rolling out a single new version to a few users before a full-scale launch. This approach allows quick collection and usage of the user experience when working with a new version of the application. At the same time, there are no risks of widespread negative feedback, which are inevitable with a large-scale release of an untested update. The company also uses various tools and automation tools to orchestrate deployed services and their versions. This reduces labor costs for maintaining and managing versions of backend services and the client part of the product and also simplifies A/B and Canary testing.

Improving Streaming Quality with Open Connect

To provide its users with high-quality content without delays and interruptions, Netflix uses its own Content Delivery Network (CDN), Open Connect. This allows to reduce dependence on third-party CDN providers.

Open Connect CDN consists of separate servers, so-called Open Connect Appliances (OCAs). OCAs are located in more than 1000 locations around the world to be as close as possible physically to Internet service providers (ISPs) and users to reduce potential delays in content delivery.

Netflix also makes agreements with Internet service providers (ISPs), allowing them to host Open Connect Appliances (OCAs) with the company’s media content. This collaboration provides benefits for all participants. ISPs get the opportunity to reduce hardware costs and attract new users by providing fast and convenient access to high-quality video content. At the same time, Netflix can simplify the delivery of content to users.

Open Connect is integrated with Amazon Web Services (AWS). AWS usage allows easier and faster caching of content, as well as rapid and more reliable processing of user requests and selection of the most appropriate OCA for a particular user.

Conclusions

Netflix architecture is implemented as a set of small, independent services, which allows for easier product scaling, flexible development, and increased fault tolerance. All product services are integrated into the cloud infrastructure provided by Amazon Web Services (AWS). To simplify content caching and speed up its delivery to users, the company uses its own Content Delivery Network (CDN), Open Connect. By using a globally distributed CDN and its integration with local Internet service providers (ISPs), fast and seamless video streaming is ensured.

This article primarily describes the architectural features of the streaming web service and CDN usage. The following article, Disclosure of Netflix's Tech Secrets: What is Hidden Behind Unstoppable Streaming, provides more details about the technological stack used.

Request more information today
Discover how our services can benefit your business. Leave your contact information and our team will reach out to provide you with detailed information tailored to your specific needs. Take the next step towards achieving your business goals.
Contact form:
Our latest news