Cloud native sustainability with Kepler
00:00 — Chris Wright
Yeah, this one. Definitely don't need that. God, why do I get all this junk? I swear my inbox overfloweth. There we go.
00:16 — Chris Wright
When we think about sustainability in our daily lives, we may first think of recycling plastics or using energy efficient light bulbs rather than keeping our inboxes tidy. But even the smallest actions can add up to a more sustainable future. When it comes to our digital carbon footprint, we may think of data centers, servers, and CPUs as having the impact on power consumption, but that's not the full picture. If we consider the ever-changing nature of resource utilization and energy requirements, it begs the question, "How does software affect our power consumption?"
00:39 — INTRO ANIMATION
01:02 — Chris Wright
IT is a huge consumer of energy, and the scale of software usage globally is immense, with billions of devices running countless applications. Kubernetes drives thousands of nodes, and each node incorporates hardware that delivers impressive performance which comes with energy demands. So performance comes at the cost of energy, and if we multiply this across hundreds of data centers, with tens of thousands of nodes, the collective power draw can be pretty voracious. Which brings us to the concept of vampire power.
01:37 — Chris Wright
In the world of information technology, vampire power refers to the energy consumed by IT equipment and infrastructure when it's not actively performing operations. It's a silent drain on resources that often goes unnoticed. One silent drain to power can exist in software workloads themselves. Software can be inefficiently designed, which leads to unnecessary resource utilization and higher energy requirements. And it can be running on infrastructure that is not optimized, such as servers and data centers, or on virtualized infrastructure like cloud platforms.
02:14 — Chris Wright
Insights into power consumption are necessary for a more sustainable future, which is especially challenging in cloud native and highly distributed edge environments. Without visibility, it's difficult to make more efficient applications. After all, you can't fix what you don't know is broken. This is where Project Kepler steps in. To dig in a bit more about Project Kepler, let's talk to senior principal software engineer Huamin Chen, who has been at the helm of this exciting project. Huamin, how are you doing?
02:46 — Huamin Chen
Hey Chris, how are you? I'm, doing very well. Glad to see you again.
02:51 — Chris Wright
Good to see you. I am really interested in this project, Project Kepler, and I know you've been working on it for quite some time and leading this project. One of the keynotes that I gave at Summit this year featured actually how Kepler gathers and then correlates the power use metrics across things like Kubernetes pods or namespace or containers that transition away from the low level and even the sort of aggregated systems level view to that application view. And it really, to me, highlights the power and the flexibility of things like Kubernetes and containers where you're actually containerized in the application itself. So giving visibility to app developers to how you're consuming power from an application point of view, I see how that's super powerful. Let's take this picture of Kubernetes and applications, how do we get the visibility and capture the right kind of power consumption metrics when we are running virtualized workloads where the visibility might not be so straightforward?
03:59 — Huamin Chen
So we have the metrics from the Kubernetes power usage using the C-group and assist SF data. So that's the data we are using in the machine learning model training, so that we can make a fairly accurate predictions. That's super important to many of the end users. See in the cloud computing error is that most of the workloads running on cloud do not necessarily have the access to the system power. In this virtualizing environment they have to using some of the creative ways to estimate how much power used by the containers and the processes. So the processes and containers can have their power estimates without having to go into the low level infrastructure power consumption metrics, so they can guess their application and level metrics right away. We'd also have to break in their configurations, their security barriers, and that's what makes Kepler very usable in that environment.
05:00 — Chris Wright
I love what you're doing with a combination of cool technologies like EBPF and then bringing in AI and machine learning models, trained on the data that you're capturing, to predict energy usage when you don't have total visibility. I could also see how this is giving operations teams tools to be more proactive, and even build more resilient operations. How is Kepler working in that context, Huamin?
05:28 — Huamin Chen
So we can use the Kepler metrics, for example, in the OpenShift scheduler. And so the OpenShift scheduler can not only look at the resource availability, but also the power consumptions as differences, or nodes, to make smart decisions, "Where should I post the new workloads? In which node? Would that node be more power efficient in general or would that node be more carbon footprints friendly in different regions?" That is something we can scope out in the community as well. We can also tune the runtime environment as well. So if you already have your pod running and container in their system for a while and you want to optimize the energy consumption on that part, we can use the Kubernetes VPA, the vertical pod auto-scaler, to look at how much resources uses, at the same time using the Kepler metrics to make a decision on whether that's pod with that amount of resource in combination with the CPU configuration produces the optimal results in terms of our consumption.
06:35 — Chris Wright
How cool is this that you're leveraging all these great technologies and then giving tools to, say, operations teams, or even just Kubernetes itself, to make smart, sustainable, green, aware, scheduling decisions or push work to regions where there's a better source of underlying power for that datacenter. So what about the development side of this picture? How do you see Kepler enabling developers and going even beyond Kubernetes to really help those applications reduce their carbon footprint?
07:15 — Huamin Chen
So we made a Kepler RPM release, so for people who are using the Linux for their monolithic applications, non-containerized applications, or for the people who are developing software on Linux. So for the RPM release, you are able to run Kepler as a standalone application, so Kepler can produce the same metrics for your application. So you can fine tune your application configuration or just are using the more efficient versions of the application to reduce your overall energy consumption. For developers one of the interesting stories is that in the capital community, some of the contributors has actually integrated Kepler with the Tacton pipeline. So integrating capital into Tacton will give the end user and the developers the view that they need to look at if they're introducing performance or energy consumption regressions in their software development, and that's the end result where the people will be producing greener software for the future, and that where we feel very excited about this integration.
08:28 — Chris Wright
I love that. I mean, I've seen a lot that use of performance regression as a gate. So we can't release the software, but power consumption regressions as a gate to releasing software as a way to really bring power consumption down across the broader industry is a fantastic idea. So I kind of get the sense that we're just seeing the tip of the iceberg, we're just getting started. You've been leading this project, what's your vision in terms of the tools that started with Kepler?
09:01 — Huamin Chen
So we see the Kepler can go in different directions. Getting Kepler into CNCF, are standby projects in the moment where give us more opportunities to work with other projects in CNCF to integrate Kepler into their stack so they can monitor the power consumption or help them in the CICD pipelines to make their software more efficient.
09:25 — Chris Wright
What a wonderful goal to help bring down the power consumption across the broadest software development set of communities. I really appreciate the work that you're doing Huamin, and thanks for helping me understand what Kepler is and where it's going. Thank you.
09:41 — Huamin Chen
09:42 — Chris Wright
A developer shaving 5% off of one application's power envelope may not seem world changing, but if every developer makes their applications more efficient, it could have a tremendous global impact. By bringing awareness, tooling, and accessibility to power metrics in the software development cycle, we can transform our approach to software development and make this idea pervasive to set the stage for a more sustainable future.
Meet the guest
Senior Principal Software Engineer Red Hat
How the Kepler project advances environmentally-conscious efforts
Learn more about open source project Kepler, or Kubernetes-based Efficient Power Level Exporter, which focuses on reporting, reduction and regression so enterprises can better understand energy consumption.Read the blog
Sustainability, circular economy, and the mainframe's next act
Learn about why sustaining a mainframe circular economy is an important part of an organization's strategy.Read the analyst paper
More like this
Open Source for Climate Finance
Can open source fight climate change? OS-Climate is building a data science platform to speed the shift to climate-smart investment.
Scaling For Complexity With Container Adoption
Spinning up a Kubernetes cluster is just the beginning. How do companies get value from containers?
Datacenters And Sustainability
How do we reconcile the value of datacenters with their rising environmental impacts?
Check out our podcasts
Want to hear more tales from the tech world? Red Hat’s award-winning podcasts feature remarkable stories from makers, coders, and leaders across the industry.
Presented by Red Hat
For 25 years, Red Hat has been bringing open source technologies to the enterprise. From the operating system to containers, we believe in building better technology together–and celebrating the unsung heroes who are remaking our world from the command line up.