Sustainable Software

What is the carbon footprint of your computer?

December 31, 2020

As technologists, we spend a lot of time behind desktop computers, laptops, and mobile phones. Although it isn't obvious, these actions have an impact on the environment. In this article, we'll talk about sustainable software engineering and the steps you can take to become more eco-friendly.

Table of Contents

1. What is sustainable software engineering?

2. How can I become a sustainable software engineer?

3. The sustainable serverless challenge

4. Reflection

5. More resources


What is sustainable software engineering?

Sustainable software engineering is examining our technology and development practices through an environmental lens.

It is asking questions like:

  • How much energy does my technology consume?
  • Where are my technology practices wasteful?
  • How can I reduce my carbon footprint?

Sustainable software engineering is a framework to analyze our current interaction with technology, increase awareness, and provide opportunities to improve our practices to be more environmentally friendly.

2. How can I become a sustainable software engineer?

There are a lot of different ways to become a sustainable software engineer, but for our article, we're going to talk about the benefits of serverless.

In a typical compute resource, you have to provision enough servers to accommodate the peak number of users. This means that when your service load is light, you are paying for and consuming resources that aren't being used.

In comparison, serverless resources are event-driven. This means that your resources are only run when triggered. Although serverless architecture is not the solution for all your resources, it can be used in specific circumstances to reduce resource consumption, save energy, and decrease carbon emissions.

3. The sustainable serverless challenge

To learn more about sustainable software engineering and serverless, I created a challenge to analyze your device's current energy consumption.

Challenge prompt

Create a serverless solution to find out how much carbon your computer emits every year.

Some metrics to help you out

  • When you are actively using your computer, it emits approximately 0.06 kg of carbon dioxide an hour
  • When your computer is idle, it emits approximately 0.02 kg of carbon dioxide and hour
  • When your computer is off, it emits 0 kg of carbon dioxide an hour

With these numbers, determine how many hours your computer spends in each of these stages every day. You can use an Azure Function to then find out your annual carbon dioxide emissions.

Note: These numbers may vary based on your computer, region, and more!

4. Reflection

After completing the challenge, you have learned more about serverless and may be able to incorporate it into your daily work.

Even if you can't use serverless, you can still make changes to your computer habits to lower your annual carbon emissions. Here are some suggestions:

  • If you have a PC, set your computer to go to sleep after the shortest timespan. For every minute it spends idle instead of running, you decrease carbon emissions by one third.
  • When you are not using your computer, turn it completely off! This reduces carbon emissions to 0.

If everyone adopted these habits, this would prevent unnecessary carbon emissions.

5. More resources

  1. This article was inspired by the Seasons of Serverless challenge
  2. Learn more about Azure Functions on Microsoft Learn
  3. Learn more about sustainable software engineering: https://principles.green/!
Copyright © Locksley Kolakowski 2021 | All opinions are my own