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.| 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
https://hdl.handle.net/20.500.12608/87089