Detecting anti-patterns in a MSA using distributed tracing
Detecting anti-patterns in a MSA using distributed tracing at ING
N.E. Hullegien (TU Delft - Electrical Engineering, Mathematics and Computer Science)
Luis Cruz – Mentor (TU Delft - Software Engineering)
A. van Deursen – Mentor (TU Delft - Software Technology)
A. Katsifodimos – Graduation committee member (TU Delft - Web Information Systems)
Pieter Vallen – Mentor (ING Bank)
Kevin van der Vlist – Mentor (ING Bank)
Jonck van der Kogel – Mentor (ING Bank)
More Info
expand_more
Other than for strictly personal use, it is not permitted to download, forward or distribute the text or part of it, without the consent of the author(s) and/or copyright holder(s), unless the work is under an open content license such as Creative Commons.
Abstract
Microservice architectures (MSA) have become a dominant architectural style choice in the service oriented software industry. Because of this, as with any other system, some unoptimized approaches might creep into architectures. These are what we call anti-patterns, they can be considered the opposite of design patterns. Furthermore, a microservice architecture can quickly grow to an immense scale due to the number of services.
In this work, we present Luduan, a tool created within ING that provides engineers with insights into their MSA. Using different graph metrics and tracing data, we determine the likelihood of any service containing certain anti-patterns. We validate this methodology by gathering feedback from subject-matter experts, by ways of surveys and one-on-one sessions where Luduan is used as a support tool. Finally, we ask teams that are responsible for services, to figure out whether their service has an anti-pattern or not. We then use these results to fine tune the computations from metrics to anti-pattern likelihood.