Netflix Tech Stack Has No Chill: How To Account for 15% of the World's Bandwidth

Written by abhishek.deltech | Published 2020/02/04
Tech Story Tags: netflix | devops | aws | aws-lambda | continuous-delivery | django | python | startups

TLDR Netflix Tech Stack Has No Chill: How To Account for 15% of the World's Bandwidth, Netflix account for 15,304 reads. This is NOT a press release by Netflix. Just my honest review of tech that helps us binge great content without hassle. Netflix is top-of-mind the second someone talks about streaming content platforms, is its open-ended efforts of not only making the content widely accessible to all ranges of devices, but combining that with lesser network speed and data requirements, through cutting edge technology. Netflix believes in keeping the podiums of streaming technology and content at an equal level.via the TL;DR App

Disclaimer: This is NOT a press release by Netflix. Just my honest review of tech that helps us binge great content without hassle.
FAANGFacebook, Amazon, Apple, Netflix, and Alphabet (formerly Google)—are known for creating addictive products and experiences that no user wants to let go of. Similarly, Instagram, Google Maps, or Amazon are admired by their users for how they solve daily problems or add value to our lives.
Of the FAANG and FAANG-adjacent products included in the list above, I believe Netflix isn't (comparatively) getting as much attention as it deserves for being a technological marvel.
Before writing this piece, I talked to a number of my colleagues, with whom I talk about tech and latest products from time to time.
But never about Netflix.
Netflix shows, sure.
Netflix technology? Not as much.
Maybe that’s the beauty of a truly magical product - users not even realising all the magic that’s happening.
But magic, it is. 
Fair enough though, we are used to just passively WATCHING what’s being played in front on us. Whether you're a Peaky Blinders person or more of a MindHunter fan, chances are, you don't often give much thought to how it is you’re able to stream all of your favourite shows without any hassle.
In this post, I unpack the Netflix model so you know more next time you get automatically sucked in to the next episode. Let’s get started!

The OTT leader - NFLX

With the digitization of video content, all new and existing OTT Platforms have been focusing on the simple formula of good content + latest recommendation algorithmic technologies = exceptional user experience.
Of all the OTTs currently on the market, Netflix has no chill.
Netflix believes in keeping the podiums of streaming technology and content at an equal level. The reason Netflix is top-of-mind the second someone talks about streaming content platforms, is its open-ended efforts of not only making the content widely accessible to all ranges of devices, but combining that with lesser network speed and data requirements, through cutting edge technology.
Take the Dynamic Optimizer used by Netflix for an example. In early 2018, Netflix introduced its co-developed Dynamic Optimizer powered by AI techniques, which scrutinizes each frame of a video, then re-encodes, and compresses its size by an enormous amount without deteriorating its image quality.
This increases their appeal to the Netflix users that stream content on portable devices like smartphones and tablets as they can use Netflix without exceeding their monthly bandwidth capacity.
All of this is a result of amazing tech stack used by Netflix. Let’s take a look at Netflix’s robust tech stack and get a hold on the back-end reasons for its seamless user experience.

Netflix Tech Stack

Even with access to loads of highly addictive content, the success of an OTT provider wouldn’t be guaranteed if not backed up by a robust tech stack.
To ensure an all-round support and compatibility, the Netflix tech stack comprises many programming languages (e.g. Java, JavaScript, Python, Kotlin and Swift).
Netflix’s much appreciated scaling culture and security is owed to its use of Python. Kotlin imparts much required tooling support and also comes handy with other programming languages due to its interoperable nature. Python being the part of Netflix’s arsenal, also ensures the use of Machine Learning and Artificial Intelligence for features like user personalization and data-economical encoding respectively.
Netflix tech stack also consists of utterly comprehensive libraries which polish user experience and frameworks to act as a spine for the development processes. The user friendly interfaces of Netflix are promised by Reactjs, the JavaScript UI library. It uses NodeJS as a framework and WinJS to facilitate the development of its Windows application.
Being a digital content platform, Netflix tech stack has to consist of a backend tools, processes and architecture that shout competence and reliability through its reputation.

Reliable Backend of Netflix

Before 2008, Netflix used their own data centers to track customers, maintain inventory and customer billing. When they took the shot at cloud computing due to its advantages over data centers, they went with Amazon Web Services which seemed to be the perfect fit for Netflix in terms of security, scalability, flexibility and functionality.
Netflix uses reliable Amazon EC2 Servers for cloud hosting and Amazon RDS and Amazon DynamoDB for Database-as-a-service. Apart from this, Dynomite acts as a Database Cluster Manager in Netflix tech stack. It offers great advantages by supporting pluggable persistent and in-memory storage engines.There are also tools like AWS elastic Transcoder used by Netflix to format videos appropriately which saves you from buffers. 
Netflix uses AWS for a plethora of services through different accounts for different aspects of their business such as subscriptions, content delivery and personalized recommendations. These multiple accounts in AWS ensure autonomy amongst teams and hence result in quick addition of features and updates. Apart from this, the sophisticated Continuous Integration and Continuous Deployment (CI/CD) also ensure quick deployment.
Other Backend tools include Kafka which scrutinizes user history and stores data which can be accessed to compute personalized user recommendations through algorithms like Restricted Boltzmann Machines and SVD++. Spinnaker is another tool developed at Netflix’s inventory. it is an open source program which gives the developers room for experimentation and they can make small changes, test them over a subset of users and then implemented full-fledgedly after obliterating the bugs found during those automated tests.

DevOps at Netflix - Tech Stack of Netflix

Netflix tech stack may have all the important components, but it would still be incomplete without devops. Netflix tech stack and techniques are thoroughly drenched in DevOps. According to Dianne Marsh, director of engineering for engineering tools at Netflix, context is very important for the developers. It helps them wrap their head around the business needs and hence increases their productivity drastically. It also promises frequent and highly-automated code releases.
Netflix tech stack uses GitHub for code collaboration and version control. This ensures that different teams get a hold of their responsibilities of themselves and their work and its impacts on the wider ecosystem. Jenkins is the part of the Netflix stack for ensuring Continuous Integration. Apart from this, Apache Mesos and Sumo Logic are used for Server Management and Log Management respectively. They also use Crittercism for mobile error monitoring and Boundary and LogicMonitor for Performance monitoring.
Another great DevOps practice used at Netflix is building for failures. This means that they are finding new solutions for the plentitude of problems that can cause them downtime. For this, they have a tool called ‘Chaos Monkey’. All it does is randomly selects Netflix’s production instances and disables it so that their dedicated teams can find a solution to future proof any customer impact.

Innovations in Content Production 

Even after having such a comprehensive tech stack of Netflix being a content creation company first and then a tech company, faces hindrance in adapting new technologies due to the fact that business of content creation is very, very slow to adapt to new technology. Although this slow acclimatization of the content creation business also gives Netflix an edge over its competitors.
As Netflix is looking to put another leg into original content creation, it is amalgamating technology with content production to introduce tools for the production process. Tools like contacts manager and interactive breakdown tools for scripts can come in handy to the production crews. One such app that facilitates the production process is called Move which simplifies  crew management, scheduling shoots, etc.

Conclusion

With an ambitious innovation team, Netflix is the perfect example of a company keeping up with the pace of technological advances. Apart from being a Digital Content Platform, Netflix surely will emerge as a leading tech company owing to its hefty investments and support in technology and innovation which is quite evident by its open source programs.


Published by HackerNoon on 2020/02/04