SEJun 12, 2019

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

arXiv:1906.05013v138 citations
Originality Synthesis-oriented
AI Analysis

This research addresses the gap in empirical knowledge about how industry handles microservices evolvability and technical debt, providing insights for researchers and practitioners, though it is incremental as it documents existing practices without proposing new solutions.

The study investigated industry practices for ensuring the evolvability of microservices, finding that systems for external customers rely on central governance and guidelines, with manual activities like code reviews being valued despite the importance of automation, and challenges include service cutting and granularity.

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.

Foundations

The foundational work for this paper's niche, ranked by how specifically the neighbourhood builds on it — not by global fame.

Your Notes