Microservice architecture advocates a number of technologies and practices such as lightweight container, container orchestration, and DevOps, with the promised benefits of faster delivery, improved scalability, and greater autonomy. However, microservice systems implemented in industry vary a lot in terms of adopted practices and achieved benefits, drastically different from what is advocated in the literature. In this article, we conduct an empirical study, including an online survey with 51 responses and 14 interviews for experienced microservice experts to advance our understanding regarding to microservice practices in industry. As a part of our findings, the empirical study clearly revealed three levels of maturity of microservice systems (from basic to advanced): independent development and deployment, high scalability and availability, and service ecosystem, categorized by the fulfilled benefits of microservices. We also identify 11 practical issues that constrain the microservice capabilities of organizations. For each issue, we summarize the practices that have been explored and adopted in industry, along with the remaining challenges. Our study can help practitioners better position their microservice systems and determine what infrastructures and capabilities are worth investing. Our study can also help researchers better understand industrial microservice practices and identify useful research problems.
翻译:微服务结构主张一些技术和做法,如轻型集装箱、集装箱管弦和DevOps等,并承诺会带来更快交付的好处,改进可扩缩性和更大的自主性;然而,在工业中实施的微服务系统在采用的做法和取得的好处方面差异很大,与文献中倡导的做法大不相同;在本条中,我们进行了一项经验研究,包括在线调查,有51份答复,对有经验的微观服务专家进行了14次访谈,以增进我们对工业中微服务做法的理解;作为我们调查结果的一部分,实证研究明确揭示了微服务系统(从基础到高级)的成熟程度的三个层面:独立开发和部署,高可扩缩性和可用性,以及服务生态系统,按微服务的实际效益分类。我们还确定了限制各组织微观服务能力的11个实际问题。我们总结了在工业中探索和采用的做法以及其余的挑战。我们的研究可以帮助从业人员更好地定位其微服务系统,并确定哪些基础设施和能力值得投资。我们的研究还可以帮助研究人员更好地了解工业微服务做法,并查明有用的研究问题。