Due to its enormous benefits, the research and industry communities have shown an increasing interest in the Microservices Architecture (MSA) style over the last few years. Despite this, there is a limited evidence-based and thorough understanding of the types of issues (e.g., faults, errors, failures, mistakes) faced by microservices system developers and causes that trigger the issues. Such evidence-based understanding of issues and causes is vital for long-term, impactful, and quality research and practice in the MSA style. To that end, we conducted an empirical study on 1,345 issue discussions extracted from five open source microservices systems hosted on GitHub. Our analysis led to the first of its kind taxonomy of the types of issues in open source microservices systems, informing that the problems originating from Technical debt (321, 23.86%), Build (145, 10.78%), Security (137, 10.18%), and Service execution and communication (119, 8.84%) are prominent. We identified that "General programming errors", "Poor security management", "Invalid configuration and communication", and "Legacy versions, compatibility and dependency" are the predominant causes for the leading four issue categories. Study results streamline a taxonomy of issues, their mapping with underlying causes, and present empirical findings that could facilitate research and development on emerging and next-generation microservices systems.
翻译:过去几年来,研究和工业界对微观服务结构(MSA)的风格表现出越来越大的兴趣,尽管如此,对微观服务系统开发者所面临的问题类型(如缺陷、错误、失败、错误)和引发问题的原因,也只有有限的循证和透彻的理解。这种对问题和原因的循证理解对于管理事务协议中的长期、影响性和质量研究和实践至关重要。为此,我们对从吉特胡卜主办的五个开放源微观服务系统中提取的1,345个问题讨论进行了经验性研究。我们的分析导致对开放源微观服务系统中各类问题(如缺陷、错误、失败、错误)的首个类型进行了基于证据的、透彻的理解。我们的分析表明,技术债务(321,23.86%)、构建(145, 10.78%)、安全(137, 10.18%)和服务执行和通信(119, 8.84%)引起的问题十分突出。我们发现,“总体规划错误”、“可怜的安全管理”、“无效配置和通信”、以及“可靠版本、兼容性和依赖性”和“当前经验分析研究”的典型原因可以促进四个领域发展研究。