I. Introduction
There has been a steady trend over the last few years [1] for applications to be packaged and deployed in the form of containers, such as Docker [2], [3]. Containers offer reproducible execution environments, light lifecycle management, and closer-to-metal performance than classical virtual machine deployments. Container registries—public ones such as Docker Hub [4], or private ones such as Google Cloud Registry [5]—hold and serve thousands of container images, ready to be used. Hence, developers can simply rely on cloud infrastructures to deploy services of various nature. As such, containers are used for all kind of services, from simple key-value stores (e.g., Redis [6]), to web servers (Apache [6]); from full-fledged relational databases (MySQL [7]) to scalable discovery services [8]. Major cloud operators natively support container deployments in their infrastructure (e.g., Google Container Engine [9] or Amazon EC2 Container Service [10]). Similarly, it is straightforward to set up a container cluster on private premises, leveraging popular [11] container orchestrators (or schedulers) such as Kubernetes or Docker Swarm.