Algorithm for detecting antipatterns in microservices projects
Research output: Chapter in Book/Report/Conference proceeding › Conference contribution › Scientific › peer-review
Standard
Algorithm for detecting antipatterns in microservices projects. / Borges, Rodrigo; Khan, Tanveer.
SSSME-2019: Joint Proceedings of the Inforte Summer School on Software Maintenance and Evolution. CEUR-WS, 2019. p. 21-29 (CEUR Workshop Proceedings; Vol. 2520).Research output: Chapter in Book/Report/Conference proceeding › Conference contribution › Scientific › peer-review
Harvard
APA
Vancouver
Author
Bibtex - Download
}
RIS (suitable for import to EndNote) - Download
TY - GEN
T1 - Algorithm for detecting antipatterns in microservices projects
AU - Borges, Rodrigo
AU - Khan, Tanveer
N1 - jufoid=53269 dupl=51441498
PY - 2019
Y1 - 2019
N2 - When migrating from a monolithic to a microservice-based architecture, one need to know patterns and antipatterns in order not to propagate old practices learned from centralized systems to a new structure where services are independent and distributed. We select 5 known antipatterns in microservices-based solutions and propose an algorithm for detecting them automatically. In a first round, all classes, methods and imports are registered and associated to its location in the source code. In a second round the usage of these resources is mapped and antipatterns are detected. The algorithm is also responsible for generating visual output of how resources are used in the project, so the developers can manage how resources are distributed in different files or concentrated in few ones. The solution can avoid common mistakes when deploying microservices-based projects and can help project managers to get an overview of the system as a whole. The algorithm is tested in a well-known open source project revealing possible improvements and resource allocation information.
AB - When migrating from a monolithic to a microservice-based architecture, one need to know patterns and antipatterns in order not to propagate old practices learned from centralized systems to a new structure where services are independent and distributed. We select 5 known antipatterns in microservices-based solutions and propose an algorithm for detecting them automatically. In a first round, all classes, methods and imports are registered and associated to its location in the source code. In a second round the usage of these resources is mapped and antipatterns are detected. The algorithm is also responsible for generating visual output of how resources are used in the project, so the developers can manage how resources are distributed in different files or concentrated in few ones. The solution can avoid common mistakes when deploying microservices-based projects and can help project managers to get an overview of the system as a whole. The algorithm is tested in a well-known open source project revealing possible improvements and resource allocation information.
KW - Antipatterns
KW - Microservices
KW - Monolithic
KW - Network theory
M3 - Conference contribution
T3 - CEUR Workshop Proceedings
SP - 21
EP - 29
BT - SSSME-2019
PB - CEUR-WS
ER -