English

Designing Microservice Systems Using Patterns: An Empirical Study on Quality Trade-Offs

Software Engineering 2022-01-12 v1

Abstract

The promise of increased agility, autonomy, scalability, and reusability has made the microservices architecture a \textit{de facto} standard for the development of large-scale and cloud-native commercial applications. Software patterns are an important design tool, and often they are selected and combined with the goal of obtaining a set of desired quality attributes. However, from a research standpoint, many patterns have not been widely validated against industry practice, making them not much more than interesting theories. To address this, we investigated how practitioners perceive the impact of 14 patterns on 7 quality attributes. Hence, we conducted 9 semi-structured interviews to collect industry expertise regarding (1) knowledge and adoption of software patterns, (2) the perceived architectural trade-offs of patterns, and (3) metrics professionals use to measure quality attributes. We found that many of the trade-offs reported in our study matched the documentation of each respective pattern, and identified several gains and pains which have not yet been reported, leading to novel insight about microservice patterns.

Keywords

Cite

@article{arxiv.2201.03598,
  title  = {Designing Microservice Systems Using Patterns: An Empirical Study on Quality Trade-Offs},
  author = {Guilherme Vale and Filipe Figueiredo Correia and Eduardo Martins Guerra and Thatiane de Oliveira Rosa and Jonas Fritzsch and Justus Bogner},
  journal= {arXiv preprint arXiv:2201.03598},
  year   = {2022}
}

Comments

11 pages, 1 figure, 4 tables. Included in the proceedings of ICSA 2022

R2 v1 2026-06-24T08:45:33.916Z