Understanding the Issues, Their Causes and Solutions in Microservices Systems: An Empirical Study

02/03/2023
by   Muhammad Waseem, et al.
0

Many small to large organizations have adopted the Microservices Architecture (MSA) style to develop and deliver their core businesses. Despite the popularity of MSA in the software industry, there is a limited evidence-based and thorough understanding of the types of issues (e.g., errors, faults, failures, and bugs) that microservices system developers experience, the causes of the issues, and the solutions as potential fixing strategies to address the issues. To ameliorate this gap, we conducted a mixed-methods empirical study that collected data from 2,641 issues from the issue tracking systems of 15 open-source microservices systems on GitHub, 15 interviews, and an online survey completed by 150 practitioners from 42 countries across 6 continents. Our analysis led to comprehensive taxonomies for the issues, causes, and solutions. The findings of this study inform that Technical Debt, Continuous Integration and Delivery, Exception Handling, Service Execution and Communication, and Security are the most dominant issues in microservices systems. Furthermore, General Programming Errors, Missing Features and Artifacts, and Invalid Configuration and Communication are the main causes behind the issues. Finally, we found 177 types of solutions that can be applied to fix the identified issues. Based on our study results, we formulated future research directions that could help researchers and practitioners to engineer emergent and next-generation microservices systems.

READ FULL TEXT

page 9

page 15

page 26

research
04/25/2021

On the Nature of Issues in Five Open Source Microservices Systems: An Empirical Study

Due to its enormous benefits, the research and industry communities have...
research
12/11/2022

Technical Debt Management in OSS Projects: An Empirical Study on GitHub

Technical debt (TD) refers to delayed tasks and immature artifacts that ...
research
08/27/2018

An Empirical Study of Architecting for Continuous Delivery and Deployment

Recently, many software organizations have been adopting Continuous Deli...
research
05/10/2022

Decisions in Continuous Integration and Delivery: An Exploratory Study

In recent years, Continuous Integration (CI) and Continuous Delivery (CD...
research
01/10/2022

Empirical study on BlenderBot 2.0 Errors Analysis in terms of Model, Data and User-Centric Approach

BlenderBot 2.0 is a dialogue model that represents open-domain chatbots ...
research
09/13/2023

Data Pipeline Quality: Influencing Factors, Root Causes of Data-related Issues, and Processing Problem Areas for Developers

Data pipelines are an integral part of various modern data-driven system...
research
08/05/2019

An Empirical Study on Technical Debt in a Finnish SME

Objective. In this work, we report the experience of a Finnish SME in ma...

Please sign up or login with your details

Forgot password? Click here to reset