Abstract
Container-based virtualization is a new technology used by cloud providers to provide cloud services to end-user. This technology has various advantages (e.g. lightweight, quickly deployable, and efficient for resource utilization) for executing an application. It reduces the operating cost, carbon emission, and allocates the resources dynamically. Different cloud applications have different requirements. Deploying resources according to peak requirements always can be costly. On the other hand, always having minimum computing resources may not meet workload’s peak requirements, and may cause degraded system performance, less throughput, more response time and service level agreement violations. Hence, it becomes a challenge to maintain optimal level of resources to fulfill the SLA requirements for the applications. To address the above issues, we propose an auto-scaler which uses proactive approach (Support Vector Regression) to perform horizontal elasticity for Docker containers in response to fluctuating workload for real-time applications. As the workload increases, additional resources will be allocated dynamically supporting elasticity. The increase in capacity of a machine dynamically is termed as elasticity. The effective mechanism of elasticity avoids the violation of SLA and penalties in terms of user’s loss. The proposed auto-scaler uses the IBM computing model, MAPE-K principle to perform elasticity using the workload predictions made by the SVR model. The predicted workload helps auto-scaler to find out the minimum numbers of replicas needed for a container of a cluster so that it handles the future workload. The experimental results show that the results of SVM prediction keep the performance of the system sustainable with fluctuating workload.










Similar content being viewed by others
References
Zhang, Q., Cheng, L., Boutaba, R.: Cloud computing: state-of-the-art and research challenges. J. Internet Serv. Appl. 1(1), 7–18 (2010)
Varghese, B., Buyya, R.: Next generation cloud computing: New trends and research directions. Fut. Gener. Comput. Syst. 79, 849–861 (2018)
Alouane, M., Bakkali, H. E.: Virtualization in cloud computing: Existing solutions and new approach. In: 2016 2nd International Conference on Cloud Computing Technologies and Applications (CloudTech), IEEE, (2016), pp. 116–123
Al-Dhuraibi, Y., Paraiso, F., Djarallah, N., Merle, P.: Elasticity in cloud computing: state of the art and research challenges. IEEE Trans. Serv. Comput. 11(2), 430–447 (2017)
Pahl, C., Brogi, A., Soldani, J., Jamshidi, P.: Cloud container technologies: a state-of-the-art review. IEEE Trans. Cloud Comput. 7, 677 (2017)
Cloud, A. E. C.: Amazon web services. Accessed November 9 (2011)
Copeland, M., Soh, J., Puca, A., Manning, M., Gollob, D.: Microsoft Azure. Apress, New York (2015)
Jamshidi, P., Pahl, C., Mendonça, N.C., Lewis, J., Tilkov, S.: Microservices: The journey so far and challenges ahead. IEEE Softw. 35(3), 24–35 (2018)
Soldani, J., Tamburri, D.A., Van Den Heuvel, W.-J.: The pains and gains of microservices: A systematic grey literature review. J. Syst. Softw. 146, 215–232 (2018)
Alulema, D., Criado, J., Iribarne, L., Fernández-García, A.J., Ayala, R.: A model-driven engineering approach for the service integration of IoT systems. Clust. Comput. 23(3), 1937–1954 (2020)
Buyya, R., Srirama, S.N., Casale, G., Calheiros, R., Simmhan, Y., Varghese, B., Gelenbe, E., Javadi, B., Vaquero, L.M., Netto, M.A., et al.: A manifesto for future generation cloud computing: Research directions for the next decade. ACM Comput. Surv. (CSUR) 51(5), 1–38 (2018)
Khebbeb, K., Hameurlain, N., Belala, F.: Formalizing and simulating cross-layer elasticity strategies in cloud systems. Clust. Comput. 23, 1603 (2020)
Kirchoff, D.F., Xavier, M., Mastella, J., De Rose, C.A.: A preliminary study of machine learning workload prediction techniques for cloud applications. In: 27th Euromicro international conference on parallel, Distributed and Network-Based Processing (PDP). IEEE, pp. 222–227 (2019)
Lorido-Botran, T., Miguel-Alonso, J., Lozano, J.A.: A review of auto-scaling techniques for elastic applications in cloud environments. J. Grid Comput. 12(4), 559–592 (2014)
Casalicchio, E.: A study on performance measures for auto-scaling CPU-intensive containerized applications. Clust. Comput. 22(3), 995–1006 (2019)
Klinaku, F., Frank, M., Becker, S.: Caus: An elasticity controller for a containerized microservice. In: Companion of the 2018 ACM/SPEC International Conference on Performance Engineering, (2018), pp. 93–98
Verma, M., Gangadharan, G., Narendra, N.C., Vadlamani, R., Inamdar, V., Ramachandran, L., Calheiros, R.N., Buyya, R.: Dynamic resource demand prediction and allocation in multi-tenant service clouds. Concurr. Comput. 28(17), 4429–4442 (2016)
Box, G.E., Jenkins, G.M., Reinsel, G.C., Ljung, G.M.: Time Series Analysis: Forecasting and Control. Wiley, Hoboken (2015)
Herbst, N. R., Kounev, S., Reussner, R.: Elasticity in cloud computing: What it is, and what it is not. In: 10th International Conference on Autonomic Computing (\(\{ICAC\}\) 13), (2013), pp. 23–27
Maurya, A.K., Tripathi, A.K.: On benchmarking task scheduling algorithms for heterogeneous computing systems. J. Supercomput. 74(7), 3039–3070 (2018)
Shevade, S.K., Keerthi, S.S., Bhattacharyya, C., Murthy, K.R.K.: Improvements to the SMO algorithm for SVM regression. IEEE Trans. Neural Netw. 11(5), 1188–1193 (2000)
Schölkopf, B., Smola, A.J., Bach, F., et al.: Learning with Kernels: Support Vector Machines, Regularization, Optimization, and Beyond. MIT Press, Cambridge (2002)
Moreno-Vozmediano, R., Montero, R.S., Huedo, E., Llorente, I.M.: Efficient resource provisioning for elastic cloud services based on machine learning techniques. J. Cloud Comput. 8(1), 5 (2019)
Arcaini, P., Riccobene, E., Scandurra, P.: Modeling and analyzing mape-k feedback loops for self-adaptation. In: IEEE/ACM 10th International Symposium on Software Engineering for Adaptive and Self-Managing Systems. IEEE, pp. 13–23 (2015)
Rutten, E., Marchand, N., Simon, D.: Feedback control as mape-k loop in autonomic computing. In: Software Engineering for Self-Adaptive Systems III. Assurances, Springer, (2017), pp. 349–373
Merkel, D.: Docker: lightweight linux containers for consistent development and deployment. Linux J. 2014(239), 2 (2014)
Chiang, R.C.: Contention-aware container placement strategy for docker swarm with machine learning based clustering algorithms. Clust. Comput. 1–11 (2020)
Chae, M., Lee, H., Lee, K.: A performance comparison of linux containers and virtual machines using docker and kvm. Clust. Comput. 22(1), 1765–1775 (2019)
Kubernetes horizontal pod auto-scaling, http://kubernetes.io/ docs/tasks/run-application/horizontalpod-autoscale. accessed 08 Nov 2018
Al-Dhuraibi, Y., Paraiso, F., Djarallah, N., Merle, P.: Autonomic vertical elasticity of docker containers with elasticdocker. In: IEEE 10th international conference on cloud computing (CLOUD). IEEE 2017, 472–479 (2017)
Belgacem, A., Beghdad-Bey, K., Nacer, H., Bouznad, S.: Efficient dynamic resource allocation method for cloud computing environment. Clust. Comput. 23(4), 2871–2889 (2020)
Singh, P., Gupta, P., Jyoti, K.: TASM: technocrat ARIMA and SVR model for workload prediction of web applications in cloud. Clust. Comput. 22(2), 619–633 (2019)
Kumar, J., Singh, A.K.: Cloud datacenter workload estimation using error preventive time series forecasting models. Clust. Comput. 23(2), 1363–1379 (2020)
Shahidinejad, A., Ghobaei-Arani, M., Esmaeili, L.: An elastic controller using colored petri nets in cloud computing environment. Clust. Comput. 1–27 (2019)
Meng, Y., Rao, R., Zhang, X., Hong, P.: Crupa: A container resource utilization prediction algorithm for auto-scaling based on time series analysis. In: International conference on progress in informatics and computing (PIC). IEEE 2016, 468–472 (2016)
Kan, C.: Docloud: An elastic cloud platform for web applications based on docker. In: 18th international conference on advanced communication technology (ICACT). IEEE 2016, 478–483 (2016)
Li, Y., Xia, Y.: Auto-scaling web applications in hybrid cloud based on docker. In: 5th International conference on computer science and network technology (ICCSNT). IEEE 2016, 75–79 (2016)
Ye, T., Guangtao, X., Shiyou, Q., Minglu, L.: An auto-scaling framework for containerized elastic applications. In: 3rd international conference on big data computing and communications (BIGCOM). IEEE 2017, 422–430 (2017)
Ciptaningtyas, H. T., Santoso, B. J., Razi, M. F.: Resource elasticity controller for docker-based web applications. In: 2017 11th International Conference on Information & Communication Technology and System (ICTS), IEEE, (2017), pp. 193–196
Baresi, L., Guinea, S., Leva, A., Quattrocchi, G.: A discrete-time feedback controller for containerized cloud applications. In: Proceedings of the 2016 24th ACM SIGSOFT International Symposium on Foundations of Software Engineering, (2016), pp. 217–228
Wu, S., Zhang, D., Yan, B., Guo, F., Sheng, D.: Auto-scaling web application in docker based on gray prediction. In: 2018 International Conference on Network, Communication, Computer Engineering (NCCE 2018), Atlantis Press, (2018)
Taherizadeh, S., Stankovski, V.: Dynamic multi-level auto-scaling rules for containerized applications. Comput. J. 62(2), 174–197 (2019)
Zhang, F., Tang, X., Li, X., Khan, S.U., Li, Z.: Quantifying cloud elasticity with container-based autoscaling. Fut. Gener. Comput. Syst. 98, 672–681 (2019)
Borkowski, M., Schulte, S., Hochreiner, C.: Predicting cloud resource utilization. In: Proceedings of the 9th International Conference on Utility and Cloud Computing, (2016), pp. 37–42
Kim, W.-Y., Lee, J.-S., Huh, E.-N.: Study on proactive auto scaling for instance through the prediction of network traffic on the container environment. In: Proceedings of the 11th International Conference on Ubiquitous Information Management and Communication, (2017), pp. 1–8
Erradi, A., Iqbal, W., Mahmood, A., Bouguettaya, A.: Web application resource requirements estimation based on the workload latent features. IEEE Trans. Serv. Comput.
Dataset of Complutense University of Madrid. https://goo.gl/Jez9Kg. accessed 28 Nov 2017
Messias, V.R., Estrella, J.C., Ehlers, R., Santana, M.J., Santana, R.C., Reiff-Marganiec, S.: Combining time series prediction models using genetic algorithm to autoscaling web applications hosted in the cloud infrastructure. Neural Comput. Appl. 27(8), 2383–2406 (2016)
Cherkassky, V., Ma, Y.: Practical selection of SVM parameters and noise estimation for SVM regression. Neural Netw. 17(1), 113–126 (2004)
Bauer, A., Grohmann, J., Herbst, N., Kounev, S.: On the value of service demand estimation for auto-scaling. In: International Conference on Measurement, Modelling and Evaluation of Computing Systems, Springer, (2018), pp. 142–156
Acknowledgements
This research was supported/partially supported by [Visvesvaraya Ph.D. scheme for Electronics and IT, Ministry of Electronics and Information Technology, Government of India]. We thank our colleagues from [Motilal Nehru National Institute of Technology Allahabad, Prayagraj, India] who provided insight and expertise that greatly assisted the research, although they may not agree with all of the interpretations/conclusions of this paper.
Author information
Authors and Affiliations
Corresponding author
Additional information
Publisher's Note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
Rights and permissions
About this article
Cite this article
Yadav, M.P., Rohit & Yadav, D.K. Maintaining container sustainability through machine learning. Cluster Comput 24, 3725–3750 (2021). https://doi.org/10.1007/s10586-021-03359-4
Received:
Revised:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10586-021-03359-4