Abstract
Context: Microservice-based systems have established themselves in the software industry. However, sustainability-related legislation and the growing costs of energy-hungry software increase the importance of energy efficiency for these systems. While some proposals for architectural tactics and patterns exist, their effectiveness as well as potential trade-offs on other quality attributes (QAs) remain unclear.Goal: We therefore aim to study the effectiveness of microservices tactics and patterns to reduce energy consumption, as well as potential trade-offs with performance and maintainability.Method: Using the open-source Online Boutique system, we conducted a controlled experiment with three tactics (Distribute pods to different nodes, Distribute microservices to different containers, Use different proxies for different demands) and three patterns (Backends for Frontends, Request Bundle, Caching of Read Requests) and analyzed the impact of each technique compared to a baseline. We also tested with three levels of simulated request loads (low, medium, high).Results: Request load moderated the effectiveness of reducing energy consumption. All techniques (tactics and patterns) reduced the energy consumption for at least one load level, up to 5.6%. For performance, the techniques could negatively impact response time by increasing it by up to 25.9%, while some also decreased it by up to 72.5%. Two techniques increased the throughput, by 1.9% and 34.0%. For maintainability, three techniques had a negative, one a positive, and two no impact.Conclusion: Some techniques reduced energy consumption while also improving performance. However, these techniques usually involved a trade-off in maintainability, e.g., via more code duplication and module coupling. Overall, all techniques significantly reduced energy consumption at higher loads, but most of them sacrificed one of the other QAs. This highlights that the real challenge is not simply reducing energy consumption of microservices, but to achieve energy efficiency.
Original language | English |
---|---|
Title of host publication | Proceedings - 2025 IEEE 22nd International Conference on Software Architecture, ICSA 2025 |
Publisher | Institute of Electrical and Electronics Engineers Inc. |
Pages | 164-175 |
Number of pages | 12 |
ISBN (Electronic) | 9798331520908 |
DOIs | |
Publication status | Published - 2025 |
Event | 22nd IEEE International Conference on Software Architecture, ICSA 2025 - Odense, Denmark Duration: 31 Mar 2025 → 4 Apr 2025 |
Publication series
Name | Proceedings - 2025 IEEE 22nd International Conference on Software Architecture, ICSA 2025 |
---|
Conference
Conference | 22nd IEEE International Conference on Software Architecture, ICSA 2025 |
---|---|
Country/Territory | Denmark |
City | Odense |
Period | 31/03/25 → 4/04/25 |
Bibliographical note
Publisher Copyright:© 2025 IEEE.
Keywords
- controlled experiment
- energy consumption
- maintainability
- microservices
- patterns
- performance
- tactics