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

Fuente: arXiv
Guardado en:
Detalles Bibliográficos
Autores principales: Waseem, Muhammad, Liang, Peng, Ahmad, Aakash, Khan, Arif Ali, Shahin, Mojtaba, Abrahamsson, Pekka, Nasab, Ali Rezaei, Mikkonen, Tommi
Formato: Preprint
Publicado: 2023
Materias:
Acceso en línea:
Etiquetas: Agregar Etiqueta
Sin Etiquetas, Sea el primero en etiquetar este registro!
_version_ 1866910026176659456
author Waseem, Muhammad
Liang, Peng
Ahmad, Aakash
Khan, Arif Ali
Shahin, Mojtaba
Abrahamsson, Pekka
Nasab, Ali Rezaei
Mikkonen, Tommi
author_facet Waseem, Muhammad
Liang, Peng
Ahmad, Aakash
Khan, Arif Ali
Shahin, Mojtaba
Abrahamsson, Pekka
Nasab, Ali Rezaei
Mikkonen, Tommi
contents 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 informthat 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 propose a future research framework that outlines key problem dimensions and actionable study strategies to support the engineering of emergent and next-generation microservices systems.
format Preprint
id arxiv_https___arxiv_org_abs_2302_01894
institution arXiv
publishDate 2023
record_format arxiv
spellingShingle Understanding the Issues, Their Causes and Solutions in Microservices Systems: An Empirical Study
Waseem, Muhammad
Liang, Peng
Ahmad, Aakash
Khan, Arif Ali
Shahin, Mojtaba
Abrahamsson, Pekka
Nasab, Ali Rezaei
Mikkonen, Tommi
Software Engineering
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 informthat 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 propose a future research framework that outlines key problem dimensions and actionable study strategies to support the engineering of emergent and next-generation microservices systems.
title Understanding the Issues, Their Causes and Solutions in Microservices Systems: An Empirical Study
topic Software Engineering
url https://arxiv.org/abs/2302.01894