How can green software help us to be more sustainable?

In this post, Peter Campbell, Director of Green Software at Kainos, examines how green software can reduce this impact and contribute to individual, organisational and national sustainability goals such as Net Zero.
Date posted
6 April 2023
Reading time
6 minutes
Peter Campbell
Director of Green Software · Kainos

In the introduction to this Green Software series, we spoke about the environmental impact of software services. Globally, IT has a significant environmental footprint that is growing rapidly.

Many businesses and governments are already setting sustainability goals to ensure they operate in a more sustainable way for the future. This includes environmental, social and governance goals. New legislation like the EU's CSRD is coming. This will mean companies have to report on sustainability, according to set standards.

The most well-known sustainability goal is "Net Zero", which seeks to reduce the future impact of climate change by reducing the greenhouse gases we emit into the atmosphere. The Net Zero goals also challenge us to remove existing greenhouse gases from the atmosphere. But sustainability goals are wider than just climate goals. These goals include benefits to nature like increasing biodiversity, reducing water use and reducing waste; societal benefits like increasing inclusion and protecting human rights; with governance benefits like ethical business practices.

image

There are two ways software can contribute to meeting sustainability goals:

1.Software can be more sustainable 

Reducing energy consumption, carbon emissions and waste. This is Green Software Engineering. It will have a direct reduction in value-chain emissions (called “scope 3” by the GHG Protocol) that businesses will be required to disclose, under new legislation.

2.Software can be used to innovate

Applying new technology to use our scarce resources better. For example, software can be used to make systems smarter to optimise our consumption of energy. This presents new opportunities for software suppliers to innovate.

We can see some of the potential for software to innovate from the VC investment in ESG startups. We will look at this more closely in a later post in this Green Software series. For now, we want to examine four examples of how software can be more sustainable.

image

Reducing our electricity demand

 We talked in the first post about software's thirst for electricity. The biggest single way in which software can contribute is by reducing its electricity consumption. Minimising energy consumption will then result in;

  • Reduced carbon emissions - given the electricity supply system has only a small percentage of renewable energy production.
  • Reduced heat - and so requiring less electricity to cool servers.
  • Reduced cost because less computers and data are used - see FinOps below.
  • Making more electricity supply available for other basic human needs

To reduce demand, software engineers first need to measure electricity usage for software services. This is not a simple process. It includes measuring servers, data storage, networking and devices to get a 2021-2022 Greening ICT report.

We don’t have to look too far to see irresponsible demand for electricity from software, because consideration hasn't been given to reducing electricity demand. Crypto mining for example has been estimated to have the same electricity demand as Switzerland's annual consumption. Mining was designed to be computationally difficult (AKA energy-hungry) using its proof-of-work algorithm to deter hackers. It's not just crypto though. Artificial intelligence models take significant electricity to train and operate especially as they become larger and more complex. Large language models like ChatGPT

Using more renewable energy

Software engineers can also choose when their software runs. If you had solar panels at home, you wouldn’t run your dishwasher and washing machine at night – would you? Software engineers have the same choice.

This is important because renewable energy is not constant. There will be times when more renewable energy is available to us, such as when it’s more windy or sunny. The electricity companies measure this carbon intensity of their supply.

In the UK for example, there is an API available that uses an AI model to predict the carbon intensity mix over the next 4 days. The Green Software Foundation uses data like this to develop a Carbon Aware SDK that does all the calculations for you. Then you can make informed decisions about when to process. They’ve also developed a Kubernetes scheduler that can use carbon intensity to help you decide when to schedule jobs.  

image

Moving to cloud

Computing infrastructure has been revolutionised in the past 15 years by cloud service providers, especially hyper-scale cloud providers. Outsourcing your computing infrastructure to the very largest data centres and accessing over the internet means significant economies of scale can be achieved. Using on-demand, shared infrastructure that is billed by consumption has a smaller environmental impact than running your own data centre.

Kainos now calculates the carbon emissions saved from the migration to cloud using its Cloud Carbon Calculator. These are estimations based on electricity usage and carbon intensity of the electricity supply. But they consistently show startling reductions for customers migrating from local data centres and embracing cloud modernisation, for example:

  • The UK's Companies House achieved a 94% reduction in operational carbon emissions from 560 tCO2e per year to just 36 tCO2e on AWS and Azure clouds.
  • UN International Organisation for Migration achieved a 92% reduction in operational carbon emissions from 594 tCO2e per year moving to the Azure cloud.
  • These results are consistent with studies by the cloud providers, e.g. a 2019 AWS study showing up to 88% savings that AWS predict will increase over time towards 96%.

So, it’s clear that the public cloud is greener than local data centres. The big providers like Google, AWS and Microsoft are investing heavily in renewable energy. But the cloud can still be much greener than it is in 2023. Moving to 100% renewable energy consumption in data centres, reducing heat waste and reducing water used for cooling would help. More accurate measurement will improve reporting and show where we need to focus. So even if you are already on the cloud, there’s still more work to do.

FinOps: reducing consumption

FinOps is an evolving cloud financial management discipline and cultural practice that enables organisations to get maximum business value by helping engineering, finance, technology and business teams to collaborate on data-driven spending decisions.

FinOps is focused on managing cloud spend to get the best value for money. Given the size of cloud estates, the hundreds of platform services and the ease of cloud consumption it can quickly become complex to understand and rationalise spending.

The good news is there is a direct correlation between consumption and electricity use. This in turn, has a direct impact on carbon emitted from cloud operation. So, if your organisation is embracing Cloud and FinOps together then they will already be making savings that will also reduce their environmental impact. Joe McGrath, a cloud economist at Kainos predicts that large consumers of public cloud can expect to achieve 40-60% cost savings with an investment in FinOps skills.

So, if your organisation has not embraced FinOps yet, this should form an important part of your implementation plan for more sustainable IT.

Bringing IT into sustainability

Software has an important role to play in meeting sustainability goals. It should be part of the solution. Given this, it is vital that CIOs and CTOs are part of the conversation about setting and meeting sustainability goals. This is tricky because sustainability crosses over departmental boundaries, business units and annual plans. The challenge for you is, have you adopted Green Software Engineering and integrated this into your implementation plans to meet or exceed your sustainability goals?

Coming next in this Green Software series we will be exploring what practical steps technologists and designers can take to make their software more sustainable.

About the author

Peter Campbell
Director of Green Software · Kainos
Peter leads on Green Software for Kainos, helping customers apply sustainability to software engineering. Before this Peter led our Data & AI Practice and continues to sit on the techUK Data Analytics & AI Leadership committee. He has also been Chief Technology Officer, delivering award-winning digital services.