4.4 Article

Promises and challenges of microservices: an exploratory study

期刊

EMPIRICAL SOFTWARE ENGINEERING
卷 26, 期 4, 页码 -

出版社

SPRINGER
DOI: 10.1007/s10664-020-09910-y

关键词

Microservices; Cloud-native applications; Development practices; Empirical study

资金

  1. Huawei Technologies Sweden AB

向作者/读者索取更多资源

Microservice-based architecture is a popular approach in the industry for building complex systems with small, loosely coupled components. Successful practitioners sometimes deviate from standard advice by focusing on resource consumption and deployment infrastructure, and they emphasize the importance of establishing robust and shared infrastructural support early in the development process.
Microservice-based architecture is a SOA-inspired principle of building complex systems as a composition of small, loosely coupled components that communicate with each other using language-agnostic APIs. This architectural principle is now becoming increasingly popular in industry due to its advantages, such as greater software development agility and improved scalability of deployed applications. In this work, we aim at collecting and categorizing best practices, challenges, and some existing solutions for these challenges employed by practitioners successfully developing microservice-based applications for commercial use. Specifically, we focus our study on mature teams developing microservice-based applications for at least two years, explicitly excluding newcomers to the field. We conduct a broad, mixed-method study that includes in-depth interviews with 21 practitioners and a follow-up online survey with 37 respondents, covering 37 companies in total. Our study shows that, in several cases, practitioners opt to deviate from the standard advice, e.g., instead of splitting microservices by business capabilities, they focus on resource consumption and intended deployment infrastructure. Some also choose to refrain from using multiple programming languages for implementing their microservices, as that practice hinders reuse opportunities. In fact, our study participants identified robust and shared infrastructural support established early on in the development process as one of the main factors contributing to their success. They also identified several pressing challenges related to the efficient managing of common code across services and the support of product variants. The results of our study can benefit practitioners who are interested to learn from each other, borrow successful ideas, and avoid common mistakes. It can also inform researchers and inspire novel solutions to some of the identified challenges.

作者

我是这篇论文的作者
点击您的名字以认领此论文并将其添加到您的个人资料中。

评论

主要评分

4.4
评分不足

次要评分

新颖性
-
重要性
-
科学严谨性
-
评价这篇论文

推荐

暂无数据
暂无数据