METHODS OF DATA COLLECTION AND IMPLEMENTATION OF ACCOMPLISHING LOADS ALGORITHM
DOI:
https://doi.org/10.26906/SUNZ.2024.4.056Keywords:
Kubernetes, metric collection, complementary loads, cloud systems, microservice architecture, monolithsAbstract
The article addresses the issue of efficient resource utilization in cloud computing environments, which has become increasingly important due to the growing demand for computational power. The presented algorithm focuses on optimizing the load distribution generated by microservices and monoliths across server nodes, aiming to maximize the usage of available resources. The article focuses on technologies that help replicate the algorithm locally for testing and adaptation to specific needs. It compares methods for collecting metrics, as well as environments where the algorithm can be implemented. Special attention is given to Kubernetes and the possibilities of applying different microservice distribution mechanisms, such as Node Affinity, Pod Affinity/Anti-Affinity, and custom schedulers. For proactive scaling, including "hot start" of nodes, the use of Horizontal Pod Autoscaler with system element metrics is proposed.Downloads
References
“Що таке Kubernetes?,” Kubernetes. Accessed: Oct. 22, 2024. Available: https://kubernetes.io/uk/docs/concepts/overview/what-is-kubernetes/
O. Dmytrenko, M. Skulysh, and L. Globa, “Microservice Complimentary Groups Determination Algorithm for the Effective Resource Usage,” CEUR Workshop Proc. Forthcom., no. Scientific and Practical Programming-UkrPROG 2024, p. 20.
Docker. Available: https://www.docker.com/resources/what-container/
S. Al-Raheym, S. C. Açan, and Ö. T. Pusatli, “Investigation Of Amazon And Google For Fault Tolerance Strategies In Cloud Computing Services,” AJIT-E Online Acad. J. Inf. Technol., vol. 7, no. 23, pp. 7–22, Nov. 2016, doi: 10.5824/1309-1581.2016.4.001.x.
A. Belgacem, “Dynamic resource allocation in cloud computing: analysis and taxonomies,” Computing, vol. 104, no. 3, pp. 681–710, Mar. 2022, doi: 10.1007/s00607-021-01045-2.
E. R. Jamzuri, R. Analia, H. Mandala, and S. Susanto, “Cloud-Based Architecture for YOLOv3 Object Detector using gRPC and Protobuf,” J. Tek. Elektro, vol. Vol 14, No 1, pp. 18–23, 2022.
O. Dmytrenko and M. Skulysh, “Визначення мікропроцесорних груп для ефективного використання процесорних потужностей,” Probl. Program. Forthcom., no. №2-3, Sep. 2024, Available: https://docs.google.com/document/d/1ocqA-e7dOAibFVGiEE2UcxZRKgYNn_yPX6e94dHwYM/edit?usp=sharing
O. Dmytrenko and M. Skulysh, “Method of Grouping Complementary Microservices Using Fuzzy Lattice Theory,” vol. 12, no. 1, pp. 11–18, Mar. 2024, doi: 10.25673/115636.
“Що таке Prometheus? | Адміністрування серверів та cloud рішень.” Accessed: Oct. 22, 2024. Available:https://itfb.com.ua/uk/shho-take-prometheus/
Prometheus, “Overview | Prometheus.” Accessed: Oct. 23, 2024. Available: https://prometheus.io/docs/introduction/overview/
Prometheus, “Client libraries | Prometheus.”. Available: https://prometheus.io/docs/instrumenting/clientlibs/
P. Salot, “A Survey of Various Scheduling Algorithm in Cloud Computing Environment,” Int. J. Res. Eng. Technol., vol. 02, no. 02, pp. 131–135, Feb. 2013, doi: 10.15623/ijret.2013.0202008.
O. Dmytrenko and M. Skulysh, “Fault Tolerance Redundancy Methods for IoT Devices,” Infocommunication Comput. Technol., vol. 2(04), no. University “Ukraine,” pp. 59–65, Dec. 2022.
Kubernetes Team, “Kubernetes Scheduler.” Kubernetes Documentation, Dec. 14, 2023. Available: https://kubernetes.io/docs/concepts/scheduling-eviction/kube-scheduler/
“Vertical Pod autoscaling | Google Kubernetes Engine (GKE),” Google Cloud. Accessed: Jul. 14, 2024. Available: https://cloud.google.com/kubernetes-engine/docs/concepts/verticalpodautoscaler
“Kubernetes Autoscaling: Horizontal and Vertical explained.” Accessed: Oct. 23, 2024. Available: https://www.fullstaq.com/knowledge-hub/blogs/autoscaling-in-kubernetes