Quality of Service (QoS) is identified as a key task for distributed systems because meeting user needs is an important aspect of their successful functioning. Most container autoscaling solutions focus on resource optimization and cost management. However, these solutions often do not consider the dynamic user requirements for Quality of Service (QoS), resulting in delays in resource allocation and a decrease in service quality. Existing autoscaling and load balancing algorithms inadequately account for load dynamics, which is a significant issue. Moreover, traditional platforms for testing new algorithms, such as Azure and AWS, are commercial and closed, limiting opportunities for validating innovative approaches. Consequently, there is a need for open and accessible platforms that allow researchers and developers to effectively test and implement new load balancing and autoscaling algorithms. To address these issues, a new approach based on a deep understanding of resource usage context and user needs is required to ensure high service quality and improve the efficiency of distributed systems. The novelty of this work lies in the development of a new platform for researching container autoscaling methods and load balancing algorithms. The created virtualized service platform enabled practical assessment of the advantages and disadvantages of algorithms under real conditions. For example, using the "Round Robin" algorithm with a 50 ms request delay resulted in server loads of 96.2% and an average delay time of 679 ms. Implementing the "Weighted Round Robin" algorithm and container autoscaling reduced server loads to 56.1% and the average delay to 11.8 ms. The results obtained can form the basis for further development and implementation of algorithms in distributed systems, which will improve service quality and overall efficiency of these systems.
[1] 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. 102629, p. 102629, 2020. https://doi.org/10.1016/j.jnca.2020.102629 .
[2] E. Casalicchio, “A study on performance measures for auto-scaling CPU-intensive containerized applications,” Cluster Comput., vol. 22, no. 3, pp. 995–1006, 2019, doi: 10.1007/s10586-018-02890-1.
[3] R. Sampaio, I. Beschastnikh, D. Maier, D. Bourne and V. Sundaresen, "Auto-tuning elastic applications in production," 2023 IEEE/ACM 45th International Conference on Software Engineering: Software Engineering in Practice (ICSE-SEIP), Melbourne, Australia, 2023, pp. 355-367, doi: 10.1109/ICSE-SEIP58684.2023.00038.
[4] N. Cruz Coulson, S. Sotiriadis and N. Bessis, "Adaptive Microservice Scaling for Elastic Applications," in IEEE Internet of Things Journal, vol. 7, no. 5, pp. 4195-4202, May 2020, doi: 10.1109/JIOT.2020.2964405.
[5] M. Klymash, V. Romanchuk, M. Beshley and P. Arthur, "Investigation and simulation of system for data flow processing in multiservice nodes using virtualization mechanisms," 2017 IEEE First Ukraine Conference on Electrical and Computer Engineering (UKRCON), Kyiv, UKraine, 2017, pp. 989-992, doi: 10.1109/UKRCON.2017.8100397.
[6] M. Beshley, V. Romanchuk, M. Seliuchenko and A. Masiuk, "Investigation the modified priority queuing method based on virtualized network test bed," The Experience of Designing and Application of CAD Systems in Microelectronics, Lviv, Ukraine, 2015, pp. 1-4, doi: 10.1109/CADSM.2015.7230779.
[7] T. Lorido-Botran, J. Miguel-Alonso, and J. A. Lozano, “A review of auto-scaling techniques for elastic applications in cloud environments,” J. Grid Comput., vol. 12, no. 4, pp. 559–592, 2014, doi: 10.1007/s10723-014-9314-7.
[8] “Autoscaling,” Microsoft.com. https://learn.microsoft.com/en-us/azure/architecture/best-practices/auto... (accessed Nov. 18, 2023).
[9] S. Taherizadeh and M. Grobelnik, “Key influencing factors of the Kubernetes auto-scaler for computing-intensive microservice-native cloud-based applications,” Adv. Eng. Softw., vol. 140, no. 102734, p. 102734, 2020, doi: 10.1016/j.advengsoft.2019.102734.
[10]S. Taherizadeh, V. Stankovski and J. Cho, "Dynamic Multi-level Auto-scaling Rules for Containerized Applications," in The Computer Journal, vol. 62, no. 2, pp. 174-197, Feb. 2019, doi: 10.1093/comjnl/bxy043.
[11]J. Dogani, R. Namvar, and F. Khunjush, “Auto-scaling techniques in container-based cloud and edge/fog computing: Taxonomy and survey,” Comput. Commun., vol. 209, pp. 120–150, 2023, doi: 10.1016/j.comcom.2023.06.010.