Structural Coupling for Microservices

Fuente: arXiv
Saved in:
Bibliographic Details
Main Authors: Panichella, Sebastiano, Rahman, Mohammad Imranur, Taibi, Davide
Format: Preprint
Published: 2021
Subjects:
Online Access:
Tags: Add Tag
No Tags, Be the first to tag this record!
_version_ 1866913579337252864
author Panichella, Sebastiano
Rahman, Mohammad Imranur
Taibi, Davide
author_facet Panichella, Sebastiano
Rahman, Mohammad Imranur
Taibi, Davide
contents Cloud-native Applications are 'distributed, elastic and horizontal-scalable systems composed of (micro)services which isolate 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 agree 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 visualize the coupling between microservices, 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 them. The results of this study highlight how these metrics provide to practitioners a quantitative and visual view of services compositions, which can be useful to conceive advanced systems to monitor the evolution of the service.
format Preprint
id arxiv_https___arxiv_org_abs_2103_04674
institution arXiv
publishDate 2021
record_format arxiv
spellingShingle Structural Coupling for Microservices
Panichella, Sebastiano
Rahman, Mohammad Imranur
Taibi, Davide
Software Engineering
Cloud-native Applications are 'distributed, elastic and horizontal-scalable systems composed of (micro)services which isolate 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 agree 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 visualize the coupling between microservices, 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 them. The results of this study highlight how these metrics provide to practitioners a quantitative and visual view of services compositions, which can be useful to conceive advanced systems to monitor the evolution of the service.
title Structural Coupling for Microservices
topic Software Engineering
url https://arxiv.org/abs/2103.04674