Archived Content

The following content is from an older version of this website, and may not display correctly.

Netflix, the popular online video service that makes extensive use of public-cloud infrastructure by Amazon Web Services (AWS), has made code for one of the tools it developed to make its cloud-using life easier open source.

Netflix developers built Janitor Monkey to automate clean-up of unused cloud resources, such as virtual-machine (VM) instances and cloud-storage volumes, or “Elastic Block Storage” (EBS) volumes in AWS parlance.

Over 2012, the application deleted more than 5,000 cloud resources Netflix developers had at some point used in production and test environments. “It has helped keep our costs down and has freed up engineering time which is no longer needed to manage unused resources,” the company’s software engineers Michael Fu and Cory Bennett posted on the Netflix Tech Blog.

For a developer using AWS extensively, losing track of cloud resources deployed can be easy. He or she can forget to delete a cluster with a previous version of an application or to destroy a volume when extra disk is no longer needed, Fu and Bennett explained.

An Application Programming Interface (API) or a network error can cause to a lost request to delete an unused volume.

Janitor Monkey finds unused resources automatically, based on fully configurable sets of rules. An EBS volume can be marked for clean-up if it has not been attached to a VM instance for 30 days, for example.

Once the monkey marks a resource, it notifies its owner and schedules a time to delete it.

While it was built to run on AWS, the application is flexible enough to work on other providers’ clouds.

Janitor Monkey is a member of Netflix’ Simian Army, which is a series of tools the company’s engineers have developed to manage their public-cloud infrastructure.

The army’s first simian was the Chaos Monkey. It literally wreaks chaos on the company’s cloud infrastructure by randomly disabling production instances.

This is a test of reliability of the architecture, built to make sure that the entire system does not go down when one or more of its components fail. Netflix engineers let the Chaos Monkey loose in a monitored environment but usually in the middle of a business day.

The other simians are Latency Monkey, Conformity Monkey, Doctor Monkey, Security Monkey, 10-18 Monkey and Chaos Gorilla. Purpose of the last simian on the list is similar to that of Chaos Monkey’s, but Chaos Gorilla simulates an outage of an entire AWS availability zone.

On 24 December – this past Christmas Eve – some Netflix customers in US, Canada and Latin America experienced problems using the online service. The company attributed the outage to problems with few of the hundreds of Elastic Load Balancers by AWS it uses.