Netflix has revealed how it uses the popular programming language Python’s libraries and frameworks to provide a streaming option for every movie and TV show you watch on the platform.
Python, which continues to grow as one of the most popular languages, is used for ”full content lifecycle,” at Netflix that includes security tools and machine learning models for recommendation algorithms.
The language also helps Netflix with its proprietary content distribution network (CDN) Open Connect to ensure that the videos are streamed from the closest network devices to end users.
According to the Netflix team, Python’s popularity in the networking space can be attributed to the fact that it’s an “intuitive language that allows engineers to quickly solve networking problems.”
“We are proud to say that our team’s tools are built primarily in Python,” writes the team in a blog post.
Netflix listed down the usage of Python programming language in different aspects of their software development. The major reason behind using Python is its useful libraries which includes NumPy and SciPy — used by Netflix to perform numerical analysis for its failover services.
The company also relies a lot on Redis Queue and Jupyter Notebooks tools for Python. Besides these, Netflix executes machine learning projects by using the Metaflow Python framework.
Amjith Ramanujam, a senior software engineer at Netflix, says that they use “well parallelized and optimized Python code to fetch data at 10Gbps.”
The team also uses Python to handle huge amounts of data points in the memory, and perform computation over tens of thousands of CPU cores.
In the information security department, Netflix uses Python for security automation, risk classification, auto-remediation, and vulnerability identification.
Moreover, Netflix’s Security Monkey tool and another project called Prism, which helps identify vulnerabilities in the source code, are also based on Python.
So it isn’t hard to understand why Netflix chose Python for its software development.