Network methods for mitigating microservice architectural degradation
Thesis event information
Date and time of the thesis defence
Place of the thesis defence
L10 OP-Auditorium, Linnanmaa campus
Topic of the dissertation
Network methods for mitigating microservice architectural degradation
Doctoral candidate
Master of Science (Technology) Alexander Bakhtin
Faculty and unit
University of Oulu Graduate School, Faculty of Information Technology and Electrical Engineering, Software Engineering and Information Systems (SEIS)
Subject of study
Information Processing Science
Opponent
Associate Professor Vasilios Andrikopoulos, University of Groningen
Custos
Professor Davide Taibi, University of Oulu, University of Southern Denmark
How to analyze and manage complex software system?
The modern world is built with complex and interconnected systems. This also includes the software systems that we use every day. For example, when paying for a product online, the system of the store website interacts with the system of your bank, which checks that card and account data, then the store website interacts with the warehouse management to locate the product, while the invoicing system records the successfully paid order. Then, the delivery system communicates with the system of the chosen shipping provider to arrange the package. Each of the aforementioned systems could in turn be split into smaller parts, each fulfilling a specific task. In software engineering, such systems are implemented using microservice architecture.
In microservice architecture, each task or a group of related tasks is implemented by a separate program that runs on its own, but depends on the connections and successful operations of the other programs. Moreover, different programs might be developed by different teams of coders, who need to communicate clearly the capabilities and requirements of each software component to each other. The complexity and management needs of such systems grow very quickly. The quality of the system can deteriorate if precautions are not in place and if there is no overall view of how the system works.
In my thesis, we have tackled the issue of how to map and analyze such complex software systems. The dependencies and interconnections between all components form a network, which can be analyzed for certain properties and insights. In particular, methods from Network Science can be used to analyze such networks. We studied the measure of importance that a single component plays in the network, called centrality, and discovered that it is not related to other metrics commonly used to assess and describe software. Moreover, it is frequently assumed that a component that plays a central role in the software network has too many unrelated responsibilities, which can be measured by metrics known as cohesion metrics. We have analyzed the connection between centrality metrics and cohesion metrics and found no strong correlation, suggesting that new ways of analyzing software architectural networks should be proposed in such a way that they give practical insights to the developers.
In microservice architecture, each task or a group of related tasks is implemented by a separate program that runs on its own, but depends on the connections and successful operations of the other programs. Moreover, different programs might be developed by different teams of coders, who need to communicate clearly the capabilities and requirements of each software component to each other. The complexity and management needs of such systems grow very quickly. The quality of the system can deteriorate if precautions are not in place and if there is no overall view of how the system works.
In my thesis, we have tackled the issue of how to map and analyze such complex software systems. The dependencies and interconnections between all components form a network, which can be analyzed for certain properties and insights. In particular, methods from Network Science can be used to analyze such networks. We studied the measure of importance that a single component plays in the network, called centrality, and discovered that it is not related to other metrics commonly used to assess and describe software. Moreover, it is frequently assumed that a component that plays a central role in the software network has too many unrelated responsibilities, which can be measured by metrics known as cohesion metrics. We have analyzed the connection between centrality metrics and cohesion metrics and found no strong correlation, suggesting that new ways of analyzing software architectural networks should be proposed in such a way that they give practical insights to the developers.
Created 29.6.2026 | Updated 29.6.2026