Green software, what it is, and why it matters

Green software, what it is, and why it matters
Photo by Zbynek Burival / Unsplash

If you read any computer news site, or follow the trends in the industry you have recently, most likely, came across the term green computing, or green software.

I first heard about these terms in the ThoughtWorks 2022 March Tech Radar, in the form of  Cloud Carbon Footprint, a tool to measure the carbon emissions of your cloud infrastructure. The tool looked great, but to be honest, I did not pay much attention to it and I kept researching other topics.

Not long after that I was having a look at AWS re:Invent videos and I realised that there was a long list of talks about the environmental impact of the Cloud. In fact, I think that the same year that Sustainability became one of the AWS Well Architected pillars.

Definitely this is not just a trend.

Having a deeper look I realised that Sustainability has been a recurrent topic in all the AWS re:Invent events during the recent years:

And in fact, AWS has had a long record of Sustainability initiatives over the years.

🙂
I'm using AWS as example, but feel free to investigate Google Cloud, Azure and other cloud providers, you'll find similar initiatives.

I don't want to repeat myself and bore you to death with examples and an endless list of links. The issue is that Green Software is appearing over and over again through different channels:

And with different names (Green software, clean tech, carbon aware software, sustainable architectures ...) , but with the same concept: How is Software influencing the Climate Change? and what can it do to fix it ?

It is clear that Green Software is here to stay and Big Players are investing a lot of resources on it, so I decided that I would give it a go and investigate what all the fuss was about.

I must admit that I started my investigation with lots of skepticism: Was this just a way to "mask" cost savings and increase the economic viability of the Cloud? This is indeed a very nice side effect of Green Software: if you are optimizing your resources you emit less carbon and you pay less, but this is not the main goal.

After learning about green software I can say that it's real, it's important and it's urgent.

Climate Change

Let's get into context in here. We all know that climate changes is real, we don't need to discuss about that.

At the time of writing this blog post (April, 2023) Catalunya (where I'm from) is facing one of its worth droughts ever and the summer is looking pretty gloomy.

Every sane person understands and agrees that we need to improve how we manage the planet resources. This includes us, tech people.

What part does IT play into this disaster

Our computers work on electricity and while we have been doing a great work in improving the ratio of work capacity per unit of electricity (better algorithms running on better hardware) we have also increased the usage. A lot (IA and web3, I'm looking specially at you)

Another good point is that we managed to move lots of server loads to virtualised systems in the Cloud that, while making everything a little bit more complex, manage to have a much better usage of resources.

But you know, the cloud is just someone else's computer. So, underneath all the magic, there is a data center. And while they are getting better and better, they are still big electricity consumers.

As stated in "How much energy do data centers consume" article by TechTarget the consumption might be around 33 terawatt-hours. Some other sources increase the consumption to 200 terawatt-hour (!!) and set the carbon emissions to the 0.3 % of the total. This is just data centers, if we are talking about computers in general then the number grows to the 2% of the total emissions. This is bigger than aviation.

This is just electricity, then we would need to talk about water (to cool the data centers), noise and permanent waste. But let's go one step at a time shall we ?

Green Software

As technology experts we have a responsibility to improve these numbers. This is the part where "Green Software" appears.

So, Green Software is (as you can see in the Manifesto by the Green Software foundation):

  • Software that is optimised in a way that reduces its carbon emissions.
  • Software that enables climate solutions.

Those are broad terms. Let's have a look at what they mean.

Reducing Carbon emissions

The main objective of Green Software is actually, reducing the carbon emissions. This is emitting the least amount of carbon per execution of your system, so this can be easily translated to being able to optimise your resources usage:

  • Make your system more resource efficient.
  • Making your system more elastic (it can increase on spike loads, but it will reduce the resource usage as soon as the load goes down)
  • ...

Enabling climate solutions

Software, can of course help in a million ways to improve climate solutions. This "side" of Green Software is about developing software to help to enable climate solutions and research:

Green Software Foundation
The Green Software Foundation is a non-profit with the mission to create a trusted ecosystem of people, standards, tooling and best practices for green software - Green Software Foundation

Outline

⚠️
Given the urgency of the climatic situation, it might be a good idea to learn more about green software and do your best to act.

For me one of the most important key ideas is that we need to make the Sustainability another of the -ilities (also known as architectural characteristics)

The green software foundation provides learning materials and resources to understand the problem and the associated environment.

What's next

During following posts I will be writing about more specific topics that I have researched, such as some of the open source tools that are being developed, analysing the work and applying the knowledge to real use cases so they can be used as real world examples, and also a who is who in the green software movement.

Resources

Some interesting articles worth reading. Some of them are linked in the post.

Home – Climate Change: Vital Signs of the Planet
Vital Signs of the Planet: Global Climate Change and Global Warming. Current news and data streams about global warming and climate change from NASA.
How much energy do data centers consume? | TechTarget
Discover how companies are trying to reduce their data center energy consumption, such as by moving to the cloud and implementing green initiatives.
The Staggering Ecological Impacts of Computation and the Cloud
Anthropologist Steven Gonzalez Monserrate draws on five years of research and ethnographic fieldwork in server farms to illustrate some of the diverse environmental impacts of data storage.
“Climate crisis: The Unsustainable Use of Online Video” : Our new report
Implementing digital sobriety requires questioning the pertinence our uses of digital technologies, one of which is online video whose use we focus on here. Online video is mostly used for movies and series (34%), porn (27%, tubes (21%).
Emissions by sector
How much of CO2 emissions come from electricity, transport, or land use? What activities do our greenhouse gases comes from?
CNCF WG Environmental Sustainability | Cloud Native Computing Foundation
Community post by Max Körbächer, Co-Founder of Liquid Reply, and Leonard Pahlke, Consultant at Liquid Reply We are pleased to announce that we have established a new working group for environmental…