As a result, sustainable software engineering is on the up, and developers are now building carbon-efficient applications which extract maximum value from each gram of carbon it puts into the atmosphere. One such way that they are achieving this is with demand-shaping applications.
What is Demand Shaping?
Demand shaping is the strategy of influencing the demand so it matches the existing supply in order to achieve energy efficiency. If the supply is high, the demand increases, and when the supply is low, it decreases.
A good use case of demand shaping is video conferencing. If the user has low bandwidth the video quality can be reduced while the audio quality is kept high to match the supply.
Another useful technique involving demand shaping is progressive web enhancement. This is where the more resources and bandwidth a user has available on their device, the more their web experience improves so that energy is not wasted in the process. Over-provisioning is a common issue in the tech industry when it comes to energy consumption.
Building Carbon-Aware Applications
Demand shaping for carbon-aware applications aims to limit the amount of carbon put into the atmosphere as a result of running the application. Software applications can have ‘eco-modes’, similar to cars and household appliances, where users decide if they want to run the application in a carbon-friendly way with the trade-off of performance.
While this option inevitably reduces the quality of the user experience, the upside is that carbon-efficient applications are typically cheaper and faster. This empowers the user by leaving the choice of experience over energy efficiency in their hands. There is evidence to suggest that encouraging or nudging users to make more energy-efficient choices while using their applications can be enough to make them change their digital behavior.
Alternatively, applications may also be designed to automatically engage eco-mode to save on carbon emissions. If an application is running on renewable energy, when the supply of that energy is high, it can increase demand. When it’s low, it does less in the application. If a website detects that it is running low on renewable energy supply, it can automatically request to reduce the resolution of images and videos, known as skinny media, and strip ads to match the lower supply.
3G and 4G networks are said to use 4-7 times more carbon than WiFi networks. Choosing to reduce the website’s performance when using a mobile network on a phone could be one way that demand shaping can dramatically reduce carbon emissions. For example, at MozFest 2019, Firefox came up with a number of innovative and interesting ideas around how they could reduce the carbon emissions of their browser through eco-mode.
Demand Shifting Practices
Data centers use up around one percent of global electricity which is projected to increase to eight percent over the next ten years. A project funded by the European Commission concluded that EU data centers consumed 25% more energy in 2017 than in 2014. However, leading tech companies are looking to change this using demand shifting.
In 2020, Google announced a new carbon-intelligent computing platform that enables their data centers to shift the timing of many of their less-urgent tasks to when renewable power sources, like solar and wind, are at their peak, all without impacting their services like Google Maps and Search that are used around the clock.
This approach can be used alongside demand shaping in applications. After IT systems have been evaluated and adapted economically based on their resources, these resources can follow the course of the sun from the contact center and help desk environment. Modified to cloud and infrastructure resources, this means shifting the reallocation of intensive computational tasks to the regions where the sun is currently shining. Google has a useful region picker tool that allows you to pick a Google Cloud region that balances carbon footprint, price, and latency.
At intive, we are also helping our clients reduce emissions by orchestrating resources to carbon-aware locations. intive’s IOTA program is transforming infrastructure and operations automation for large organizations and is a key part of this. Our custom-built solutions can dynamically allocate the focus of computing, storage, and network resources to where the carbon footprint is lowest in an automated and secure way.
Are you looking to build more sustainable software engineering practices, such as demand shaping and shifting, into your technology? Get in touch with intive today.