DOI: https://doi.org/10.18517/ijods.3.2.80-92.2022

A Cloud-Based Container Microservices: A Review on Load-Balancing and Auto-Scaling Issues

Shamsuddeen Rabiu (1) , Chan Huah Yong (2) , Sharifah Mashita Syed Mohamad (3)
(1) School of Computer Sciences, University Sains Malaysia,11800 USM, Pulau Pinang, Malaysia
(2) School of Computer Sciences, University Sains Malaysia,11800 USM, Pulau Pinang, Malaysia
(3) School of Computer Sciences, University Sains Malaysia,11800 USM, Pulau Pinang, Malaysia
Fulltext View | Download

Abstract

Microservices are being used by businesses to split monolithic software into a set of small services whose instances run independently in containers. Load balancing and auto-scaling are important cloud features for cloud-based container microservices because they control the number of resources available. The current issues concerning load balancing and auto-scaling techniques in Cloud-based container microservices were investigated in this paper. Server overloaded, service failure and traffic spikes were the key challenges faced during the microservices communication phase, making it difficult to provide better Quality of Service (QoS) to users. The aim is to critically investigate the addressed issues related to Load balancing and Auto-scaling in Cloud-based Container Microservices (CBCM) in order to enhance performance for better QoS to the users.

Article Details

How to Cite
[1]
S. Rabiu, C. Huah Yong, and S. Mashita Syed Mohamad, “A Cloud-Based Container Microservices: A Review on Load-Balancing and Auto-Scaling Issues”, Int. J. Data. Science., vol. 3, no. 2, pp. 80-92, Sep. 2022.
Section
Articles

References

S. Li, “Understanding quality attributes in microservice architecture,” Proc. - 2017 24th Asia-Pacific Softw. Eng. Conf. Work. APSECW 2017, vol. 2018-Janua, pp. 9–10, 2018, doi: 10.1109/APSECW.2017.33.

S. Zhuo, “A High Availability and High Reliability Microservices Architecture By,” no. August, 2020.

A. Balalaie, A. Heydarnoori, and P. Jamshidi, “Migrating to Cloud-Native architectures using microservices: An experience report,” Commun. Comput. Inf. Sci., vol. 567, no. July, pp. 201–215, 2016, doi: 10.1007/978-3-319-33313-7_15.

N. Viennot, M. Lécuyer, J. Bell, R. Geambasu, and J. Nieh, “Synapse: A microservices architecture for heterogeneous-database web applications,” Proc. 10th Eur. Conf. Comput. Syst. EuroSys 2015, 2015, doi: 10.1145/2741948.2741975.

H. Zhao, H. Lim, M. Hanif, and C. Lee, “Predictive Container Auto-Scaling for Cloud-Native Applications,” ICTC 2019 - 10th Int. Conf. ICT Converg. ICT Converg. Lead. Auton. Futur., pp. 1280–1282, 2019, doi: 10.1109/ICTC46691.2019.8939932.

M. Villamizar, O. Garcés, H. Castro, M. Verano, L. Salamanca, and S. Gil, “Evaluating the Monolithic and the Microservice Architecture Pattern to Deploy Web Applications in the Cloud Evaluando el Patrón de Arquitectura Monolítica y de Micro Servicios Para Desplegar Aplicaciones en la Nube,” 10th Comput. Colomb. Conf., pp. 583–590, 2015.

T. Erl, J. Fontenla, M. Caeiro, and M. Llamas, “Web Services and Contemporary SOA,” Serv. Architecture Concepts, Technol., Des., pp. 25–81, 2005.

D. Bhamare, M. Samaka, A. Erbad, R. Jain, and L. Gupta, “Exploring microservices for enhancing internet QoS,” Trans. Emerg. Telecommun. Technol., vol. 29, no. 11, 2018, doi: 10.1002/ett.3445.

A. Sundberg, “A study on load balancing within microservices architecture,” 2019.

J. A. Valdivia, X. Limon, and K. Cortes-Verdin, “Quality attributes in patterns related to microservice architecture: a Systematic Literature Review,” pp. 181–190, 2020, doi: 10.1109/conisoft.2019.00034.

Z. Ding, S. Wang, and M. Pan, “QoS-Constrained Service Selection for Networked Microservices,” IEEE Access, vol. 8, pp. 39285–39299, 2020, doi: 10.1109/ACCESS.2020.2974188.

Y. Gan et al., “An Open-Source Benchmark Suite for Microservices and Their Hardware-Software Implications for Cloud & Edge Systems,” 2019.

M. Villamizar et al., “Cost comparison of running web applications in the cloud using monolithic, microservice, and AWS Lambda architectures,” Serv. Oriented Comput. Appl., vol. 11, no. 2, pp. 233–247, 2017, doi: 10.1007/s11761-017-0208-y.

A. Hanieh, L. Yan, and H.-L. Abdelwahab, “Analyzing Auto-scaling Issues in Cloud Environments,” Proc. 24th Annu. Int. Conf. Comput. Sci. Softw. Eng. IBM Corp., no. March 2015, pp. 75–89, 2014.

Y. Gan and C. Delimitrou, “The Architectural Implications of Cloud Microservices,” vol. 17, no. 2, pp. 155–158, 2018.

A. Dave, B. Patel, G. Bhatt, and Y. Vora, “Load balancing in cloud computing using particle swarm optimization on Xen Server,” 2017 Nirma Univ. Int. Conf. Eng. NUiCONE 2017, vol. 2018-Janua, pp. 1–6, 2018, doi: 10.1109/NUICONE.2017.8325618.

S. N. Srirama, M. Adhikari, and S. Paul, “Application deployment using containers with auto-scaling for microservices in cloud environment,” J. Netw. Comput. Appl., vol. 160, no. August 2019, 2020, doi: 10.1016/j.jnca.2020.102629.

V. Singh and S. K. Peddoju, “Container-based microservice architecture for cloud applications,” Proceeding - IEEE Int. Conf. Comput. Commun. Autom. ICCCA 2017, vol. 2017-Janua, pp. 847–852, 2017, doi: 10.1109/CCAA.2017.8229914.

E. Casalicchio and V. Perciballi, “Auto-Scaling of Containers: The Impact of Relative and Absolute Metrics,” Proc. - 2017 IEEE 2nd Int. Work. Found. Appl. Self* Syst. FAS*W 2017, pp. 207–214, 2017, doi: 10.1109/FAS-W.2017.149.

X. Wan, X. Guan, T. Wang, G. Bai, and B. Y. Choi, “Application deployment using Microservice and Docker containers: Framework and optimization,” J. Netw. Comput. Appl., vol. 119, no. December 2017, pp. 97–109, 2018, doi: 10.1016/j.jnca.2018.07.003.

M. V. L. N. Venugopal, “Containerized Microservices architecture,” Int. J. Eng. Comput. Sci., vol. 6, no. 11, 2017, doi: 10.18535/ijecs/v6i11.20.

NetApp, “What are Microservices?” 2020. [Online]. Available: https://www.netapp.com/knowledge-center/what-are-microservices/.

S. Sharma, Mastering microservices with Java 9: build domain-driven microservice-based applications with Spring, Spring Cloud, and Angular. 2017.

K. Pan and J. Chen, “Load balancing in cloud computing environment based on an improved particle swarm optimization,” Proc. IEEE Int. Conf. Softw. Eng. Serv. Sci. ICSESS, vol. 2015-Novem, pp. 595–598, 2015, doi: 10.1109/ICSESS.2015.7339128.

A. R and J. Agarkhed, “Evaluation of Auto Scaling and Load Balancing Features in Cloud,” Int. J. Comput. Appl., vol. 117, no. 6, pp. 30–33, 2015, doi: 10.5120/20561-2949.

A. M. Alakeel, “A Guide to Dynamic Load Balancing in Distributed Computer Systems,” vol. 10, no. 6, pp. 153–160, 2010.

P. B. Agavane, “Improve Load Balancing Performance and Efficiency Using Equally Spread Current Execution Algorithm working with response time clustering in Microservices.”

M. Yakut, “Load Balancing In Microservices,” 2020. [Online]. Available: https://mesutyakut.medium.com/load-balancing-in-microservices-474ad84b847d#:~:text=Load balancing is the process, Round Robin%2C Least Connections etc.

M. D. Cojocaru, A. Oprescu, and A. Uta, “Attributes assessing the quality of microservices automatically decomposed from monolithic applications,” Proc. - 2019 18th Int. Symp. Parallel Distrib. Comput. ISPDC 2019, no. June, pp. 84–93, 2019, doi: 10.1109/ISPDC.2019.00021.

N. Erl, “Microservice and Containerization Patterns,” 2019. [Online]. Available: https://patterns.arcitura.com/microservice-patterns/design_patterns/workload_distribution.

M. Rusek, D. Rzegorz, and A. Orłowski, “A decentralized system for load balancing of containerized microservices in the cloud,” Int. Conf. Syst. Sci., vol. 539, no. November, pp. 142–152, 2016, doi: 10.1007/978-3-319-48944-5.

Y. Niu, F. Liu, and Z. Li, “Load Balancing Across Microservices,” Proc. - IEEE INFOCOM, vol. 2018-April, pp. 198–206, 2018, doi: 10.1109/INFOCOM.2018.8486300.

T. Le Duc, R. G. Leiva, P. Casari, and P. O. Östberg, “Machine learning methods for reliable resource provisioning in edge-cloud computing: A survey,” ACM Comput. Surv., vol. 52, no. 5, 2019, doi: 10.1145/3341145.

C. Yi, X. Zhang, and W. Cao, “Dynamic weight based load balancing for microservice cluster,” ACM Int. Conf. Proceeding Ser., 2018, doi: 10.1145/3207677.3277955.

C. Heggem, “Container Load Balancing,” 2019.

J. Tpoint, “Client-Side Load Balancing with Ribbon,” 2018. [Online]. Available: https://www.javatpoint.com/client-side-load-balancing-with-ribbon.

D. Kumar, “Load balancing Spring Boot Microservices using Netflix’s Ribbon,” 2020. [Online]. Available: https://www.studytonight.com/post/load-balancing-spring-boot-microservices-using-netflixs-ribbon.

N. Ma, A. Maghari, N. Sarkissian, and W. Clark Lambert, “Parakeratosis: What it is and what it is not,” Skinmed, vol. 8, no. 6, pp. 361–362, 2010.

N. M. Calcavecchia, B. A. Caprarescu, E. Di Nitto, D. J. Dubois, and D. Petcu, “DEPAS: A decentralized probabilistic algorithm for auto-scaling,” Computing, vol. 94, no. 8–10, pp. 701–730, 2012, doi: 10.1007/s00607-012-0198-8.

H. Zhao, H. Lim, M. Hanif, and C. Lee, “Predictive Container Auto-Scaling for Cloud-Native Applications,” ICTC 2019 - 10th Int. Conf. ICT Converg. ICT Converg. Lead. Auton. Futur., pp. 1280–1282, 2019, doi: 10.1109/ICTC46691.2019.8939932.

A. W. Service, “Amazon EC2 Auto Scaling benefits,” 2021. [Online]. Available: https://docs.aws.amazon.com/autoscaling/ec2/userguide/auto-scaling-benefits.html.

W. Iqbal, M. N. Dailey, D. Carrera, and P. Janecek, “Adaptive resource provisioning for read intensive multi-tier applications in the cloud,” Futur. Gener. Comput. Syst., vol. 27, no. 6, pp. 871–879, 2011, doi: 10.1016/j.future.2010.10.016.

M. Lin, J. Xi, and W. Bai, “Ant Colony Algorithm for Multi-Objective Optimization of Container-Based Microservice Scheduling in Cloud,” IEEE Access, vol. 7, pp. 83088–83100, 2019, doi: 10.1109/ACCESS.2019.2924414.

M. Vijayalakshmi, D. Yakobu, D. Veeraiah, and N. G. Rao, “Automatic Healing of Services in Cloud Computing Environment,” no. 978, pp. 740–745, 2016.

M. Bravetti, S. Giallorenzo, J. Mauro, I. Talevi, and G. Zavattaro, Optimal and automated deployment for microservices, vol. 11424 LNCS. Springer International Publishing, 2019.

S. Aslanzadeh and Z. Chaczko, “Load balancing optimization in cloud computing: Applying Endocrine-particale swarm optimization,” IEEE Int. Conf. Electro Inf. Technol., vol. 2015-June, pp. 165–169, 2015, doi: 10.1109/EIT.2015.7293424.

Y.-W. Chen, S.-H. Hung, C.-H. Tu, and C. W. Yeh, “Virtual Hadoop,” pp. 201–206, 2016, doi: 10.1145/2987386.2987408.

I. Prachitmutita, W. Aittinonmongkol, N. Pojjanasuksakul, and M. Supattatham, “Auto - scaling microservices on IaaS under SLA with cost - effective Framework,” pp. 583–588, 2018.

X. Guan, X. Wan, B. Choi, S. Song, and J. Zhu, “Application Oriented Dynamic Resource Allocation for Data Centers Using Docker Containers,” vol. 1, no. c, pp. 1–4, 2016, doi: 10.1109/LCOMM.2016.2644658.

B. Stevant, J. L. Pazat, and A. Blanc, “Optimizing the Performance of a Microservice-Based Application Deployed on User-Provided Devices,” Proc. - 17th Int. Symp. Parallel Distrib. Comput. ISPDC 2018, pp. 133–140, 2018, doi: 10.1109/ISPDC2018.2018.00027.

V. Podolskiy, A. Jindal, and M. Gerndt, “Multilayered Autoscaling Performance Evaluation: Can Virtual Machines and Containers Co-Scale?” Int. J. Appl. Math. Comput. Sci., vol. 29, no. 2, pp. 227–244, 2019, doi: 10.2478/amcs-2019-0017.