KOSMOS: Vertical and Horizontal Resource Autoscaling for Kubernetes
Published in 19th International Conference on Service-Oriented Computing, ICSOC 2021, 2021
Recommended citation: Baresi L., Hu D.Y.X., Quattrocchi G., Terracciano L. (2021). "KOSMOS: Vertical and Horizontal Resource Autoscaling for Kubernetes." 19th International Conference on Service-Oriented Computing, ICSOC 2021. https://www.scopus.com/inward/record.uri?eid=2-s2.0-85120525473&doi=10.1007%2f978-3-030-91431-8_59&partnerID=40&md5=c7ae46c26ef35f9c8d7b0a5a43e67cf8
Abstract: Cloud applications are increasingly executed onto lightweight containers that can be efficiently managed to cope with highly varying and unpredictable workloads. Kubernetes, the most popular container orchestrator, provides means to automatically scale containerized applications to keep their response time under control. Kubernetes provisions resources using two main components: i) Horizontal Pod Autoscaler (HPA), which controls the amount of containers running for an application, and ii) Vertical Pod Autoscaler (VPA), which oversees the resource allocation of existing containers. These two components have several limitations: they must control different metrics, they use simple threshold-based rules, and the reconfiguration of existing containers requires stopping and restarting them. To overcome these limitations this paper presents KOSMOS, a novel autoscaling solution for Kubernetes. Containers are individually controlled by control-theoretical planners that manage container resources on-the-fly (vertical scaling). A dedicated component is in charge of handling resource contention scenarios among containers deployed in the same node (a physical or virtual machine). Finally, at the cluster-level a heuristic-based controller is in charge of the horizontal scaling of each application. © 2021, Springer Nature Switzerland AG. keywords: Autoscaling; Cloud applications; Horizontal scaling; Kubernetes; Resource contention; Resource provisioning; Simple++; Two-component; Vertical scaling; Containers pages: 821-829