Master Thesis Project Leads to Conference Publication on Microservice Architecture Anti-Patterns at SEAA 2024

I am delighted to announce that our paper, “Graph-based Anti-Pattern Detection in Microservice Applications,” has been accepted for publication at the 50th Euromicro Conference Series on Software Engineering and Advanced Applications (SEAA). This paper stems from Amund Lunke Røhne’s master thesis project, which he conducted as an internship with TNO-ESI under the supervision of myself and Ben Pronk. This achievement showcases how exceptional work by master students can lead to publications in established conferences.

Our paper addresses a significant challenge in the evolution of microservice applications: as the microservice architecture evolves, architectural anti-patterns may emerge. These anti-patterns are challenging to detect and manage due to their informal natural language definitions and the lack of automated tools. To tackle this, we propose an automated methodology for detecting architectural anti-patterns related to microservice dependencies. A key component of this methodology is the novel Granular Hardware Utilization-Based Service Dependency Graph (GHUBS) model, which is automatically inferred from telemetry data. We have formalized three commonly known anti-patterns and developed algorithms to detect them within the GHUBS model. This methodology is supported by an open-source tool that automatically identifies and visualizes these anti-patterns. We validated our approach using both synthetic data and a case study of a popular microservice benchmarking suite, demonstrating successful detection of the formalized anti-patterns.

Congratulations to Amund on the acceptance of your paper! Your work has made both TNO-ESI and the Software Engineering program at the University of Amsterdam very proud!

Master Thesis Tackles Architectural Anti-patterns in Microservice Applications

Today, we are delighted to announce the successful defense of the outstanding master’s thesis titled “Architectural Anti-Pattern Identification and Mitigation in Microservice Applications Based on Telemetry” by our master student, Amund Lunke Rohne from the University of Amsterdam. This master’s project was a collaborative effort involving TNO-ESI and Thales.

The thesis addresses the problem that microservices offer benefits like scalability and separation of concerns, but also introduce many complex service dependencies. The decomposition of microservice applications can impact system performance and maintainability and can lead to architectural anti-patterns over time. While simple anti-patterns can be detected using analysis of service dependencies, there is a lack of formal mathematical definitions which prevents more complex anti-patterns from being automatically detected by tools. The thesis introduces a novel model called Granular Hardware Utilization-Based Service Dependency Graph (GHUBS), a fine-grained model that captures the interactions dependencies between services at the level of individual requests. The GHUBS model can be manually specified in early design phases to validate a microservice decomposition, or automatically created using telemetry data from a running application. Mathematical formalizations are introduced for four common architectural anti-patterns and methods for automatically detecting them using the GHUBS model is presented. A method for recommending how to mitigate the identified anti-patterns based on the service dependencies in the GHUBS model, as well as resource utilization metrics for the services, is also presented. The approach is implemented in a tool called Televisor and validated through case studies on open-source microservice benchmarking applications, revealing instances of these anti-patterns.

We thank Amund for his work and a fruitful collaboration, and wish him the best of luck in his future career.