Cutting Cloud Costs: The Significance of Software Optimisation

Apr. 5, 2023

Like many, I faced soaring cloud service costs for my clients, prompting a wake-up call. To stay afloat, it's essential to incorporate software optimisation as a strategy for managing cloud expenses. Join me as I share how I managed to save up to 90% on cloud costs through optimisation!

Understanding Cloud Costs

For many people, "the cloud" seems intangible, making it difficult to grasp what exactly contributes to cloud costs. Simply put, the cloud consists of computers without displays, housed in large cabinets and occupying entire rooms or buildings. These computers are not very different from your personal devices, such as laptops.

The cloud consists of computers without displays

Housed in large cabinets occupying entire rooms or buildings

The more tasks you perform on a cloud computer, the greater the processing power and memory required to avoid slowing down or crashing. Cloud providers charge you for the amount of computing power and memory you use.

In the cloud, increased storage demands at a data centre lead to more hard drives being used, thus consuming more energy

Much like your laptop's or phone's battery draining faster when pushed harder, cloud computers consume more electricity when working at full capacity.

The recent surge in cloud costs is primarily due to rising energy expenses. Cloud providers pass this expense on to the end-users of their services: YOU!

Although I had to raise prices, too, it did not feel right to simply forward the bill and dismiss it as "not my problem". I believe that for my businesses to prosper sustainably, taking full responsibility for the rising costs is essential. That's why I set out to cut my cloud costs.

Much cloud work is remote, but occasionally, a console display is required for specialised maintenance tasks.

Hello from the cloud!

How to cut cloud costs

Let's look at three simple strategies for reducing cloud expenses: doing tasks less frequently, deleting unnecessary data, and delegating tasks to others.

Doing less (frequently)

Firstly, one way to cut costs is to reduce the frequency of specific tasks. Analyse your processes and identify operations that consume a significant amount of resources. Determine if these tasks can be performed less often without compromising your objectives. By running resource-intensive processes less frequently, you can conserve resources and lower your overall cloud expenditure. For example:

Consider whether your cloud applications need to run continuously, or if you can scale down during quieter periods, such as at night. By analysing your workload, you may identify patterns that offer opportunities for optimisation.

Carry out tasks once and serve results from a cache. For example, rather than calculating webshop prices for each individual visitor, perform the calculation once and serve the results to all visitors.

Instead of enabling features by default, make them opt-in based on a 'need-to-have' principle. Think about it like this: when you're home alone, do you switch on all the lights in the house or just those in the room you're in?

Delete data

Another strategy is to regularly delete unnecessary data. As storage costs can make up a considerable portion of your cloud expenses, it's crucial to audit your stored data and remove any outdated or irrelevant files. By doing so, you can free up valuable storage space and avoid incurring unnecessary costs for data you no longer need. For example:

Delete old log files, as it's not always necessary to retain them indefinitely on the cloud, which can lead to increased storage costs. Consider transferring logs to another computer or email inbox instead.

Optimise photos, images, music, and videos using cutting-edge compression techniques. With lossless compression, you can save up to 80% of storage without compromising quality. Read my post on image optimisation

Be selective about what you store in the first place: do you genuinely need to log, save or store everything? It's a bit like not "eating the entire restaurant" when you're only there for dinner.

Let others do it

Lastly, consider delegating certain tasks to others or utilising client-side computing resources. There are many services available that specialise in handling specific cloud-based operations, often more efficiently than trying to manage them in-house. By outsourcing some of these tasks to specialists or leveraging the fast processors and memory of users' devices, you can take advantage of their expertise and resources, while reducing the burden on your own cloud infrastructure. Read my post on leveraging client-side computing power. This approach can lead to both cost savings and improved performance. For example:

Contemplate compressing and resizing resources such as images and videos on the client-side before uploading them to your cloud service, or offload the optimisation tasks to specialised online services.

If your application includes a search function, think about implementing it entirely client-side using JavaScript and a JSON data structure. You'll be amazed at how quickly this can handle thousands of records.

When employing animation or interactive graphics, consider tapping into the powerful graphics chips of modern client devices, particularly for (web-based) games or charts

Doing it myself

After months of diligent work, I managed to reduce my cloud footprint by 66%, while retaining approximately 80% of all features and services. By the end of the year, I anticipate further reductions as some contracts are due to expire.

Extracting hardware from the data centre - the epitome of energy-saving wizardry!

At first, the task seemed insurmountable; it was unclear where to begin. However, as I gained confidence and progressed with my optimisation strategy, I developed a knack for it, discovering more opportunities for optimisation along the way.

A "cloud cart", loaded with a decommissioned computer on it, outside the datacenter

Conclusion

Cutting cloud costs doesn't have to be a complex process. By adopting these straightforward strategies—performing tasks less frequently, deleting unnecessary data, and delegating tasks to others—you can make a significant impact on your cloud expenses and optimise your overall operations. Ultimately, you might find yourself wondering why you hadn't started this process sooner. As the saying goes, better late than never!

Clouds above the KPN DC2 datacenter in Amsterdam