Designing Microservice Systems Using Patterns: An Empirical Study on Quality Trade-Offs
Guilherme Vale, Filipe Figueiredo Correia, Eduardo Martins Guerra,, Thatiane de Oliveira Rosa, Jonas Fritzsch, Justus Bogner

TL;DR
This study investigates how industry practitioners perceive the impact of 14 microservice design patterns on quality attributes, revealing validated trade-offs and new insights into pattern benefits and challenges.
Contribution
It provides empirical validation of microservice patterns' impact on quality attributes through industry interviews, highlighting both known and novel trade-offs.
Findings
Many reported trade-offs align with pattern documentation.
Identified new gains and pains not previously documented.
Enhanced understanding of pattern impacts in real-world microservice systems.
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…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsSoftware System Performance and Reliability · Technology Adoption and User Behaviour · Cloud Computing and Resource Management
