PROACTIVE HORIZONTAL SCALING METHOD FOR KUBERNETES
DOI:
https://doi.org/10.15588/1607-3274-2024-1-20Keywords:
dynamic resource provisioning, Kubernetes, autoscaling, horizontal scaling, proactive scaling, Prophet, Horizontal Pod AutoscalerAbstract
Context. The problem of minimizing redundant resource reservation while maintaining QoS at an agreed level is crucial for modern information systems. Modern information systems can include a large number of applications, each of which uses computing resources and has its own unique features, which require a high level of automation to increase the efficiency of computing resource management processes.
Objective. The purpose of this paper is to ensure the quality of IT services at an agreed level in the face of significant dynamics of user requests by developing and using a method of proactive automatic application scaling in Kubernetes.
Method. This paper proposes a proactive horizontal scaling method based on the Prophet time series prediction algorithm. Prometheus metrics storage is used as a data source for training and validating forecasting models. Based on the historical metrics, a model is trained to predict the future utilization of computation resources using Prophet. The obtained time series is validated and used to calculate the required number of application replicas, considering deployment delays.
Results. The experiments have shown the effectiveness of the proposed proactive automated application scaling method in comparison with existing solutions based on the reactive approach in the selected scenarios. This method made it possible to reduce the reservation of computing resources by 47% without loss of service quality compared to the configuration without scaling.
Conclusions. A method for automating the horizontal scaling of applications in Kubernetes is proposed. Although the experiments have shown the effectiveness of this solution, this method can be significantly improved. In particular, it is necessary to consider the possibility of integrating a reactive component for atypical load patterns.
References
Rolіk O. І., Telenik S. F., Yasochka M. V. Upravlіnnya korporativnoyu іnfrastrukturoyu. Kyiv, Naukova Dumka, 2018, 576 p.
Omelchenko V. V., Rolik O. I. Automation of resource management in information systems based on reactive vertical scaling, Adaptive systems of automatic control, 2022 Vol. 2, No. 4, pp. 65–78. DOI: 10.20535/15608956.41.2022.271344.
Lorido-Botran T., Miguel-Alonso J., Lozano J. A. A Review of Auto-scaling Techniques for Elastic Applications in Cloud Environments, Journal of Grid Computing: Springer Science and Business Media LLC, 2014,Vol. 12, No. 4, pp. 559–592. DOI: 10.1007/s10723-014-9314-7.
Caron E., Desprez F., Muresa A. Pattern Matching Based Forecast of Non-periodic Repetitive Behavior for Cloud Clients, Journal of Grid Computing: Springer Science and Business Media LLC, 2011, Vol. 9, No. 1, pp. 49–64. DOI: 10.1007/s10723-010-9178-4.
Calheiros R. N., Masoumi E., Ranjan R., Buyya R. Workload Prediction Using ARIMA Model and Its Impact on Cloud Applications’ QoS, IEEE Transactions on Cloud Computing: Institute of Electrical and Electronics Engineers, 2015, Vol. 3, No. 4, pp. 449–458. DOI: 10.1109/tcc.2014.2350475.
Hosseini R., Chen A., Yang K., Patra S. Greykite: Deploying Flexible Forecasting at Scale at LinkedIn, arXiv. 2022. DOI: 10.48550/ARXIV.2207.07788.
Taylor S. J., Letham B. Forecasting as scale, PeerJ, 2017. DOI: 10.48550/ARXIV.2111.15397.
Zhenhuan G., Xiaohui G., Wilkes J. PRESS: PRedictive Elastic ReSource Scaling for cloud systems, 2010 International Conference on Network and Service Management. IEEE, 2010. DOI: 10.1109/cnsm.2010.5691343.
Zhong J., Duan S., Li Q. Auto-Scaling Cloud Resources using LSTM and Reinforcement Learning to Guarantee Service-Level Agreements and Reduce Resource Costs, Journal of Physics: Conference Series, 2019, Vol. 1237, No. 2, pp. 22–33. DOI: 10.1088/1742-6596/1237/2/022033.
“Deployment Controllers” Kubernetes Documentation. [Online]. Available: https://kubernetes.io/docs/concepts/ workloads/controllers/deployment/.
“Minikube Documentation,” Minikube Documentation. [Online]. Available: https://minikube.sigs.k8s.io/docs/.
Locust, “Locust GitHub Repository,” GitHub. [Online]. Available: https://github.com/locustio/locust.
Downloads
Published
How to Cite
Issue
Section
License
Copyright (c) 2024 O. I. Rolik, V. V. Omelchenko
This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.
Creative Commons Licensing Notifications in the Copyright Notices
The journal allows the authors to hold the copyright without restrictions and to retain publishing rights without restrictions.
The journal allows readers to read, download, copy, distribute, print, search, or link to the full texts of its articles.
The journal allows to reuse and remixing of its content, in accordance with a Creative Commons license СС BY -SA.
Authors who publish with this journal agree to the following terms:
-
Authors retain copyright and grant the journal right of first publication with the work simultaneously licensed under a Creative Commons Attribution License CC BY-SA that allows others to share the work with an acknowledgement of the work's authorship and initial publication in this journal.
-
Authors are able to enter into separate, additional contractual arrangements for the non-exclusive distribution of the journal's published version of the work (e.g., post it to an institutional repository or publish it in a book), with an acknowledgement of its initial publication in this journal.
-
Authors are permitted and encouraged to post their work online (e.g., in institutional repositories or on their website) prior to and during the submission process, as it can lead to productive exchanges, as well as earlier and greater citation of published work.