Authors:
Sebastiano Panichella
1
;
Mohammad Imranur Rahman
2
and
Davide Taibi
2
Affiliations:
1
Zurich University of Applied Science (ZHAW), Zurich, Switzerland
;
2
CLoWEE, Cloud and Web Engineering Group, Tampere University, Tampere, 33720, Finland
Keyword(s):
Cloud-native, Microservice, Coupling.
Abstract:
Cloud-native Applications are “distributed, elastic and horizontal-scalable systems composed of (micro)services which isolates states in a minimum of stateful components”. Hence, an important property is to ensure a low coupling and a high cohesion among the (micro)services composing the cloud-native application.. Loosely coupled and highly cohesive services allow development teams to work in parallel, reducing the communication overhead between teams. However, despite both practitioners and researchers agreement on the importance of this general property, there are no validated metrics to effectively measure or test the actual coupling level between services. In this work, we propose ways to compute and to visualize the coupling between microservices, this by extending and adapting the concepts behind the computation of the traditional structural coupling. We validate these measures with a case study involving 17 open source projects and we provide an automatic approach to measure t
hem. The results of this study highlight how these metrics provide to practitioners a quantitative and visual views of services compositions, which can be useful to conceive advanced systems to monitor the services evolution.
(More)