Microservices architecture is becoming increasingly popular and is widely adopted by companies due to its scalability, resilience, fault isolation, and ease of development. In today’s performance-critical world, it is essential to design and implement microservices carefully, adopting best practices to ensure optimal performance. This thesis focuses on the performance engineering of a Media Monitoring application, a microservice-based system, by introducing enhancements aimed at improving efficiency, scalability, and responsiveness. Specifically, the system transitions from REST to gRPC for inter-service communication, leveraging gRPC's lower latency, higher throughput, and efficient serialization mechanisms. These changes are expected to reduce communication overhead and improve the overall performance of the system. The performance improvements are evaluated through system monitoring using Prometheus, which collects and analyzes performance metrics, and Grafana, which visualizes these metrics to provide detailed insights into resource utilization and bottlenecks. Additionally, various load tests are conducted using k6 to simulate real-life application scenarios and measure the system's behavior under different workloads. The results demonstrate the impact of these changes on the system's performance, providing insights into practices for optimizing microservice-based architectures.

Microservices architecture is becoming increasingly popular and is widely adopted by companies due to its scalability, resilience, fault isolation, and ease of development. In today’s performance-critical world, it is essential to design and implement microservices carefully, adopting best practices to ensure optimal performance. This thesis focuses on the performance engineering of a Media Monitoring application, a microservice-based system, by introducing enhancements aimed at improving efficiency, scalability, and responsiveness. Specifically, the system transitions from REST to gRPC for inter-service communication, leveraging gRPC's lower latency, higher throughput, and efficient serialization mechanisms. These changes are expected to reduce communication overhead and improve the overall performance of the system. The performance improvements are evaluated through system monitoring using Prometheus, which collects and analyzes performance metrics, and Grafana, which visualizes these metrics to provide detailed insights into resource utilization and bottlenecks. Additionally, various load tests are conducted using k6 to simulate real-life application scenarios and measure the system's behavior under different workloads. The results demonstrate the impact of these changes on the system's performance, providing insights into practices for optimizing microservice-based architectures.

Performance Engineering of a Microservice-Based System

POPOVIC, MILICA
2024/2025

Abstract

Microservices architecture is becoming increasingly popular and is widely adopted by companies due to its scalability, resilience, fault isolation, and ease of development. In today’s performance-critical world, it is essential to design and implement microservices carefully, adopting best practices to ensure optimal performance. This thesis focuses on the performance engineering of a Media Monitoring application, a microservice-based system, by introducing enhancements aimed at improving efficiency, scalability, and responsiveness. Specifically, the system transitions from REST to gRPC for inter-service communication, leveraging gRPC's lower latency, higher throughput, and efficient serialization mechanisms. These changes are expected to reduce communication overhead and improve the overall performance of the system. The performance improvements are evaluated through system monitoring using Prometheus, which collects and analyzes performance metrics, and Grafana, which visualizes these metrics to provide detailed insights into resource utilization and bottlenecks. Additionally, various load tests are conducted using k6 to simulate real-life application scenarios and measure the system's behavior under different workloads. The results demonstrate the impact of these changes on the system's performance, providing insights into practices for optimizing microservice-based architectures.
2024
Performance Engineering of a Microservice-Based System
Microservices architecture is becoming increasingly popular and is widely adopted by companies due to its scalability, resilience, fault isolation, and ease of development. In today’s performance-critical world, it is essential to design and implement microservices carefully, adopting best practices to ensure optimal performance. This thesis focuses on the performance engineering of a Media Monitoring application, a microservice-based system, by introducing enhancements aimed at improving efficiency, scalability, and responsiveness. Specifically, the system transitions from REST to gRPC for inter-service communication, leveraging gRPC's lower latency, higher throughput, and efficient serialization mechanisms. These changes are expected to reduce communication overhead and improve the overall performance of the system. The performance improvements are evaluated through system monitoring using Prometheus, which collects and analyzes performance metrics, and Grafana, which visualizes these metrics to provide detailed insights into resource utilization and bottlenecks. Additionally, various load tests are conducted using k6 to simulate real-life application scenarios and measure the system's behavior under different workloads. The results demonstrate the impact of these changes on the system's performance, providing insights into practices for optimizing microservice-based architectures.
Microservices
Performance testing
System Monitoring
System Optimization
Media Monitoring
File in questo prodotto:
File Dimensione Formato  
Popovic_Milica.pdf

accesso aperto

Dimensione 2.59 MB
Formato Adobe PDF
2.59 MB Adobe PDF Visualizza/Apri

The text of this website © Università degli studi di Padova. Full Text are published under a non-exclusive license. Metadata are under a CC0 License

Utilizza questo identificativo per citare o creare un link a questo documento: https://hdl.handle.net/20.500.12608/87089