DEV Community

Cover image for Software Engineering the Sustainable Way!
Govind Goel
Govind Goel

Posted on

Software Engineering the Sustainable Way!

Why Sustainable?

As studies show industries are responsible for more than 30% of global CO2 emissions, so there is a need for sustainability wherever possible.

This is the past year's analysis of one minute of social applications we use on daily basis.
Alt Text

Everyone thinks that there is actually code that runs these applications, that is true but to run that code we need dedicated servers, like your PC on which you explore all the stuff.
But, we never gave a thought regarding that the amount of time we spent on the internet actually started contributing to pollution.

HOW

That's a question to ponder upon

This is the basic overview of an application deployed on the cloud.
Alt Text

An application needs:

  • Storage
  • Database
  • Compute
  • Network
  • Infrastructure

A server is needed that can fulfill all the requirements, a server emits heat and the ambient temperature for a server room is b/w 20-21 Celsius otherwise there is a chance that they can fail.
So to keep the temperature different kinds of cooling technologies are used which leads to carbon emissions.

  • Datacenter contributing to global emissions

Study shows a datacenter produces nearly 150 million metric tons of carbon emissions per year. Equal to the annual output and pollution of 50 coal-fired power plants.

Alt Text

It has been reported that the global carbon footprint of the ICT industry accounts for more than 2% of global carbon emissions

So more the application usage, more is the server usage hence more emissions.

So that is why there is a need for sustainable software engineering to develop sustainable software applications.

Consideration while building applications

  • Applications that are carbon efficient.
  • Applications that are energy efficient.
  • Applications that can run on older hardware.
  • Reduce the amount of data and distance it must travel across the network.
  • Run servers at a high rate of utilization.

How To Apply

Architecture Approach:

  • Going Serverless
  • N-Tier Architecture
  • Event-driven architecture
  • Using Microservices

For example Azure serverless architectures such as Azure Functions

Infrastructure Approach:

  • Virtualized Servers
  • IAAS
  • PAAS
  • Green Data Center

Examples:

  • Azure.com uses Serverless Functions, which reduced the always-on electric footprint.
  • AWS gearing up for renewable energy sources for its centers.
  • GCP Using AI to define actions based on the usage, emissions calculations which can minimize further emissions.

Image Credits: Google Photos

Top comments (0)