Abstract
The cloud community has accepted microservices as the dominant architecture for implementing cloud native applications. To efficiently execute microservice-based applications, application owners need to carefully scale the required resources, considering the dynamic workload of individual microservices. The complexity of resource provisioning for such applications highlights the crucial role of autoscaling mechanisms. Kubernetes, the common orchestration framework for microservice-based applications, mainly proposes a horizontal pod autoscaling (HPA) mechanism, which, however, lacks efficiency. To hinder resource wastage and still achieve the requested average response time of microservices, we propose a multi-objective autoscaling mechanism. Based on machine learning techniques, we introduce a toolchain for hybrid autoscaling of microservices in Kubernetes. Comparing several machine learning techniques and also our in-house performance modeling tool, called Extra-P, we propose the most adequate model for solving the problem. Our extensive evaluation on a real-world benchmark application shows a significant reduction of resource consumption while still meeting the average response time specified by the user, which outperforms the results of common HPA in Kubernetes.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Notes
- 1.
- 2.
From the Scikit-learn package (https://scikit-learn.org/).
- 3.
- 4.
- 5.
- 6.
- 7.
- 8.
m stands for millicore.
- 9.
Mi stands for mebibyte.
- 10.
- 11.
- 12.
- 13.
- 14.
References
Balla, D., Simon, C., Maliosz, M.: Adaptive scaling of Kubernetes pods. In: NOMS 2020–2020 IEEE/IFIP Network Operations and Management Symposium, pp. 1–5 (2020)
Botchkarev, A.: A new typology design of performance metrics to measure errors in machine learning regression algorithms. Interdiscip. J. Inf. Knowl. Manag. 14, 45–76 (2019)
Calotoiu, A.: Automatic empirical performance modeling of parallel programs. Ph.D. thesis, Technische Universität Darmstadt (2018)
Dang-Quang, N.M., Yoo, M.: Deep learning-based autoscaling using bidirectional long short-term memory for Kubernetes. Appl. Sci. 11(9) (2021)
Fard, H.M., Prodan, R., Wolf, F.: A container-driven approach for resource provisioning in edge-fog cloud. In: Brandic, I., Genez, T.A.L., Pietri, I., Sakellariou, R. (eds.) ALGOCLOUD 2019. LNCS, vol. 12041, pp. 59–76. Springer, Cham (2020). https://doi.org/10.1007/978-3-030-58628-7_5
Fard, H.M., Prodan, R., Wolf, F.: Dynamic multi-objective scheduling of microservices in the cloud. In: IEEE/ACM 13th International Conference on Utility and Cloud Computing (UCC), pp. 386–393 (2020)
Imdoukh, M., Ahmad, I., Alfailakawi, M.G.: Machine learning-based auto-scaling for containerized applications. Neural Comput. Appl. 32(13), 9745–9760 (2019). https://doi.org/10.1007/s00521-019-04507-z
Von Kistowski, J., Eismann, S., Schmitt, N., Bauer, A., Grohmann, J., Kounev, S.: Teastore: a micro-service reference application for benchmarking, modeling and resource management research. In: 2018 IEEE 26th International Symposium on Modeling, Analysis, and Simulation of Computer and Telecommunication Systems (MASCOTS), pp. 223–236 (2018)
Kolios, A., Mytilinou, V., Lozano-Minguez, E., Salonitis, K.: A comparative study of multiple-criteria decision-making methods under stochastic inputs. Energies 9(7) (2016)
Midigudla, D.: Performance analysis of the impact of vertical scaling on application containerized with Docker, Kubernetes on Amazon web services EC2 (2019)
Nielsen, J.: Usability Engineering. Morgan Kaufmann, Burlington (1994)
Qu, C., Calheiros, R.N., Buyya, R.: Auto-scaling web applications in clouds: a taxonomy and survey. ACM Comput. Surv. 51(4), 1–33 (2018)
Rossi, F., Nardelli, M., Cardellini, V.: Horizontal and vertical scaling of container-based applications using reinforcement learning. In: 2019 IEEE 12th International Conference on Cloud Computing (CLOUD), pp. 329–338 (2019)
Rzadca, K., et al.: Autopilot: workload autoscaling at google, pp. 1–16. EuroSys 2020, Association for Computing Machinery, New York, NY, USA (2020)
Toka, L., Dobreff, G., Fodor, B., Sonkoly, B.: Machine learning-based scaling management for Kubernetes edge clusters. IEEE Trans. Netw. Serv. Manag. 18(1), 958–972 (2021)
Zhao, A., Huang, Q., Huang, Y., Zou, L., Chen, Z., Song, J.: Research on resource prediction model based on Kubernetes container auto-scaling technology. In: IOP Conference Series: Materials Science and Engineering, vol. 569, pp. 1–8. IOP Publishing (2019)
Acknowledgements
We acknowledge the support of the European Commission and the German Federal Ministry of Education and Research (BMBF) under the EuroHPC Programme ADMIRE (GA No. 956748, BMBF funding No. 16HPC006K). The EuroHPC Joint Undertaking (JU) receives support from the European Union’s Horizon 2020 research and innovation programme and GER, FRA, ESP, ITA, POL and SWE. This research was also supported by the EBRAINS research infrastructure, funded by the European Union’s Horizon 2020 Framework Programme for Research and Innovation under the Specific GA No. 945539 (Human Brain Project SGA3), and is partly funded by the Federal Ministry of Education and Research (BMBF) and the state of Hesse as part of the NHR Program.
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2022 Springer Nature Switzerland AG
About this paper
Cite this paper
Horn, A., Fard, H.M., Wolf, F. (2022). Multi-objective Hybrid Autoscaling of Microservices in Kubernetes Clusters. In: Cano, J., Trinder, P. (eds) Euro-Par 2022: Parallel Processing. Euro-Par 2022. Lecture Notes in Computer Science, vol 13440. Springer, Cham. https://doi.org/10.1007/978-3-031-12597-3_15
Download citation
DOI: https://doi.org/10.1007/978-3-031-12597-3_15
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-031-12596-6
Online ISBN: 978-3-031-12597-3
eBook Packages: Computer ScienceComputer Science (R0)