Carbon Aware Computing with .NET Open Source Libraries for Sustainable Applications
dotnet delivers an in-depth talk on implementing carbon aware computing using .NET open source libraries, showcasing sustainable development patterns for Azure, on-premises, and Kubernetes environments.
Carbon Aware Computing with .NET Open Source Libraries for Sustainable Applications
Speaker: dotnet
Session: .NET Conf 2025
Overview
Modern software development faces the crucial challenge of minimizing its environmental impact. This session dives into practical methods to build climate-friendly and resource-efficient applications by leveraging existing Green Software Development design patterns and open source .NET libraries.
Key Concepts Covered
- Carbon Aware Computing Principle: Software should align its resource usage with the availability of renewable energy, reducing carbon emissions by shifting workloads and adapting dynamically.
- Time-Shifting: Scheduling plannable jobs (batch processes, background tasks) to run during periods where renewable energy dominates the grid supply.
- Demand Shaping: Adapting application capacity and features to match available resource supply, especially for on-demand scenarios.
Implementation Strategies
- .NET Open Source Libraries: The talk demonstrates how to use libraries like CarbonAware SDK for real-time carbon intensity data, integrate job scheduling with Hangfire, automate workloads using Powershell, and export relevant metrics with Kubernetes Exporter for KEDA & Prometheus.
- Deployment Environments: Solutions and demos span across on-premises, Azure PaaS, and Kubernetes clusters—showing flexibility for various architectures.
- Dynamic Scaling and Load Shedding: Methods to dynamically scale applications or limit functionality based on power grid carbon intensity are emphasized, alongside techniques to “shed” unnecessary load.
- Data Integration: The session covers how to source and consume prediction data about grid carbon intensity for smarter, environmentally adaptive applications.
Technologies Demonstrated
- CarbonAware SDK
- Hangfire (.NET job scheduling)
- Powershell commandlets (automation)
- KEDA (Kubernetes-based event-driven autoscaling)
- Prometheus (monitoring/exporter)
What You’ll Learn
- How to schedule and shift workloads for sustainability (time-shifting)
- Design patterns for carbon-aware job execution
- Ways to automate and monitor environmental impact across development and production
- Applying open source .NET tools for sustainable scaling in cloud and containerized setups
Further Resources
By embracing these carbon aware design patterns, developers can reduce emissions and promote resource efficiency while maintaining high performance and scalability.