Industry practices and challenges for the evolvability assurance of microservices: An interview study and systematic grey literature review

Justus Bogner, Jonas Fritzsch, Stefan Wagner, Alfred Zimmermann

Research output: Contribution to JournalArticleAcademicpeer-review

Abstract

Context: Microservices as a lightweight and decentralized architectural style with fine-grained services promise several beneficial characteristics for sustainable long-term software evolution. Success stories from early adopters like Netflix, Amazon, or Spotify have demonstrated that it is possible to achieve a high degree of flexibility and evolvability with these systems. However, the described advantageous characteristics offer no concrete guidance and little is known about evolvability assurance processes for microservices in industry as well as challenges in this area. Insights into the current state of practice are a very important prerequisite for relevant research in this field. Objective: We therefore wanted to explore how practitioners structure the evolvability assurance processes for microservices, what tools, metrics, and patterns they use, and what challenges they perceive for the evolvability of their systems. Method: We first conducted 17 semi-structured interviews and discussed 14 different microservice-based systems and their assurance processes with software professionals from 10 companies. Afterwards, we performed a systematic grey literature review (GLR) and used the created interview coding system to analyze 295 practitioner online resources. Results: The combined analysis revealed the importance of finding a sensible balance between decentralization and standardization. Guidelines like architectural principles were seen as valuable to ensure a base consistency for evolvability and specialized test automation was a prevalent theme. Source code quality was the primary target for the usage of tools and metrics for our interview participants, while testing tools and productivity metrics were the focus of our GLR resources. In both studies, practitioners did not mention architectural or service-oriented tools and metrics, even though the most crucial challenges like Service Cutting or Microservices Integration were of an architectural nature. Conclusions: Practitioners relied on guidelines, standardization, or patterns like Event-Driven Messaging to partially address some reported evolvability challenges. However, specialized techniques, tools, and metrics are needed to support industry with the continuous evaluation of service granularity and dependencies. Future microservices research in the areas of maintenance, evolution, and technical debt should take our findings and the reported industry sentiments into account.
Original languageEnglish
Article number104
JournalEmpirical Software Engineering
Volume26
Issue number5
DOIs
Publication statusPublished - 1 Sept 2021
Externally publishedYes

Funding

Open Access funding enabled and organized by Projekt DEAL. This research was partially funded by the Ministry of Science of Baden-Württemberg, Germany, for the doctoral program Services Computing ( https://www.services-computing.de/?lang=en ).

FundersFunder number
Ministry of Science of Baden-Württemberg
Ministerium für Wissenschaft, Forschung und Kunst Baden-WürttembergKooperatives Promotionskolleg Services Computing
Universität Stuttgart

    Fingerprint

    Dive into the research topics of 'Industry practices and challenges for the evolvability assurance of microservices: An interview study and systematic grey literature review'. Together they form a unique fingerprint.

    Cite this