Abstract
Elasticity is an important feature of cloud computing, which allocates/de-allocates adequate computing resources automatically and provisions and de-provisions computing resources timely when the workload fluctuates. It can help in better resource utilization. Elasticity can address the challenges of limited physical resources such as cost, computing power, storage capacity, etc. In cloud computing, the cloud providers achieve elasticity through virtualization techniques such as virtual machines (VMs) or containers. Elasticity can help to scale-up/down the various computing resources of a running system when the workload increases or decreases over the machine. In this paper, we propose a hybrid model that uses a container-based virtualization techniques allocated for various computing resources of a running system (container). It uses a multi-criteria decision making procedure for the allocation of resources. This model uses a reactive approach for scaling up and scaling down the containers’ resources as per the requirements of the application. The proposed approach provides better resource utilization and minimizes subscription costs from both the provider and consumer perspectives. The experimental results show that the hybrid model dynamically allocates resources to applications instantly and maintains higher resource utilization than horizontal elasticity, vertical elasticity, and Docker.
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. Future Gener. Comput. Syst. 79, 849–861 (2018)
Al-Janabi, S., Hussein, N.Y.: The reality and future of the secure mobile cloud computing (SMCC): survey. In: International Conference on Big Data and Networks Technologies, 2019, pp. 231–261. Springer (2019)
Alouane, M., El Bakkali, H.: Virtualization in cloud computing: existing solutions and new approach. In: 2016 2nd International Conference on Cloud Computing Technologies and Applications (CloudTech), 2016, pp. 116–123. IEEE (2016)
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 (2018). https://doi.org/10.1109/TSC.2017.2711009
Adhikari, M., Amgoth, T., Srirama, S.N.: A survey on scheduling strategies for workflows in cloud environment and emerging trends. ACM Comput. Surv. (CSUR) 52(4), 1–36 (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)
Al-Janabi, S., Mahdi, M.A.: Evaluation prediction techniques to achievement an optimal biomedical analysis. Int. J. Grid Util. Comput. 10(5), 512–527 (2019)
Al-Janabi, S., Alkaim, A.F., Adel, Z.: An innovative synthesis of deep learning techniques (DCapsNet & DCOM) for generation electrical renewable energy from wind energy. Soft Comput. 24, 1–20 (2020)
Al-Janabi, S., Mohammad, M., Al-Sultan, A.: A new method for prediction of air pollution based on intelligent computation. Soft Comput. 24(1), 661–680 (2020)
Alkaim, A.F., Al-Janabi, S.: Multi objectives optimization to gas flaring reduction from oil production. In: International Conference on Big Data and Networks Technologies, 2019, pp. 117–139. Springer (2019)
Mahdi, M.A., Al-Janabi, S.: A novel software to improve healthcare base on predictive analytics and mobile services for cloud data centers. In: International Conference on Big Data and Networks Technologies, 2019, pp. 320–339. Springer (2019)
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)
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 (\(\{\text{ICAC}\}\) 13), pp. 23–27 (2013)
Merkel, D.: Docker: lightweight Linux containers for consistent development and deployment. Linux J. 2014(239), 2 (2014)
Docker. https://docs.docker.com. Accessed 25 July 2017
Containers: package, ship and run any software as a self-sufficient unit. https://coreos.com/using-coreos/containers/. Accessed 15 May 2017
Hazra, A., Adhikari, M., Amgoth, T., Srirama, S.N.: Joint computation offloading and scheduling optimization of iot applications in fog networks. IEEE Trans. Netw. Sci. Eng. 7(4), 3266–3278 (2020)
Hazra, A., Adhikari, M., Amgoth, T., Srirama, S.N.: Stackelberg game for service deployment of IoT-enabled applications in 6G-aware fog networks. IEEE Internet Things J. 8(7), 5185–5193 (2021)
Naik, N.: Migrating from virtualization to dockerization in the cloud: simulation and evaluation of distributed systems. In: 2016 IEEE 10th International Symposium on the Maintenance and Evolution of Service-Oriented and Cloud-Based Environments (MESOCA), pp. 1–8. IEEE (2016)
LXD: Containers. https://linuxcontainers.org/lxd/introduction/. Accessed 25 Oct 2018
Al-Dhuraibi, Y., Paraiso, F., Djarallah, N., Merle, P.: Autonomic vertical elasticity of docker containers with Elastic Docker. In: 2017 IEEE 10th International Conference on Cloud Computing (CLOUD), pp. 472–479. IEEE (2017)
Al-Dhuraibi, Y., Zalila, F., Djarallah, N., Merle, P.: Coordinating vertical elasticity of both containers and virtual machines. In: Proceedings of the 8th International Conference on Cloud Computing and Services Science: CLOSER, INSTICC, 2018, vol. 1, pp. 322–329. SciTePress (2018). https://doi.org/10.5220/0006652403220329
Meng, Y., Rao, R., Zhang, X., Hong, P.: CRUPA: a container resource utilization prediction algorithm for auto-scaling based on time series analysis. In: 2016 International Conference on Progress in Informatics and Computing (PIC), pp. 468–472. IEEE (2016)
Box, G.: Box and Jenkins: time series analysis, forecasting and control. In: A Very British Affair, pp. 161–215. Springer, Berlin (2013)
Kan, C.: DoCloud: an elastic cloud platform for web applications based on Docker. In: 2016 18th International Conference on Advanced Communication Technology (ICACT), pp. 478–483. IEEE (2016)
Ciptaningtyas, H.T., Santoso, B.J., Razi, M.F.: Resource elasticity controller for Docker-based web applications. In: 2017 11th International Conference on Information and Communication Technology and System (ICTS), pp. 193–196. IEEE (2017)
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, pp. 217–228 (2016)
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)
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, pp. 93–98 (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. Future Gener. Comput. Syst. 98, 672–681 (2019)
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, pp. 1–8 (2017)
A.E.C. Cloud: Amazon Web Services (2011). Retrieved 9 Nov 2011
Copeland, M., Soh, J., Puca, A., Manning, M., Gollob, D.: Microsoft Azure. Apress, New York (2015)
Arcaini, P., Riccobene, E., Scandurra, P.: Modeling and analyzing MAPE-K feedback loops for self-adaptation. In: 2015 IEEE/ACM 10th International Symposium on Software Engineering for Adaptive and Self-Managing Systems, pp. 13–23. IEEE (2015)
Hasan, M.Z., Magana, E., Clemm, A., Tucker, L., Gudreddi, S.L.D.: Integrated and autonomic cloud resource scaling. In: 2012 IEEE Network Operations and Management Symposium, 2012, pp. 1327–1334. IEEE (2012)
Kubernetes horizontal pod auto-scaling. http://kubernetes.io/docs/tasks/run-application/horizontalpod-autoscale. Accessed 8 Nov 2018
Li, Y., Xia, Y.: Auto-scaling web applications in hybrid cloud based on Docker. In: 2016 5th International Conference on Computer Science and Network Technology (ICCSNT), pp. 75–79. IEEE (2016)
Apache Bench Tool. https://developer.okta.com/blog/2019/10/15/performance-testing-with-apache-bench/. Accessed 15 Feb 2019
Acknowledgements
This research was supported/partially supported by [Visvesvaraya PhD Scheme for Electronics and IT, which is governed by MeitY (Ministry of Electronics and Information Technology), Government of India]. We thank our colleagues from MNNIT 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., Pal, N. & Yadav, D.K. Resource provisioning for containerized applications. Cluster Comput 24, 2819–2840 (2021). https://doi.org/10.1007/s10586-021-03293-5
Received:
Revised:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10586-021-03293-5