Research and development of microservices architecture using Kubernetes

Students Name: Lobai Roman Ihorovych
Qualification Level: magister
Speciality: System Programming
Institute: Institute of Computer Technologies, Automation and Metrology
Mode of Study: full
Academic Year: 2022-2023 н.р.
Language of Defence: англійська
Abstract: This diploma project is the development of microservices architecture using Kubernetes. Microservices are independent components of a complex software system that use message brokers for interservice communication. Kubernetes is a system for orchestrating containers, where each microservice is isolated in a container with settings that allow them to be easily managed (communication, interaction, networking, updating, etc.). The system makes it easy to work with microservices, greatly automating all processes, and allows you to build extremely large and efficient systems that are still easy to manage. The main functionality includes the ability to orchestrate containers in which microservices are isolated, followed by setting traffic routing, fault tolerance, update strategy, limits on resource consumption, monitoring, etc. The system is built using leading technologies in the field of microservice orchestration and development, namely Kubernetes, and NodeJS based on the NestJS framework for building microservices. Prometheus and the Grafana stack were used to configure system monitoring, as well as sending notifications in case of critical failures on the cluster. Fluentbit and Amazon CloudWatch were used to log events in microservices, and CloudWatch log insights were used to analyze the collected events. Therefore, the combination of modern technologies and a well-thought-out architectural approach is a guarantee of high performance, reliability and error-free operation of the system.