Developer – do you know how to reduce the carbon footprint of your application?

When people talk about carbon footprint and about reducing it, they often talk about things like transportation, diet, residence or purchases. It’s true that these form the majority of household’s carbon footprint, and many of these can be applied to the carbon footprint’s of a company or its employees, but what elements form the carbon footprint of an application?

Application, software or a product. Mobile, native or web. There are many different applications, some are implemented differently and using different technologies, and others have completely different purposes. One application could just show simple view to user with some data fetched from a database, when other could be processing 4k videos, and a third one could be used to make video calls to anywhere in the world. The purpose of the application has plays a role in determining which resources are needed for the application, but those can often be optimised through implementation details.

What does the carbon footprint of an application consist of?

Often there are at least these three categories in an application:

  • End user’s device
  • Network traffic
  • Server

End user’s device

The device can be a laptop or smartphone for example. In addition to the production of the device and its service life, the carbon footprint of a device consists of the energy consumption of the device. The energy consumption of a computer can be even 100 times larger than the energy consumption of a smartphone.

Network traffic

Often the application requires some data to be transferred to the end user’s device. In the carbon footprint of the network traffic, it’s important to take into account the infrastructure and energy consumption. There can be major differences in the amounts of data that needs to be transferred depending on the purpose of the application. The data can also be transferred from a server that is close to the user, or from one that is on a different continent. When the distance that the data needs to be transferred increases, so does the carbon footprint as a bigger portion of the backbone is being used.

Server

Server does not necessarily mean a physical server these days. It’s less common for a company to have their own server room and physical devices running there. And the trend is changing constantly, now virtual servers are losing ground to serverless solutions. Just as in end user’s device, for a server there is production carbon footprint, service life and energy consumption. For energy consumption data centres have a PUE value (Power Usage Effectiveness), which represents how efficiently the data center can use the energy for the devices, and how much goes to things like cooling the warehouse.

How can you reduce the carbon footprint?

When it has been determined how the carbon footprint is formed, only then can the actions be directed to those categories. It’s even more efficient when the carbon footprint is actually calculated and the actions can be directed to the categories that are actually the largest ones in your case.

End user’s device

Developers can affect how much energy the end user’s device uses, and also what kind of device the end user is using. For example if the application is missing a mobile version, or it is good or complete, it directs more and more users to use it on a larger device, which then consumes more energy.

Energy consumption can be reduced for example by reducing the time user is spending in the application. If the user experience is bad and the user has to look for the information or feature for long periods of time, energy is being wasted.

Network traffic

The share of network traffic can easily be the largest share of the applications carbon footprint, if the application is for example used to watch videos or it otherwise sends and/or receives lots of data. In these situations different ways of compressing the data or for example picture quality reduction based on device’s screen size can bring massive reductions to the amount of traffic the application uses, and thus into the carbon footprint of it.

The distance that the data is being moved also affects the carbon footprint. If the end users are in a certain country, it is wise to try to serve the data from a server in that country. Then again if the end users are globally scattered around the world, CDN (Content Delivery Network) can be leveraged to bring the data close to all end users.

Server

When choosing a server it’s good to compare the PUE values of the providers. The average PUE for all data centres was 1.59 in the year 2020 (https://www.statista.com/statistics/1229367/data-center-average-annual-pue-worldwide/), when for example for Google it is 1.11. Smaller number is better, 1.0 being perfect.

Server’s carbon footprint can also be reduced by sharing the server with others. Usually in the cloud environment the servers are virtual servers that are shared with others, and the occupancy rate of those is massively higher compared to dedicated servers. Also big data centres are more efficient in cooling and such compared to having a server room in the corner of your office.

In some cases using serverless solutions might reduce the carbon footprint even further, as the resources are reserved to you only when needed.

Leave a comment