Institutional-Repository, University of Moratuwa.  

Using dependency graph and graph theory concepts to identify anti-patterns in a microservices system: a tool-based approach

Show simple item record

dc.contributor.advisor Perera I
dc.contributor.author Gamage IUP
dc.date.accessioned 2021
dc.date.available 2021
dc.date.issued 2021
dc.identifier.citation Gamage, I.U.P. (2021). Using dependency graph and graph theory concepts to identify anti-patterns in a microservices system: a tool-based approach [Master's theses, University of Moratuwa]. Institutional Repository University of Moratuwa. http://dl.lib.uom.lk/handle/123/20445
dc.identifier.uri http://dl.lib.uom.lk/handle/123/20445
dc.description.abstract Microservice based application developments are becoming more and more popular and becoming the common trend in implementing large scale applications. Unlike the traditional monolith applications, microservice applications are composed of many services hence there is an immense possibility of anti-patterns introduced in to the system. To identify these design problems, detailed analysis of the architecture needs to be performed. Tracing data plays a significant role here but it is less useful on its own because of the complexity and the increased quantity of information. Diving in to this data and analysing them to identify anti-patterns exist is a burdensome task because of the lack of tools available thus it requires an immense human intervention and effort due to its complexity. The most common tools available for this kind of scenarios are focused on presenting the information visually so that they are more human readable. The dependency graph of a microservices system, generated by these tools is a good example. However, these tools are not up to performing analysis on the traced data and presenting developers with more statistical information such as metrics along with visualization techniques so that developers can take actions by evaluating metrics and visualizations both, not just by the visualizations. In this thesis we present a solution, a tool for this problem which is capable of utilizing traced data of a microservice system to generate dependency graph and thereby extract metrics using graph theory concepts and algorithms from the dependency graph. The graph theory concepts such as Degree, Clustering coefficient, Paths and distances are used to generate relevant metrices. These metrices are presented to the user in a statistical and a visualized way by the proposed solution so that developers can evaluate them and take decisions on refactoring. To build the proposed tool, we used some already available, industry well recognized tools to develop relevant applications, trace the data and store the data. We use a system which has been developed with microservice style for the analysis. The system has been introduced with anti-patterns intentionally. In this research we focus on anti-patterns specifically The Knot, Nano service, Chained service, Bottleneck service and Cyclic dependency. We analyse the microservice system we have developed with the solution tool presented to identify these anti-patterns. en_US
dc.language.iso en en_US
dc.subject MICROSERVICES en_US
dc.subject DISTRIBUTED SYSTEMS en_US
dc.subject ANTI PATTERNS, ,, en_US
dc.subject GRAPH THEORY en_US
dc.subject DEPENDENCY GRAPH en_US
dc.subject TRACING en_US
dc.subject COMPUTER SCIENCE & ENGINEERING - Dissertation en_US
dc.subject INFORMATION TECHNOLOGY – Dissertation en_US
dc.subject COMPUTER SCIENCE - Dissertation en_US
dc.title Using dependency graph and graph theory concepts to identify anti-patterns in a microservices system: a tool-based approach en_US
dc.type Thesis-Abstract en_US
dc.identifier.faculty Engineering en_US
dc.identifier.degree MSc in Computer Science and Engineering en_US
dc.identifier.department Department of Computer Science & Engineering en_US
dc.date.accept 2021
dc.identifier.accno TH4658 en_US


Files in this item

This item appears in the following Collection(s)

Show simple item record