Skip to main content
QUICK REVIEW

[论文解读] No Free Lunch: Microservice Practices Reconsidered in Industry

Qilin Xiang, Xin Peng|arXiv (Cornell University)|Jun 14, 2021
Software System Performance and Reliability参考文献 28被引用 7
一句话总结

本实证研究通过针对51名专业人士和14次专家访谈的调查,探究了工业界微服务实践,揭示了基于实际收益的三个成熟度级别——独立开发与部署、高可扩展性与高可用性、服务生态——并识别出11项关键挑战及其相关实践,为从业者提供了基础设施投资路线图,为研究者奠定了应对现实世界微服务局限性的基础。

ABSTRACT

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.

研究动机与目标

  • 理解工业界微服务实际采用状况,与理想化的学术模型进行对比。
  • 基于实际收益和驱动力,识别微服务系统的成熟度级别。
  • 揭示制约微服务能力的实际问题,评估现有解决方案及尚未解决的挑战。

提出的方法

  • 通过在线调查收集51名工业界从业者的反馈,以评估微服务实践与收益。
  • 对14位经验丰富的微服务专家进行深入访谈,探讨组织与技术层面的挑战。
  • 构建概念模型,基于已实现的收益与基础设施能力,对微服务成熟度级别进行分类。
  • 使用主题分析法分析调查与访谈数据,识别重复出现的问题、实践与成熟度模式。
  • 将挑战划分为技术、组织与集成相关三大领域,并配套提出缓解策略。
  • 将实践与成熟度级别进行映射,推导出组织持续改进的路线图。

实验结果

研究问题

  • RQ1RQ1:工业微服务系统可被划分为哪些成熟度级别?其特征、驱动力与可实现的收益分别是什么?
  • RQ2RQ2:制约微服务开发能力的常见问题有哪些?这些问题在不同成熟度级别间如何变化?
  • RQ3RQ3:在每个成熟度级别上,已采用哪些实践来应对这些问题?仍存在哪些未解决的挑战?

主要发现

  • 识别出三种截然不同的微服务系统成熟度级别:独立开发与部署、高可扩展性与高可用性、服务生态,每个级别均与特定收益和基础设施投资相关。
  • 独立开发与部署级别最为普遍,可实现更快的功能交付与团队自主性,但通常在可观测性与弹性方面存在不足。
  • 高可扩展性与高可用性级别由具备强大DevOps与SRE实践的组织实现,可支持动态扩展与高系统可用性,但对运维专业知识要求极高。
  • 服务生态级别代表最高成熟度,其特征为服务间协作、共享治理与平台级支持,已在腾讯与eBay等大规模系统中观察到。
  • 共识别出11项实际问题,包括服务发现、分布式追踪、数据一致性与组织孤岛等,其影响程度在不同成熟度级别间各不相同。
  • 尽管服务网格、混沌工程与自动化CI/CD等实践在高成熟度级别中已采用,但调试分布式系统与管理技术债务等挑战在高级组织中依然普遍存在。

更好的研究,从现在开始

从阅读论文到最终审阅,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。