The developers at Netflix are huge Python fans. No, not the seminal British comedy troupe Monty Python, but the programming language named after them, Python. The online movie rental and streaming company is sponsoring the annual PyCon conference, bringing Python developers around the world to Santa Clara, Calif. from March 13 to March 21.
“Developers at Netflix have the freedom to choose the technologies best suited for the job,” a post on the company’s blog said. According to the post, developers are finding Python the best tool for the job.
Netflix programmers are drawn to the language for its clear syntax and the large number of libraries available for the open source scripting language. Since it’s an interpreted language that automatically manages memory, there’s no lengthy compilation process and they don’t have to track down bugs such as memory leaks that can slow down development, allowing programmers to be more productive.
Developers have used Python for a number of internal services and these systems and applications comprise a glimpse of the overall use and importance of Python to Netflix. They contribute heavily to our overall service quality, allow us to rapidly innovate, and are a whole lot of fun to work on to boot!” the blog post said.
One of them is Central Alert Gateway (News - Alert) (CAG), a RESTful web-based alerting system. It can take alerts and e-mail them to the parties that are best able to deal with them and page on-call engineers to fix problems. CAG can also reboot Amazon EC2 instances if necessary.
Chaos Gorilla simulates the failure of the site’s availability zones. The idea is that if engineers get used to dealing with simulated failures on a daily basis, they’ll be able to deal with real failures quickly and with minimum reduction in service. It joins Chaos Monkey, which simulates smaller failures in Netflix’s systems.
Netflix has created a couple of other monkeys with Python: Security Monkey and Howler Monkey. Security Monkey keeps track of configuration changes to security policies on Netflix’s EC2 instances, and Howler Monkey alerts engineers to expired SSL certificates.
Chronos is a change control system that allows engineers to find out what software and configuration changes have been made recently.