Assuring the Evolvability of Microservices: Insights into Industry Practices and Challenges

06/12/2019
by   Justus Bogner, et al.
0

While Microservices promise several beneficial characteristics for sustainable long-term software evolution, little empirical research covers what concrete activities industry applies for the evolvability assurance of Microservices and how technical debt is handled in such systems. Since insights into the current state of practice are very important for researchers, we performed a qualitative interview study to explore applied evolvability assurance processes, the usage of tools, metrics, and patterns, as well as participants' reflections on the topic. In 17 semi-structured interviews, we discussed 14 different Microservice-based systems with software professionals from 10 companies and how the sustainable evolution of these systems was ensured. Interview transcripts were analyzed with a detailed coding system and the constant comparison method. We found that especially systems for external customers relied on central governance for the assurance. Participants saw guidelines like architectural principles as important to ensure a base consistency for evolvability. Interviewees also valued manual activities like code review or boy scouting, even though automation and tool support was described as very important. Source code quality was the primary target for the usage of tools and metrics. Despite most reported issues being related to Architectural Technical Debt (ATD), our participants did not apply any architectural or service-oriented tools and metrics. While participants generally saw their Microservices as evolvable, service cutting and finding an appropriate service granularity with low coupling and high cohesion were reported as challenging. Future Microservices research in the areas of evolution and technical debt should take these findings and industry sentiments into account.

READ FULL TEXT

page 1

page 6

page 8

research
10/13/2021

The perception of Architectural Smells in industrial practice

Architectural Technical Debt (ATD) is considered as the most significant...
research
04/17/2021

Architectural Archipelagos: Technical Debt in Long-Lived Software Research Platforms

This paper identifies a model of software evolution that is prevalent in...
research
02/20/2023

A Model-driven Approach for Continuous Performance Engineering in Microservice-based Systems

Microservices are quite widely impacting on the software industry in rec...
research
03/27/2019

Microservice Transition and its Granularity Problem: A Systematic Mapping Study

Microservices have gained wide recognition and acceptance in software in...
research
01/25/2019

Software Architecture Metrics: a literature review

In Software Engineering, early detection of architectural issues is key....
research
04/14/2020

Finding the Inner Clock: A Chronobiology-based Calendar

Time and its lack of play a central role in our everyday lives. Despite ...
research
03/22/2019

"The Perfect One": Understanding Communication Practices and Challenges with Animated GIFs

Animated GIFs are increasingly popular in text-based communication. Find...

Please sign up or login with your details

Forgot password? Click here to reset