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.
