Estimated reading time: 6 minutes
This post is the next installment of our Cloud Computing series, which dissects how to measure greenhouse gas emissions from operating data centers and cloud services. Today’s post will cover the concept of carbon-aware computing and how you can “greenify” your software regardless of your infrastructure.
Check out other posts in this series to learn about additional ways to reduce your computing footprint, the primary sources of greenhouse gas emissions in data centers, the role of the big three, namely AWS, Azure, and GCP, and how you can assess emissions from your cloud computing activities, including on-prem data centers and hybrid set-ups. Sign up for our free newsletter to stay up-to-date on new articles.
Computing is a considerable driver of carbon emissions (2.5% to 3.7% of global carbon emissions) and increasingly on the agenda of enterprises who are keen to reduce their carbon footprint. Next to hardware-centric approaches like redesigning data centers and extending the product life of servers, redesigning software to make it carbon-aware can be an equally important factor.
Enter Carbon Aware Computing, a topic that is championed by the Green Software Foundation in particular. This concept entails developing software that understands its carbon emissions and adjusts its behavior according to the electricity grid on which it’s running.
The overarching principle of carbon-aware computing is that you should do more when the electricity is greener, and less when it is not. This is most often accomplished in three ways:
If your infrastructure provider allows you to do these things easily, like Cloudflare’s Green Compute, you should absolutely take advantage. However, if you don’t have these tools available, you can still achieve significant emission reductions by making small adjustments to your existing infrastructure - without needing to make your software carbon-aware. Let’s take a look.
While the composition of power grids varies quite a bit between the worst and the best (Wyoming and Sweden have approximately a 10x difference in CO2e per kWh), the day-to-day or month-to-month variations within a region are much smaller.
So picking a region with a renewable-heavy grid for the deployment of your software gets you a long way when trying to reduce your cloud carbon footprint. Some cloud providers, such as GCP, even have tools to help you find the best regions based on respective carbon emissions.
The average CO2e emissions of a local grid mix vary significantly over time due to hour-to-hour variance of the current mix of energy sources, the grid production of renewables, and general demand for electricity, e.g. see the hourly changes in the US electricity generation and consumption. Many grids have a daily pattern following one of these shapes:
Electricity Maps offers a useful overview of the current electricity sources by region and allows you to spot trends that are relevant to your region. You can take advantage of the variances in your grid mix by scheduling your jobs during the times when your grid composition is more favorable instead of implementing more complex dynamic scheduling.
The right deployment and scheduling can significantly reduce the emissions of your cloud usage - although this is only affecting the emissions from the energy consumption of the servers. The biggest share of cloud computing emissions are not from electricity usage, but rather the embodied emissions.
Embodied emissions refer to the emissions associated with the production and disposal of servers and their components. For consumer laptops, embodied emissions make up 75-85% of total emissions, i.e. the electricity emissions for the usage only cause 15-25% of the overall footprint - and the general pattern is the same for servers.
Carbon-aware computing only focuses on the electricity use of your servers and not the production, lifetime, and disposal, where a majority of the emissions come from. So in addition to optimizing the load of our software, we should also optimize how well we use the physical hardware before we have to replace it.
Cloud data centers typically replace servers every 4-5 years, making it essential to use them as efficiently as possible. Reducing the number of physical servers and utilizing rented servers at as close to 100% capacity can significantly lower the environmental impact. Plus, it often leads to better use of computing resources, therefore also resulting in cost savings.
So what is the right thing to focus on? If you’re not actively building infrastructure for other people to host their services, here is where you’ll likely get the most bang for your buck in regard to optimizing your computing carbon emissions:
Hopefully, you now have a better understanding of how to reduce your computing emissions. Check out this post for more ways to reduce your computing footprint.
To help you navigate the complex realm of carbon emissions calculations, we offer a variety of resources which you can access through our blog. Sign up for our free newsletter and look out for upcoming posts that offer practical advice on embedding emissions calculations for better decision-making.