Green by design: Why sustainable engineering practices make business sense
In a previous blog, we talked about how moving your infrastructure from on-premise to the cloud can dramatically reduce your carbon footprint. Just doing a simple ‘lift and shift’ of your infrastructure can achieve astonishing results, with potential carbon reductions of up to 90%. But how can you improve even further on that remaining 10%? One way is through championing green software design practices. But what does this really mean and what can organisations do to make the shift?
What makes an application green and what are sustainable design principles?
How we design and build software is always changing, the constant drive to improve speed and performance has helped create greater efficiencies and better resource usage - the building blocks of sustainability. Now, organisations are going further still by putting a green lens on software design, looking at how design is carried out across the organisation and encouraging staff to think about sustainability as a KPI.
Often, this focus on sustainable software design hinges on the consumption of resources and the need to reduce, reuse and share them. In a design context, this means looking for opportunities to move away from structures and techniques that are known to be wasteful. This could include dedicated instances or hosts that reduce shared tenancy, which often increases energy wastage. Instead, focus on shared tenancy services, this way, the cloud services provider (CSP) can automatically manage the efficiency of the hardware and optimisations on your behalf.
By leveraging platform abstractions, such as Platform as a Service (PaaS) offerings, teams can rely on specialised services that maximise efficiencies of scale and performance over dedicated, self-managed Infrastructure as a Service (IaaS) configurations. With modern, serverless architectures and models, also known as Function-as-a-Service (FaaS), it’s possible to scale your infrastructure to zero and temporarily eliminate costs and emissions when not in demand. Typically, the higher the level of abstraction, the more efficient the services – particularly when working with CSPs such as Microsoft that heavily invest in their green service delivery. Policy and culture are also critical in helping to define organisational cloud usage in a way that optimises resource consumption.

Taking the opportunity to lead
At the same time as developers have shifted their focus to efficiency, the IT department has also undergone a major evolution. No longer just a support function, IT now drives business strategy and underpins customer and employee experiences.
The speed at which the technical teams can deliver services determines how responsive the business is to market developments and user expectations. "Cloud compute" usage in a way that optimises resource consumption, for example instead of self-hosting internal services and environments, looking into Software-as-a-Service (SaaS) offerings and leveraging the provider’s efficiencies. Sustainable development practices help companies develop a green, digitally-led mindset, keeping them flexible and agile in a fast-changing marketplace.

However, as with digital transformation before it, change does not happen overnight. It’s a cultural shift, as well as a change in the business model. Sustainability must follow that same journey – it happens over time. As your sustainability practices evolve and become more mature, you will be able to start embedding changes even earlier, helping you to become even more sustainable as your organisation grows.
For leadership, this presents an opportunity to connect with development teams and bring them along the sustainability journey. While modern software design is becoming more sustainable, there are other things that IT leaders can do to encourage teams to further the sustainability drive, here are some key measures that organisations can take advantage of:
- Optimise application code to reduce CPU peaks and minimise execution times – this is especially important in FaaS models, which are charged in millisecond increments.
- When using IaaS, leverage autoscaling and spot instance functionality – this lets you automatically minimise non-essential demand for virtual server instances.
- Automate scheduled shutdowns – use automation to power down non-production environments when not required.
- Configure data retention policies to purge unnecessary data – data retained for long-term legal or compliance purposes can be moved to cold archival storage, reducing cost and energy.
- Monitor and measure – learning the behaviour of your systems, and understanding your compute and output can help you to optimise over time and begin to continually assess and improve your efficiency.
Achieve your green goals
Adopting green software engineering practices can be challenging, however, working with a partner such as Kainos will enable you to achieve your goals faster.
At Kainos, we have the expertise and experience to help you develop and implement your cloud strategy and optimise your applications. We will work with you every step of the way to ensure a smooth transition, working alongside your in-house team to support application and process design and build - helping you reduce your carbon footprint and accelerate your sustainability goals.
If you’d like to find out how Kainos can accelerate your journey to sustainability through technology, contact us today.