Oleksandra DMYTRENKO, PhD Student, Assist.
ORCID ID: 0009-0009-4785-4226
e-mail: o_dmytrenko@lll.kpi.ua
National Technical University of Ukraine “Igor Sikorsky Kyiv Polytechnic Institute”
Mariia SKULYSH, DSc (Engin.), Prof.
ORCID ID: 0000-0002-5141-1382
e-mail: mskulysh@gmail.com
National Technical University of Ukraine “Igor Sikorsky Kyiv Polytechnic Institute”
DOI: https://doi.org/10.17721/AIT.2024.1.08
Abstract
B a c k g r o u n d . The task of optimizing cloud system resource usage is of high priority, as this technology has become widely adopted and easily accessible. Efficient services are common to be created to beastly adapt to different types of products, e.g. serverless technologies and proprietary databases, and cloud-optimized software. Performance testing of cloud applications has become significantly easier with the emergence of Docker and Kubernetes, which has further increased the demand for cloud resources. Since a considerable amount of resources is spent on the development and maintenance of cloud infrastructure, it is essential to understand how these resources can be optimized.
M e t h o d s . The basic idea is to reorganize cloud infrastructure so that the software is distributed into the server groups, not the serv ers in a complementary manner, meaning that the hardware load will be close to the full load. To form complementary groups, methods of clusterization (K-Means), multiple knack’s problem, sorting, binary search, shuffling and division based on mean and standard deviation are used. Additionally, FastDTW and Z-scale algorithms are proposed for visualization.
R e s u l t s . The article examines the key characteristics of computer systems that can be measured and influenced. These characteristics include transmission channel bandwidth, delay-based performance evaluation, the amount of RAM and permanent storage, processing power, and the number of cores. An algorithm is proposed to identify complementary microservice instances that could efficiently uti lize server resources. Initially, microservice instances are classified by their capacity, considering small instances as a unit of capacity. Through analysis, the microservice instances are grouped into equivalence classes based on similarity. The instances are then sorted by the amplitude of resource usage. Ideally, instances with significant differences in load are combined with others that have similar amplitudes but opposite ph ases to maximize resource utilization. Combinations with instances that have low amplitude may also be appropriate. Within opposite classes, which differ in the activity phases of microprocessor instances, the algorithm searches for the first microservice instance that meets the conditions. To achieve this, statistics of combinations with all instances are stored until the first successful combination is found. Otherwise, the search continues till the least possible combination. The leftovers after the combinations search are expected. They are additionally divided using the extended extremums search with the mean and standard deviation search to increase their chances to find compliments. Finally, the small amount of microservices that didn’t find a match is combined using multiple knack’s problem.
C o n c l u s i o n s . The conclusions of the article suggest an algorithm that will optimize the use of cloud system resources by effectively distributing the load between different microservices. Optimization means to maximize the use of server resources by filling its free time with other microservice and so reduce server downtime. This, in turn, will contribute to improving general cloud productivity and reducing maintenance costs of cloud infrastructures. This algorithm can be useful for cloud service providers and organizations that u se cloud environments to deploy their applications.
K e y w o r d s : microservice grouping, CPU efficiency, energy consumption optimization, cloud systems, microservice architecture, technology cost reduction.
Published
2024-12-20
How to Cite
Oleksandra DMYTRENKO, Mariia SKULYSH “ MICROSERVICE GROUPING FOR UNDERUSED RESOURCE USAGE” Advanced Information Technology, vol.1(3), pp. 73–80, 2024
Issue
Advanced Information Technology № 1 (3), 2024
Section
Applied information systems and technology
References
Aspire Systems. (2023, June 22). Microservices Architecture: The Foundation of Cloud-Native Applications. Software Engineering. https://blog.aspiresys.com/ software-product-engineering/microservices-architecture-the-foundation-of-cloud-native-applications/
Cacchiani, V., Iori, M., Locatelli, A., & Martello, S. (2022). Knapsack problems – An overview of recent advances. Part II: Multiple, multidimensional, and quadratic knapsack problems. Computers & Operations Research,143, 105693. https://doi.org/10.1016/j.cor.2021.105693
Dmytrenko, O., & Skulysh, M. (2024a). Method of Grouping Complementary Microservices Using Fuzzy Lattice Theory. In E. Siemens (Eds). International Conference on Applied Innovations in IT (ICAIIT), 12(1), 11–18. Anhalt University of Applied Sciences Bernburg / Koethen / Dessau. https://doi.org/10.25673/115636
Dmytrenko, О., & Skulysh, M. (2024b). Methods of data collection and implementation of accomplishing loads algorithm. Control, Navigation and Communication Systems. Academic Journal, 4(78), Article 78. https://doi.org/10.26906/SUNZ.2024.4.056
Dmytrenko, O., Skulysh, M., & Globa, L. (2024). Microservice Complimentary Groups Determination Algorithm for the Effective Resource Usage. In I. Sinitsyn & P. Andon (Eds.), Proceedings of the 14th International Scientific and Practical Programming Conference (UkrPROG 2024) (Vol. 3806, pp. 180–201). CEUR. https://ceur-ws.org/Vol-3806/#S_55_Dmytrenko_Skulysh_Globa
Levitin, G., Xing, L., & Dai, Y. (2014). Cold vs. Hot standby mission operation cost minimization for 1-out-of-N systems. European Journal of Operational Research, 234(1), 155–162. https://doi.org/10.1016/j.ejor.2013.10.051
Ozdemir, S., & Susarla, D. (2018). Feature Engineering Made Easy. Packt Publishing. https://www.oreilly.com/library/view/feature-engineering-made/9781787287600/ Salvador, S., & Chan, P. (2004). Toward Accurate Dynamic Time Warping in Linear Time and Space. In Intelligent Data Analysis (Vol. 11, p. 80).
Sharma, Y. (2023, September 26). Key Strategies for Implementing AWS Network Load Balancer [AWS Community Builders]. DEV Community. https://dev.to/aws-builders/key-strategies-for-implementing-aws-network-load-balancer-35fc
Skulysh, M. A., & Dmytrenko, O. A. (2024). A Method оf Organisation оf Microservices оn Kubernetes Server Groups. Scientific notes of Taurida National
V. I. Vernadsky University. Series: Technical Sciences, 1(5), 291–297. https://doi.org/10.32782/2663-5941/2024.5.1/41
Zieffler, A., & Catalysts for Change. (2019). Statistical Thinking: A Simulation Approach to Modeling Uncertainty (UM STAT 216 edition) (4.2). ). In National Science Foundation (Eds.). MN: Catalyst Press. https://bookdown.org/frederick_peck/textbook/the-mean-and-standard-deviation.html MN: Catalyst Press. https://bookdown.org/frederick_peck/textbook/the-mean-and-standard-deviation.html
United Nations Development Programme. (2024). Goals of sustainable development. UNDP. https://www.undp.org/uk/ukraine/tsili-staloho-rozvytku