Architectural Tactics to Improve the Environmental Sustainability of Microservices: A Rapid Review

Xingwen Xiao
2024-07-20
Abstract: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.
Software Engineering
What problem does this paper attempt to address?
The problem that this paper attempts to solve is: How to improve the environmental sustainability of microservice systems through Architectural Tactics. Specifically, with the wide application of microservices in the Information and Communication Technology (ICT) industry, issues such as energy efficiency, carbon efficiency, and resource efficiency it brings have gradually attracted attention. The paper aims to identify and summarize the architectural design decisions that can enhance the environmental sustainability of microservice systems to cope with the increasing climate change, economic pressure, and legislative requirements. ### Problem Background The microservice architecture is widely used in software deployment because of its advantages such as scalability, maintainability, and agile development. However, with the popularization of microservices, their impact on the environment has also drawn people's attention. In particular, the contribution of the ICT industry to global carbon dioxide emissions has reached 2.3%, and various countries have begun to implement green computing regulations. Therefore, how to achieve higher environmental sustainability in the microservice architecture has become an urgent problem to be solved. ### Research Objectives The goal of the paper is to synthesize, through the method of Rapid Review, the architectural tactics that can improve the microservice environmental sustainability from the existing literature. These tactics mainly focus on the following aspects: 1. **Energy Efficiency**: Increase the effective output per unit of energy. 2. **Carbon Efficiency**: Reduce carbon dioxide emissions. 3. **Resource Efficiency**: Optimize the use of hardware resources. ### Main Research Questions 1. **RQ1**: What architectural tactics for improving the environmental sustainability of microservices can be synthesized from scientific literature? - **RQ1a**: How can these tactics be classified? - **RQ1b**: What evidence is there to show the effectiveness of these tactics? ### Methods To answer the above questions, the author adopted the method of rapid review, focusing on providing insights with practical guiding significance for industrial developers. The specific steps include: - **Initial Search**: Conduct keyword searches through search engines such as Google Scholar and screen out relevant literature. - **Selection Criteria**: Screen according to the literature containing specific design decisions, and exclude irrelevant or low - quality literature. - **Snowballing**: Further expand the scope of literature through citation relationships. - **Data Extraction and Synthesis**: Extract interventions, research methods, and results from the selected literature, and classify and synthesize them. ### Results The paper finally synthesized six specific architectural tactics and classified them into different sustainability aspects (such as energy efficiency, carbon efficiency, and resource efficiency). At the same time, the paper also provided the applicability of these tactics in different application contexts and evidence of their effectiveness. ### Summary Through this research, the author hopes to provide specific guidance for future researchers and industrial practitioners on how to improve the environmental sustainability of microservices. At the same time, it also points out the deficiencies in current research and provides directions for follow - up research. ### Formula Examples When discussing energy efficiency, the paper mentions that the definition of energy efficiency can be expressed by the following formula: \[ \text{Energy Efficiency}=\frac{\text{Effective Output}}{\text{Energy Input}} \] Or the energy efficiency within a specific time period is expressed as: \[ \text{Energy Efficiency}=\frac{\text{Effective Output}}{\text{Energy Use within the Time Period}} \] These formulas help readers better understand the specific meaning of energy efficiency and its calculation method.