At KubeCon + CloudNativeCon Europe 2023, industry experts came together to discuss how to curb carbon emissions and save energy, including the critical role of the open source community.
The open source model relies on collaboration and group contribution. Addressing climate change requires a similar approach: Although no one person is responsible for the climate crisis, collective effort is required to make a difference.
To raise awareness about sustainability in tech, speakers throughout the three-day conference explored existing Cloud Native Computing Foundation (CNCF) sustainability projects and led discussions on the importance of community collaboration to further climate-focused advancements.
Sustainability requires collaboration
Open source principles focus on enhancing software quality, innovation and diverse perspectives.
In the presentation "Accelerate Sustainable Computing with Community Collaboration," Red Hat senior principal software engineer Huamin Chen and Red Hat principal community architect Cara Delia explored how open source values can advance sustainable cloud-native computing. By focusing its attention and efforts on climate change initiatives, the open source community can help promote policy development, further research efforts and fuel future investments.
"Open source can provide critical transparency, traceable and inclusive decision-making, and collaboration for innovations," Delia said in the presentation. "This will help enable the public and private sectors and research institutes to move quicker in their decarbonization and conservation efforts."
In addition, collaboration eliminates the need for every organization to reinvent the wheel to address the climate crisis. "The more data we have, the better we can track progress," SUSE CTO Thomas Di Giacomo said in an interview. Openly sharing data and using open source software can close knowledge gaps across organizations, enabling developers and maintainers to deliver platforms, models and tools that promote sustainability.
Promoting collaboration on sustainability within organizations
Kristina Devochko, software architect at IT collaboration platform Admincontrol, had a similar message for organizations in her presentation "Be the Change Our Planet Seeks: How You Can Contribute to Running Environment-Friendly Workloads on Kubernetes."
"Each and every one of us should collaborate together to improve and reduce the amount of unused and underutilized resources," Devochko said in the presentation. This starts with creating dialogue, both within the organization and with customers, she said, as well as choosing to support vendors and projects that take sustainability into consideration.
According to Devochko, implementing sustainability practices into IT strategies requires the right mindset and tools. For example, organizations can use the shared responsibility model, most often used for public cloud adoption, to gauge sustainability initiatives and ensure accountability.
Devochko recommended using open source tools such as Cloud Carbon Footprint to determine each workload's carbon emissions and pinpoint more resource-intensive public cloud regions. She also mentioned Kepler and Karpenter. These tools, designed to help organizations scale their Kubernetes workflows to conserve energy, can also reduce costs and improve performance.
"Sustainability is part of innovation," Di Giacomo said. "By being more energy-efficient, having longer lifecycles of hardware and software, then [companies] become more efficient, operationally speaking. They save money, so it's good for the business as well."
Open source projects combating climate change
The KubeCon 2023 schedule devoted significant space to sustainability initiatives and climate-related CNCF projects.
Sustainable serverless computing with GreenCourier
Mohak Chadha, a research associate at the Technical University of Munich, discussed delivering serverless functions while reducing carbon waste in his presentation "GreenCourier: Towards Sustainable Serverless Computing."
Serverless computing consumes a significant amount of energy due to the high level of abstraction necessary, Chadha explained in the presentation. The virtualization overhead alone could increase energy consumption by more than 15 times compared with conventional HTTP servers, he said.
GreenCourier is a Kubernetes scheduling framework plugin that schedules serverless functions across geographically distributed clusters to minimize carbon emissions for function execution at runtime. To do this, it uses a scheduling policy to schedule serverless functions for clusters based on their carbon efficiency. Chadha's research found that GreenCourier reduced Kubernetes' carbon emissions by 8.7% per function invocation when compared with the default strategy.
Carbon-conscious cloud with Keda
In his presentation "Building a Sustainable, Carbon-Aware Cloud: Scale Workloads and Reduce Emissions," Microsoft Azure principal product manager lead Jorge Palma explored how to build a more sustainable future and reduce energy costs associated with cloud-native applications.
Palma introduced a carbon-aware Kubernetes scaler for the Keda project -- a Kubernetes-based event-driven autoscaler and CNCF incubation project -- to scale workloads based on the carbon intensity of the infrastructure where they are running. This reduces carbon emissions in Kubernetes without requiring application or workload code changes.
The scaler uses a carbon-aware Keda operator, which reads the cloud or infrastructure provider's data from a configuration map. With the Keda operator, users can set a maximum number of pod replicas, which Kubernetes can scale up to based on carbon intensity.
Resource request and pod power considerations with CNCF projects
In the presentation "Sustainability Through Accountability in a CNCF Ecosystem," Chen and Yuval Lifshitz, software engineering professional at IBM, explored how to monitor and visualize energy consumption using the open source projects OpenTelemetry, Jaeger, Ceph, Rook and Kepler.
As an example, Chen and Lifshitz demonstrated using Amazon S3 requests to better understand resource requests and power consumption from pod activities and request tracing. They first set up a Ceph cluster using the Rook storage operator, then traced the full S3 request process with the observability tools OpenTelemetry and Jaeger. Finally, they estimated pod energy consumption using Kepler and sent these metrics to the monitoring tool Prometheus.
With the combined pod energy and tracing consumption metrics, organizations can calculate an estimate of each user's energy consumption per pod to begin addressing their carbon footprint, even if consumption is spread across multiple pods.
Lev Craig contributed reporting.