Multi-Level elastic deployment of containerized applications in Geo-Distributed Environments
Containers are increasingly adopted, because they simplify the deployment and management of applications. Moreover, the ever increasing presence of IoT devices and Fog computing resources calls for the development of new approaches for decentralizing the application execution, so to improve the application performance. Although several solutions for orchestrating containers exist, the most of them does not efficiently exploit the characteristics of the emerging computing environment. In this paper, we propose Adaptive Container Deployment (ACD), a general model of the deployment and adaptation of containerized applications, expressed as an Integer Linear Programming problem. Besides acquiring and releasing geo-distributed computing resources, ACD can optimize multiple run-time deployment goals, by exploiting horizontal and vertical elasticity of containers. We show the flexibility of the ACD model and, using it as benchmark, we evaluate the behavior of several greedy heuristics for determining the container deployment.