For the last 6 months I have been working with the Green Software Foundation around building out tooling to provide Carbon Awareness to software, called the Carbon Aware SDK.
The electricity that powers software has different CO2 emissions at different times of the day, based on the amount of renewable energy sources such as solar, wind, and hydro that are in the electricity grid. Similarly, electricity provided at different locations around the world has differing emissions profiles due to how it is generated. The Carbon Aware SDK’s primary purpose is to help software decide when and where to run to reduce emissions.
This data can be provided by companies including WattTime, ElecricityMap, REsurety, and more. The above diagram is from ElectricityMap which is an awesome way to visualise emissions data.
What could this help you do as someone that builds and operates software? You could run your daily jobs at different times, such as ML model training, to reduce emissions by 10-20%, or run location independent software in different countries and reduce emissions by even more. From the above map you can see that there can be considerable differences between states (evident in the North America map), and definitely between countries.
The Carbon Aware SDK helps consolidate data sources, and allows you to add your own data sources
This project will only succeed with a broader group of contributors. Sustainability effects everyone, and we need a diverse set of perspectives to help drive something that everyone can use, and we will only know that with more people involved. Sustainability only works when everyone is welcome to participate.
We are looking for contributors so if you are keen hit me up – vaughanknight on GitHub – and there is likely something you can help with, even if it is sharing your experience with the SDK.
At the time of writing this page is greener than 90% of web pages on the internet.