Beyond Fork and Exec: Running a Million Containers at Facebook

Session information has not yet been published for this event.

Refereed Presentation
Scheduled: Friday, November 4, 2016 from 9:30 – 10:15am in Sweeney F

One Line Summary

A critical look at Linux APIs from an application developer perspective


Tupperware is a software deployment system responsible for tens of thousands of unique services at Facebook. Service specifications are uploaded to schedulers, converted into some number of task specifications, and farmed out to hundreds of thousands of Facebook servers.

The piece of software that turns these task specifications into container reality is the Tupperware Agent. Beyond instantiating containers, providing a simple abstraction requires functionality ranging from health monitoring to log aggregation and search. This broad charter requires the use (and, frankly, abuse) of nearly every Linux API one could imagine.

Using several examples from the Tupperware Agent, this talk presents a critical (but hopefully fair) look at the Linux APIs and their usability from an application developer perspective. These examples are drawn primarily from the speaker’s own heartbreaking experiences, and, while this system has mostly been made to work, caveat emptor.


  • Alex Gartrell



    Alex Gartrell is a Software Engineer at Facebook working in Infrastructure. He has previously worked on the Linux Kernel, Traffic Infrastructure (CDN), and Memcached teams, but currently works on Facebook’s Tupperware team, working with containers.

Leave a private comment to organizers about this proposal