Predictive Auto-scaling with OpenStack Monasca

11/03/2021
by   Giacomo Lanciano, et al.
0

Cloud auto-scaling mechanisms are typically based on reactive automation rules that scale a cluster whenever some metric, e.g., the average CPU usage among instances, exceeds a predefined threshold. Tuning these rules becomes particularly cumbersome when scaling-up a cluster involves non-negligible times to bootstrap new instances, as it happens frequently in production cloud services. To deal with this problem, we propose an architecture for auto-scaling cloud services based on the status in which the system is expected to evolve in the near future. Our approach leverages on time-series forecasting techniques, like those based on machine learning and artificial neural networks, to predict the future dynamics of key metrics, e.g., resource consumption metrics, and apply a threshold-based scaling policy on them. The result is a predictive automation policy that is able, for instance, to automatically anticipate peaks in the load of a cloud application and trigger ahead of time appropriate scaling actions to accommodate the expected increase in traffic. We prototyped our approach as an open-source OpenStack component, which relies on, and extends, the monitoring capabilities offered by Monasca, resulting in the addition of predictive metrics that can be leveraged by orchestration components like Heat or Senlin. We show experimental results using a recurrent neural network and a multi-layer perceptron as predictor, which are compared with a simple linear regression and a traditional non-predictive auto-scaling policy. However, the proposed framework allows for the easy customization of the prediction policy as needed.

READ FULL TEXT
research
08/03/2020

A simple and effective predictive resource scaling heuristic for large-scale cloud applications

We propose a simple yet effective policy for the predictive auto-scaling...
research
03/12/2022

Wasserstein Adversarial Transformer for Cloud Workload Prediction

Predictive Virtual Machine (VM) auto-scaling is a promising technique to...
research
11/08/2017

Elascale: Autoscaling and Monitoring as a Service

Auto-scalability has become an evident feature for cloud software system...
research
08/09/2018

Auto-Scaling Network Resources using Machine Learning to Improve QoS and Reduce Cost

Virtualization of network functions (as virtual routers, virtual firewal...
research
05/19/2017

A Comparison of Reinforcement Learning Techniques for Fuzzy Cloud Auto-Scaling

A goal of cloud service management is to design self-adaptable auto-scal...
research
10/15/2020

Towards Self-Improving Hybrid Elasticity Control of Cloud-based Software Systems

Elasticity is a form of self-adaptivity in cloud-based software systems ...

Please sign up or login with your details

Forgot password? Click here to reset