For many, the term “sustainability” evokes images of reusable water bottles, paper straws and household compost bins. Or perhaps you envision “reduce, reuse, recycle” posters and canvas tote bags at your local farmer’s market–but maybe not data centers, right? As sustainability has become a cornerstone of many government policies, enterprise initiatives and consumer trends, tech leaders have been hard at work building technologies dedicated to helping users monitor how their software usage might drive energy consumption.
Red Hat named a Leader in the 2023 Gartner® Magic Quadrant™ Red Hat was positioned highest for ability to execute and furthest for completeness of vision in the Gartner 2023 Magic Quadrant for Container Management.
Red Hat named a Leader in the 2023 Gartner® Magic Quadrant™
Red Hat was positioned highest for ability to execute and furthest for completeness of vision in the Gartner 2023 Magic Quadrant for Container Management.
In recent years, the rapid growth in workloads handled by data centers has resulted in greater energy usage, increasing 10-30% per year, and accounting for 1-1.5% of global energy consumption, as reported by the International Energy Agency. In order for enterprises to make a meaningful environmental impact, it has become critical for IT leaders to take a harder look at the efficiency of their equipment and the tools they use to evaluate the sustainability of their data centers1.
Kepler, or Kubernetes-based Efficient Power Level Exporter, is a project founded by Red Hat’s emerging technologies group with early contributions from IBM Research and Intel. It is a community-driven, open source project that captures power-use metrics across a wide range of platforms, focusing on reporting, reduction and regression so enterprises can better understand energy consumption.
Kepler utilizes proven cloud-native methodologies and technologies–such as extended Berkeley Packet Filter (eBPF), CPU performance counters and machine learning models–to estimate power consumption by workloads and export them as metrics. These metrics are then used for scheduling, scaling, reporting and visualization, which arms system administrators with information on the carbon footprint of their cloud native workload.
The Kepler Model Server continually adjusts and fine tunes its pre-trained models using node data from Kepler’s power-estimating agents. This is how Kepler adapts its calculations to best serve the user’s unique systems and needs. With the knowledge gained from Kepler, enterprise decision makers can better assess how to optimize energy consumption, address evolving sustainability needs and best reach their organization’s goals.
The future with Kepler
Future innovations in sustainability develop faster with open source community collaboration and an upstream-first mindset. With this in mind, Red Hat is in the process of contributing Kepler to the Cloud Native Computing Foundation Sandbox, where contributors explore how to integrate Kepler into their own use cases.
Kepler can enable a host of new innovations in the open source community that allow service providers to better observe, analyze, optimize and document power consumption of cloud native applications, including:
- Power consumption reporting
Kepler metrics are a time series–they can be used to build dashboards that present power consumption at a variety of levels, including containers, pods, namespaces or different compute nodes in the cluster.
- Carbon footprint
Kepler’s energy consumption metrics can be coupled by the user with its data center’s power usage effectiveness (PUE) and electricity carbon intensity to calculate the estimated carbon footprint of the workload.
- Power-aware workload scheduler and auto-scaling
Kepler metrics can be utilized by a Kubernetes scheduler to place the upcoming workload on the compute node that is projected to improve performance per watts, ultimately reducing the cluster-level power consumption. Similarly, Kubernetes auto-scalers can use Kepler’s power consumption metrics in auto-scaling algorithms to determine the resources needed to achieve better energy efficiency.
- CI/CD pipelines
Kepler can also be used in the software development lifecycle to help produce more sustainable software products. For instance, Kepler can be deployed in continuous integration and continuous development (CI/CD) pipelines for software testing and release. Kepler’s power consumption metrics can help developers measure, analyze and optimize software stacks.
Red Hat’s Emerging Technologies blogs include posts that discuss technologies that are under active development in upstream open source communities and at Red Hat. We believe in sharing early and often the things we’re working on, but we want to note that unless otherwise stated the technologies and how-tos shared here aren’t part of supported products, nor promised to be in the future.
Intel, the Intel logo, and other Intel marks are trademarks of Intel Corporation or its subsidiaries.
1 2023 S&P Global Market Intelligence; Enterprises Increasingly Select Technology Suppliers Based on Sustainability Needs
About the author
Dr. Huamin Chen is a Senior Principal Software Engineer at Red Hat's CTO office. He is one of the founding members of Kubernetes SIG Storage, member of Ceph, Knative and Rook. He co-founded the Kepler project and drives community efforts for Cloud Native Sustainability.