The importance of humanity quickly reducing its greenhouse gas emissions to achieve net zero is becoming increasingly clear: World Bank Senior Climate Advisor, Stéphane Hallegatte, warned that even a one degree rise in global temperature is ‘enough to multiply by 5 the frequency of extreme heat waves”.
Real consequences are being seen by companies and individuals alike; there is an unprecedented increase in the frequency of heatwaves and flooding, which affects health and safety, supply chains and the price of goods, among other things.
It’s clear we all need to act now to tackle the climate crisis, and tech companies play a part in that too, individually and at a sector-level.
Where is the technology sector helping to reduce greenhouse gas emissions?
Evidence of positive change is happening: Renewable energy has significantly decarbonised the UK’s electricity grid, and Intelligently-designed software is helping organisations operate more efficiently. But every piece of technology, whether it’s hardware or software, has an environmental impact in both its creation and its use.
It’s important, therefore, for those building or buying tech services, to consider the whole-lifecycle impact of their technology. The great news is that many of the same techniques that produce really efficient, high-quality software reduce its environmental impact, as well as reducing operating costs and giving your users a great experience.
Eight practical steps you can do now to enhance sustainability within your organisation
We’ve put together a series of steps that will help you review your progress and reduce the environmental impact of any bespoke software you build or commission:
1. Review your development partner and third-party suppliers for ‘greenness’
If you’re working with a partner or third-party supplier to build your digital service, have you considered the supplier’s environmental impact?
Whether you’re just starting with them, or you’ve formed a long-term relationship, it’s worth asking yourself these questions:
- What are they doing to minimise their footprint as they build your software?
- How are their offices lit, powered, heated and cooled?
- How much are their employees travelling, and by which means?
- Do they serve food in their offices, and what is the environmental impact of this?
- How does they minimise e-waste?
- Are they part of any independently audited sustainability schemes?
- Are third-party applications calling on external services as part of their operations? (This can reduce development time, and improve user experiences and on-device efficiency, by incorporating best-in-class capabilities.)
If you don’t have that information, ask them directly – An environmentally conscious organisation will be delighted to get into the details of what it’s doing, and having more information gives you more awareness of what you’re contributing indirectly through your network.
(For our clients, Softwire is carbon neutral, and we commit to offset the environmental impact of our Softwire’s use of technology in delivering our services. If you’d like to learn more about our sustainability plan, please get in touch and tell us about your project.)
2. Choose your cloud provider and data centre with climate impact in mind
Let’s now turn to the bespoke software specifically, starting with your choice of cloud provider and data centre.
While all the major cloud providers make bold claims around sustainability, it can be difficult to work out the exact climate impact of your specific workload, often because sufficiently granular data isn’t available. Climatiq has done some research to compare different cloud data centres’ respective climate impacts, including their carbon intensities. Another useful tool is Cloud Carbon Footprint, which helps paint you a more tailored picture of your workload’s impact.
3. Optimise your server infrastructure with right-size engineering
Running your workload in the cloud on a pay-as-you-use basis means infrastructure-related costs are generally transparent and easy to monitor. We highlight this, because there’s a strong correlation between the environmental impact of your server loads and the amount you pay for them. Minimising cost is therefore a good proxy for minimising environmental impact.
The key here is to right-size and simplify, since over-provisioned or overly complex infrastructure costs more, financially and environmentally..
For large or processor-intensive applications, use profiling tools to identify bottlenecks that could reduce processor loads and reduce your infrastructure needs.
4. Ensure your infrastructure adapts to changing demands over time
There are a number of ways to do this within the service team:
- Set up auto-scaling to shrink environments in your quieter periods
- Switch things off completely when you don’t need them. (This goes for your disaster recovery plans as well – for example, you may want to consider if you really need that hot standby, or if there is another, more sustainable way of achieving your recovery time objectives?)
- Cloud providers that offer spot instances can help you schedule your cloud usage at times of low demand from other customers, which is extra efficient and cheaper to use.
In general, ask if there are ways to run the workload more efficiently. For example, when you’re running computer-intensive tasks, such as training a machine learning algorithm, choosing the appropriate model may help – simple models can be dramatically more efficient to train and run, and depending on your use case may be comparable in performance. Or using pre-trained models rather than starting from scratch can reduce waste and efforts.
5. Check you aren’t using storage wastefully
In an age of cheap cloud storage, it can be easy to capture and store everything you possibly can – sometimes without even realising it. The more you store, the more it costs, and the greater the environmental footprint your service will have.
Implementing good data governance practices will reduce your impact. Critically assess what you need to capture and how long you need to store it for. Remember to include external data-analysis tools you or your support partner are using as part of this assessment.
6. Minimise network traffic to reduce the amount your data moves
Moving data has an environmental impact. The more you transfer and the further you send it, the higher this will be. There are various ways you can minimise this.
Firstly, design your service to do as much processing as is feasible on the end-user’s device, or at the network edge.
Next, assess the data your service is sending over the network to identify opportunities to reduce it. These can include:
- Reducing the use of frameworks can significantly cut the amount of data you send – a JavaScript bundle is usually significantly larger than the content itself, for example.
- Cutting image, audio and video quality down to the required levels – there’s no need for high-res images if you’re only displaying thumbnails.
- Reducing the use of analytics and other third-party scripts.
- Assessing the need for adverts, as these can be some of the biggest contributors to your network traffic footprint.
If your network usage is still significant – which will be unavoidable with some services – look to locate your central compute and storage infrastructure as close to end users as possible. As well as reducing environmental impact, this will typically result in better performance for the people using your service.
7. Improve your on-device code and the user experience
In the same way that optimising cloud-based workloads and network traffic is good environmental practice, you can do the same with whatever you run on your end users’ devices, particularly if these are battery-powered.
Design the user experience to enable people achieve their goals as quickly as possible, thereby reducing the amount of time and energy your service demands. Helping someone find information in fewer clicks reduces page load times and network traffic, while minimising the amounts of information you collect speeds up task-completion, and also reduces storage requirements.
Related to this, keep your code simple, and avoid background tasks where they’re not essential. Doing so reduces CPU load, and by extension directly reduces energy usage.
8. Directly influence and support greener user behaviour
Lastly, something that’s perhaps easy to overlook, is how your service can positively influence your user’s wider behaviour.
At an operations-level, ‘going digital’ can really help reduce energy costs associated with using and transporting paper. By switching to paper receipts to digital receipts, or postal marketing to email marketing, you can help use tech to replace physical resources.
If your service can share metrics on energy usage or other climate change information – typically easier in food, travel and logistics sectors – you could inform users of the environmental consequences of their choices. This could encourage them to select lower-impact options.
Get support assessing and improving your service’s sustainability level
There are many more factors that can contribute to a stronger level of sustainability, though you can make some serious change to your environmental footprint using the above practical steps.
Along with our environmental responsibility as a technology company, we understand that customers are more concerned with the environmental impact of their applications and services, so getting trusted support while you build or commission can make a huge difference to market reception and sales.
Softwire is passionate about environmental sustainability and great software design, and we’ll work supportively to give you the benefit of our experience and insights. I’d be delighted to explore how to reduce your environmental impact and create efficient software that’s economically sustainable to run.
If you’d like to discuss your project or have a casual conversation with our team, please get in touch and tell us about your project for a call-back.