{"title":"Capacity-Driven Scaling Schedules Derivation for Coordinated Elasticity of Containers and Virtual Machines","authors":"Yesika M. Ramirez, Vladimir Podolskiy, M. Gerndt","doi":"10.1109/ICAC.2019.00029","DOIUrl":null,"url":null,"abstract":"With the growing complexity of microservice applications and proliferation of containers, scaling of cloud applications became challenging. Containers enabled the adaptation of the application capacity to the changing workload on the finer level of granularity than it was possible only with virtual machines. The common way to automate the adaptation of a cloud application is via autoscaling. Autoscaling is provided both on the level of virtual machines and containers. Its accuracy on dynamic workloads suffers significantly from the reactive nature of the available autoscaling solutions. The aim of the paper is to explore potential improvements of autoscaling by designing and evaluating several predictive-based autoscaling policies. These policies are naive (used as a baseline), best resource pair, only-Delta-load, always-resize, resize when beneficial. The scaling policies were implemented in Scaling Policy Derivation Tool (SPDT). SPDT takes the long-term forecast of the workload and the capacity model of microservices as input to produce the sequence of scaling actions scheduled for the execution in future with the aims to meet the service level objectives and minimize the costs. Policies implemented in SPDT were evaluated for three microservice applications and several workload patterns. The tests demonstrate that the combination of horizontal and vertical scaling enables more flexibility and reduces costs. Schedule derivation according to some policies might be compute-intensive, therefore careful consideration of the optimization objective (e.g. cost minimization or timeliness of the scaling policy) is required from the user of SPDT.","PeriodicalId":442645,"journal":{"name":"2019 IEEE International Conference on Autonomic Computing (ICAC)","volume":"97 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2019-06-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"8","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"2019 IEEE International Conference on Autonomic Computing (ICAC)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/ICAC.2019.00029","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 8
Abstract
With the growing complexity of microservice applications and proliferation of containers, scaling of cloud applications became challenging. Containers enabled the adaptation of the application capacity to the changing workload on the finer level of granularity than it was possible only with virtual machines. The common way to automate the adaptation of a cloud application is via autoscaling. Autoscaling is provided both on the level of virtual machines and containers. Its accuracy on dynamic workloads suffers significantly from the reactive nature of the available autoscaling solutions. The aim of the paper is to explore potential improvements of autoscaling by designing and evaluating several predictive-based autoscaling policies. These policies are naive (used as a baseline), best resource pair, only-Delta-load, always-resize, resize when beneficial. The scaling policies were implemented in Scaling Policy Derivation Tool (SPDT). SPDT takes the long-term forecast of the workload and the capacity model of microservices as input to produce the sequence of scaling actions scheduled for the execution in future with the aims to meet the service level objectives and minimize the costs. Policies implemented in SPDT were evaluated for three microservice applications and several workload patterns. The tests demonstrate that the combination of horizontal and vertical scaling enables more flexibility and reduces costs. Schedule derivation according to some policies might be compute-intensive, therefore careful consideration of the optimization objective (e.g. cost minimization or timeliness of the scaling policy) is required from the user of SPDT.