The next time you're streaming on Netflix, you can thank popular programming language Python and the developers who use it for much of the experience.
According to Python developers at Netflix, the language is used through the "full content lifecycle", from security tools, to its recommendation algorithms, and its proprietary content distribution network (CDN) Open Connect, which ensures that content is streamed from network devices that are as close as possible to end users.
Ahead of the Python Software Foundation's PyCon conference next week in Cleveland, the streaming giant has been detailing how it uses the open-source language.
Python is one of the most popular languages these days and is widely used for data analysis, machine learning, DevOps, and web development.
At Netflix, many of the network devices that make up its CDN are "mostly managed by Python applications", which do tasks like tracking the inventory of network devices, their health and location.
"Python has long been a popular programming language in the networking space because it's an intuitive language that allows engineers to quickly solve networking problems," notes Netflix senior software engineer, Amjith Ramanujam.
The momentum behind the language is driven by useful libraries that get developed, he adds. These include the NumPy and SciPy libraries for Python, which Netflix uses to perform numerical analysis for its failover services. It's also a heavy user of Redis Queue and Jupyter Notebooks tools for Python.
Netflix also uses the Boto 3 AWS SDK for Python to configure its AWS infrastructure. Netflix runs on mostly on AWS infrastructure and last year spent $1.3bn on technology and development.
And of course Python is used extensively within Netflix's machine-learning algorithms for things like content recommendations, artwork personalization, and marketing.
The company also uses a tool called Metaflow, which Ramanujam says "pushes the limit of Python".
"We leverage well parallelized and optimized Python code to fetch data at 10Gbps, handle hundreds of millions of data points in memory, and orchestrate computation over tens of thousands of CPU cores," he writes.
On the information security front, Netflix uses Python for security automation, risk classification, auto-remediation, and vulnerability identification. And Python was behind Netflix's Security Monkey tool, as well as a project called Prism, which helps identify vulnerabilities in source code.
More on Netflix, Python, and programming languages
- Netflix to raise technology, marketing, content spending in 2018
- TypeScript 3.4 is out: Microsoft tweaks programming language to cut build times
- Microsoft's TypeScript programming language rising fast, almost makes top 10
- Programming languages: Python rides high but Groovy is cool again with developers
- Python programming language's top uses, tools: Developers reveal their choices
- Best-paying programming languages, skills: Here are the top earners
- Programming languages: Don't bother learning these ones in 2019
- Programming languages: Python developers now outnumber Java ones
- Programming languages: Developers reveal most loved, most loathed, what pays best
- Programming languages: Python's PEP 572 feature that drove founder to quit edges nearer TechRepublic
- The programming languages and skills that pay the best in 2019 TechRepublic
- Is Julia the next big programming language? MIT thinks so, as version 1.0 lands TechRepublic
- Mozilla's radical open-source move helped rewrite rules of tech CNET