I. Introduction
In the last decade, Cloud computing has revolutionised the way applications are developed, deployed and delivered to their final users by relying on utility computing resources offered as a service on a pay-per-use billing scheme [1]. Since the advent of the Cloud, application orchestration methodologies have been thoroughly studied pursuing the need to automatise the deployment, migration, (re-)configuration, healing and undeployment of software services at scale [2]. In this context, containerisation technologies made it simpler for DevOps engineers to manage and monitor Cloud applications during their whole life cycle, usually through a declarative description of the desired target state and needed infrastructure resources [3]. This is the case, for instance, of Docker Swarm and Kubernetes orchestration engines.