Microservices are a popular architectural style adopted by the industry when it comes to deploying software that requires scalability, maintainability, and agile development. There is an increasing demand for improving the sustainability of microservice systems in the industry. This rapid review gathers 22 peer-reviewed studies and synthesizes architectural tactics that improve the environmental sustainability of microservices from them. We list 6 tactics that are presented in an actionable way and categorized according to their sustainability aspects and context. The sustainability aspects include energy efficiency, carbon efficiency, and resource efficiency, among which resource efficiency is the most researched one while energy efficiency and carbon efficiency are still in the early stage of study. The context categorization, including serverless platforms, decentralized networks, etc., helps to identify the tactics that we can use in a specific setting. Additionally, we present how the evidence of optimization after adopting these tactics is presented, like the measurement unit and statistical methods, and how experiments are generally set up so that this review is both instructive for our future study and our industrial practitioners' interest. We further study the insufficiencies of the current study and hope to provide insight for other researchers and the industry.
翻译:微服务是一种流行的架构风格,在需要可扩展性、可维护性和敏捷开发的软件部署中被业界广泛采用。业界对提升微服务系统可持续性的需求日益增长。本快速综述收集了22项同行评议研究,并从中综合归纳了能够提升微服务环境可持续性的架构策略。我们列出了6项以可操作方式呈现的策略,并根据其可持续性维度和应用场景进行了分类。可持续性维度包括能效、碳效和资源效率,其中资源效率是研究最多的方向,而能效和碳效仍处于研究早期阶段。应用场景分类(包括无服务器平台、去中心化网络等)有助于识别在特定环境下可采用的策略。此外,我们阐述了采用这些策略后优化效果的证据呈现方式(如度量单位与统计方法)以及实验的一般设置方案,从而使本综述既能指导我们未来的研究,也能满足业界实践者的需求。我们进一步分析了当前研究的不足,旨在为其他研究人员及行业提供参考。