Autoscaling Solutions for Cloud Applications under Dynamic Workloads

Giovanni Quattrocchi,Emilio Incerto,Riccardo Pinciroli,Catia Trubiani,Luciano Baresi
DOI: https://doi.org/10.1109/tsc.2024.3354062
IF: 11.019
2024-01-01
IEEE Transactions on Services Computing
Abstract:Autoscaling systems provide means to automatically change the resources allocated to a software system according to the incoming workload and its actual needs. Public cloud providers offer a variety of autoscaling solutions, ranging from those based on user-written rules to more sophisticated ones. Originally, these solutions were conceived to manage clusters of virtual machines, while more recently, they have also been employed in the operation of containers. This paper analyses the autoscaling solutions provided by three major cloud providers, namely Amazon Web Services, Google Cloud Platform, and Microsoft Azure, and compares them against two solutions we develop based on control theory (ScaleX) and queuing theory (QN-CTRL). We evaluate the different approaches using both an in-house simulation engine and cloud deployments by feeding them with various synthetic and real-world workloads. Our extensive evaluation collects both simulation results and real measurements by which we can assess that both scaleX and QN-CTRL outperform industrial techniques in most cases when considering the trade-offs between the service-level-agreement (SLA) violations and the optimal usage of resources.
computer science, information systems, software engineering
What problem does this paper attempt to address?