Modular Design Principles behind Netflix

Victoria Gomes-Boronat

Behind the graphical user interface (GUI) that you interact with when using applications, there are various unseen moving parts that work together in order to make seeing and interacting with that GUI possible. Various applications employ modular combinatorial designs, meaning that the architecture of the application is made up of various modules that have “interdependence within and interdependence across modules,” (Baldwin, 2000). This means that within each module are various interconnected parts, however they are independent of other modules, meaning that a designer can make changes and updates to one module without affecting any of the others.  A perfect case study for this modular combinatorial design is Netflix.

When I was a child, Netflix was a website service you can use in order to rent and have physical DVD movies delivered right to your door. Since then, Netflix has undergone drastic innovative changes and ushered in a new era of online video consumption. With 192.95 million subscribers worldwide, it’s no wonder that Netflix has become the blueprint for a successful modular combinatorial design.

\Why is Netflix so successful? Netflix was one of the first adopters of a cloud-based microservices architecture, (Smartbear Software, 2015). Prior to 2011, Netflix ran under a monolithic design, meaning that it was built as a single autonomous unit.  This presented many problems for the ever-changing and growing platform:

Monolithic structures make any changes to the application extremely slow as it often affects the entire system. It can require a completely rebuilt and deployed version of software whenever a modification is made to a small section of code. If developers wish to scale certain functions of an application, they must scale the entire application, further complicating changes and updates. (Watts & Shiff, 2018).

The solution to this problem was the modular principles of cloud-based microservices architecture, “Microservices, also known as microservice architecture, are a specific method of designing software systems that structures an application as a collection of loosely coupled services,”  (Watts & Shiff, 2018) The application is broken down into various components or “microservices” located in the cloud that are completely independent of each other, allowing each service to run its own unique process and communicate autonomously without having to rely on the other services or even architecture of the application as a whole. Does that sound familiar? That’s because microservices are prime examples of a modular design at work.

As Mak describes, microservices realize various important modularity principles such as design teams’ ability to work and scale independently; reduction in complexity by being small and focused; alteration and replacement of services without impacting other services or the architecture of the application (2017). Figure 1 (below) demonstrates the differences between the monolithic and microservice architectures.

Figure 1: Architecture differences between traditional monolithic applications and microservices. Image courtesy of BMC.

That being said, all of the functions that you see and interact with when looking at the Application, for example. the recommendation system, video streaming service (synchronized picture and audio streaming), subtitles/translations, download service/storage, category system, search bar functionality, etc. are all different modules/microservices that can be altered, updated, or removed without affecting the rest of the services.

There are also various microservices that you don’t initially see, such as algorithms that conduct data analysis, information sorting systems, and the acquisition of licensed streaming rights. In order to stream movies, shows, etc., Netflix must be licensed streaming rights by the original production companies/owners. Every movie/show that you see in Netflix’s arsenal had to have a team behind it that created contractual agreements for the streaming rights. Even “Netflix Originals” have many modules that make then possible. Few of the movies/shows that have been labeled as “Netflix Originals” are actually self-produced by Netflix, rather:

  • Netflix commissioned and produced the show
  • Netflix has the exclusive international streaming rights to the show
  • Netflix has co-produced the show with another Network
  • It is a continuation of a previously canceled show (Netflix picks up the production and distribution of the show)

-(Robinson, 2018)

The microservices can also vary by country. The Netflix you see in India might have a vastly different lineup of movies and shows than the one used in the United States. This is made possible only through Netflix’s modular design, and consequently, its modular organization. As Langlois explains, “products design organizations,” and “modular products call for modular organizations,” (2002)

 

 

References
Baldwin, C. Y., & Clark, K. B. (2000). Design rules. MIT Press.
Langlois, R. M. “Modularity in Technology and Organization.” Journal of Economic Behavior & Organization 49, no. 1 (September 2002): 19-37.
Irvine, M. (n.d.). “The logic of managing complex systems with re-implementable models of interconnected components and abstraction layers.” Introducing modular design principles. Manuscript in progress.
Mak, S. (2017, March 24). Modules vs. microservices. O’Reilly Media. https://www.oreilly.com/radar/modules-vs-microservices/
Robinson, J. (2018, November 9). The Four Types of Netflix Originals. What’s on Netflix. https://www.whats-on-netflix.com/news/the-four-types-of-netflix-originals/
Software, S. (2015, December 8). Why You Can’t Talk About Microservices Without Mentioning Netflix. SmartBear.Com. https://smartbear.com/blog/develop/why-you-cant-talk-about-microservices-without-ment/
Watts, S., & Shiff, L. (2018, October 9). Monolithic vs Microservices Architecture (MSA) – BMC Blogs [Blog]. BMC. https://www.bmc.com/blogs/microservices-architecture/