Skip to main content Site map
HomeResource hub

An Introductory Guide to Green Computing for Software Developers

Bookmark this page Bookmarked

An Introductory Guide to Green Computing for Software Developers

Author(s)

Anica Araneta

Alison Kennedy

Estimated read time: 5 min
Sections in this article
Share on blog/article:
LinkedIn

An Introductory Guide to Green Computing for Software Developers

The climate crisis has driven industries, sectors, and professions to consider how their roles impact the environment. The IT sector alone operates many energy- and water-hungry infrastructures. As users of these infrastructures, researchers play a significant role in ensuring resources are used efficiently.

This guide aims to help those who work directly with computing understand their environmental impacts and reduce them in practical ways. This guide answers the following questions:

  1. What are the environmental impacts of scientific computing?
  2. What tools can be used to quantify the impacts of computing activities?
  3. How can researchers reduce their impact and embed sustainability in their work?

The International Energy Agency reported that data centres accounted for 1.5% of global energy demand in 2024. From a developer's perspective, the impact mainly comes from the energy used to power computers, data storage, and hardware manufacturing. This guide focuses on computer-based jobs.

Two important terms you will encounter in this space and in this guide:

  • Carbon footprint: a measure of the amount of carbon dioxide released into the atmosphere from an activity
  • Carbon intensity: a measure of how clean the electricity you are using is; measured in grams of carbon dioxide released to produce a kilowatt-hour of electricity

Top tips

Developing more energy-efficient code. Keep It Simple – simpler code (e.g., more efficient programming languages, more optimised algorithms) uses fewer computational resources and less energy. “Good enough” computing introduces practical, efficient, and sustainable practices that researchers of any skill level can adopt, using minimal resources and methods to lower costs and save energy rather than optimising performance and overtesting. Reducing data transfer and planning for data access and storage can be just as significant, energy-wise, as adjusting computation-related factors. Reducing peak memory requirements and optimising hardware use are also important considerations.

Better code testing and carbon-aware scheduling. When testing, it is often more efficient to run subsets rather than the entire job, minimise redundant tests, and use smaller representative datasets. Running more energy-intensive tests at certain times and server locations, based on cleaner energy availability, can also make a big difference to your job's footprint.

Monitoring energy use. Like measuring the footprint of your commute to work or that long-haul flight, many tools can help quantify the carbon footprint of your jobs. These are some examples of free and/or open-source options depending on your needs:

  • Activity level:
    • CarbonScope and Climatiq are APIs which give you carbon estimates using emission factor databases from your activity data (e.g. kWh, cloud usage)
  • Software/compute emissions:
  • Infrastructure:
    • Kepler exports power and energy metrics for your containers/pods via Prometheus
    • Kube Green is an add-on that automatically shuts down your resources when you don't need them
  • Cloud infrastructure:
    • Cloud Carbon Footprint connects to cloud usage data and converts this into estimated energy use and carbon emissions
  • Carbon-aware software:
    • Carbon Aware SDK is a WebApi and Command Line Interface that helps you measure the carbon emissions of your software by connecting the carbon emissions data for the energy that powers your applications
    • CO2.js is a JavaScript library for accessing the green web API, and estimating the carbon emissions from using digital services

Conclusion

This guide highlights the lower-hanging fruit: practical, high-impact areas where researchers and developers have the most control to minimise their carbon footprint, but there are many other ways to embed sustainability in their work. This paper highlights a few of the Ten simple rules to make your computing more environmentally sustainable. Introductory training material like Good Enough Practices in Scientific Computing from the Carpentries, this course from EMBL-EBI and the Cambridge Sustainability Computing Lab, and the Green Software Practitioner course can also help structure your learning journey.

Since this is a nascent space, joining communities like the Environmentally Sustainable Computational Science forum, the Green Software Foundation, the Green RSE SIG, and NetDRIVE can lower the barrier to entry and give you a space to ask questions, connect with others, and exchange ideas and resources. If you’re a research group or central team supporting compute-intensive projects, you can apply for Green DiSC – a free sustainability certification scheme for scientific computing hosted by the Software Sustainability Institute.

Acknowledgements

Anica Araneta wrote this guide, and Alison Kennedy reviewed it.

Get in touch with Anica:
Share on blog/article:
LinkedIn
Back to Top Button Back to top