Table of Contents
Fetching ...

Service-Level Energy Modeling and Experimentation for Cloud-Native Microservices

Julian Legler, Sebastian Werner, Maria C. Borges, Stefan Tai

TL;DR

Cloud-native microservices amplify resource demand and energy use, but prior work largely measures at the container or system level, neglecting cross-container interactions and the energy costs of network and storage, especially for auxiliary services. The authors introduce a service-level energy model and the GOXN tool to measure and attribute energy across CPU, memory, network, and storage within Kubernetes deployments, including auxiliary services. They validate the approach on a popular open-source microservice app, showing that ignoring network and storage can underestimate auxiliary-service energy by up to 63% and that observability configurations (e.g., tracing) can dominate energy consumption. The work provides a practical framework for energy-aware service design and highlights the need to include auxiliary components in energy accounting for accurate, actionable insights.

Abstract

Microservice architectures have become the dominant paradigm for cloud-native systems, offering flexibility and scalability. However, this shift has also led to increased demand for cloud resources, contributing to higher energy consumption and carbon emissions. While existing research has focused on measuring fine-grained energy usage of CPU and memory at the container level, or on system-wide assessments, these approaches often overlook the energy impact of cross-container service interactions, especially those involving network and storage for auxiliary services such as observability and system monitoring. To address this gap, we introduce a service-level energy model that captures the distributed nature of microservice execution across containers. Our model is supported by an experimentation tool that accounts for energy consumption not just in CPU and memory, but also in network and storage components. We validate our approach through extensive experimentation with diverse experiment configurations of auxiliary services for a popular open-source cloud-native microservice application. Results show that omitting network and storage can lead to an underestimation of auxiliary service energy use by up to 63%, highlighting the need for more comprehensive energy assessments in the design of energy-efficient microservice architectures.

Service-Level Energy Modeling and Experimentation for Cloud-Native Microservices

TL;DR

Cloud-native microservices amplify resource demand and energy use, but prior work largely measures at the container or system level, neglecting cross-container interactions and the energy costs of network and storage, especially for auxiliary services. The authors introduce a service-level energy model and the GOXN tool to measure and attribute energy across CPU, memory, network, and storage within Kubernetes deployments, including auxiliary services. They validate the approach on a popular open-source microservice app, showing that ignoring network and storage can underestimate auxiliary-service energy by up to 63% and that observability configurations (e.g., tracing) can dominate energy consumption. The work provides a practical framework for energy-aware service design and highlights the need to include auxiliary components in energy accounting for accurate, actionable insights.

Abstract

Microservice architectures have become the dominant paradigm for cloud-native systems, offering flexibility and scalability. However, this shift has also led to increased demand for cloud resources, contributing to higher energy consumption and carbon emissions. While existing research has focused on measuring fine-grained energy usage of CPU and memory at the container level, or on system-wide assessments, these approaches often overlook the energy impact of cross-container service interactions, especially those involving network and storage for auxiliary services such as observability and system monitoring. To address this gap, we introduce a service-level energy model that captures the distributed nature of microservice execution across containers. Our model is supported by an experimentation tool that accounts for energy consumption not just in CPU and memory, but also in network and storage components. We validate our approach through extensive experimentation with diverse experiment configurations of auxiliary services for a popular open-source cloud-native microservice application. Results show that omitting network and storage can lead to an underestimation of auxiliary service energy use by up to 63%, highlighting the need for more comprehensive energy assessments in the design of energy-efficient microservice architectures.
Paper Structure (24 sections, 6 equations, 4 figures, 1 table)

This paper contains 24 sections, 6 equations, 4 figures, 1 table.

Figures (4)

  • Figure 1: Conceptual Microservice Architecture, oriented on Kubernetes, highlighting the relevant measurement points (blue) and inter-container and inter-service interactions.
  • Figure 2: Architecture overview of GOXN, including a part of the SUE used in \ref{['ch:eval']}. Showing the different logical units of GOXN and important environment interactions.
  • Figure 3: The SUE architecture includes 14 primary (blue) and 4 auxiliary services. The table lists experiment configurations, each run with only one controlled system change.
  • Figure 4: Ignoring the network and storage costs, as often done in the past, can result in neglecting nearly 63% of the total energy consumption of auxiliary services. Auxiliary services are especially network heavy, and past estimations have therefore underestimated the impact of design decisions and changes.