Green coding - CloudBolt: Cloud efficiency... beyond dollars, pounds & pennies

This is a guest post for the Computer Weekly Developer Network written in full by Kyle Campos, chief technology & product officer at CloudBolt Software.

The cloud ROI company, CloudBolt Software helps organisations be more efficient, agile and value-driven in the cloud.

Campos writes in full as follows…

As organisations increasingly adopt public cloud, the disciplines of FinOps and sustainability are rapidly becoming inextricably linked.

Inefficient workloads, stemming from poorly written code to misconfigured infrastructure, are a pervasive issue. The result is unnecessary emissions from wasted compute cycles as well as inflated cloud spending.

At its core, FinOps aims to maximise cloud efficiency and optimise costs.

But “efficiency” is about more than just dollars and cents. An inefficient workload that racks up excessive cloud spend is also an environmentally wasteful workload, consuming more energy and generating more emissions than necessary.

The culprits of inefficiency

Poor coding practices that lead to bloated and inefficient applications are a common culprit. Legacy code, lack of refactoring, code rot and improper use of modern languages and frameworks can all contribute to wasteful compute utilisation.

However, the potential for inefficiency is not limited to just the application layer. Misconfigured cloud infrastructure and resources that are improperly sized or left running when idle can be just as wasteful. Even a highly optimised application deployed to an inefficient infrastructure will still result in wasted energy and costs.

Infrastructure-as-Code for sustainability

The rise of Infrastructure as Code (IaC) solutions like Terraform has been a boon for FinOps teams aiming to optimise cloud costs through consistent and repeatable infrastructure provisioning. But IaC also represents an opportunity for increased sustainability.

With infrastructure defined as code, the same principles of efficient software development can be applied. IaC configurations can be analyzed for anti-patterns that lead to over-provisioned or idle resources. Automated policies can enforce best practices like automatically stopping dev/test resources when not in use.

Just as application developers must consider the performance implications of their code, cloud architects defining IaC modules should evaluate the environmental impact of their configurations. Sustainability is no longer just the responsibility of those writing application code.

A shared responsibility

Ultimately, driving sustainability in the public cloud is a shared responsibility across both application and infrastructure teams.

FinOps practices like cost anomaly detection and automatic rightsizing can identify wasteful spending that may indicate an underlying inefficiency. However, resolving that inefficiency requires deep collaboration.

CloudBolt’s Campos: FinOps teams should measure and optimise for both cost & environmental impact.

Cloud architects must design infrastructure that avoids over-provisioning and enables automatic scaling.

Application developers must write code that efficiently utilises those cloud resources – and FinOps teams should measure and optimise for both cost and environmental impact.

The tools and processes are there.

Cost management platforms can map cloud spending to emissions data. Code analysis tools can flag inefficient algorithms or oversized resource requests. IaC repositories can be scanned for sustainability anti-patterns.

Cloud computing is a key enabler of modern business, so it’s critical that we operate our cloud workloads as efficiently as possible – both to optimise costs and to minimise the environmental toll. FinOps and sustainability are two sides of the same coin. We can build a more sustainable cloud by taking a holistic view of efficiency that considers both financial and environmental impacts.