An abstract picture of a rocket ship launching off to represent Azure, next to a picture of Bit the Raccoon.

One common misconception of moving apps and services to the cloud is that we will immediately save money. Whilst this certainly can and should be true, it isn’t necessarily the case. So why is it that organisations sometimes end up with “bill shock” after their first major deployment in the cloud?

Let’s look at an example of a typical workload a customer may deploy in Azure – a virtual machine. Fairly ‘run-of-the-mill’ you might think, a virtual machine. Using Azure for Infrastructure as a Service (IaaS) is usually one of the first services an organisation will consume to transform their organisation into a cloud computing one.

Azure pricing is detailed up-front – you know what this will cost before you purchase, as this screenshot shows.

A comparison chart of prices and features for various virtual machines.

There are other costs that may be incurred, such as VPN gateways to connect to the on-premises environment and storage accounts for VM data. The fact is, there are many variables in pricing a solution, and the headline figure of the VM may not tell the whole story.

The answer is simple at the core, but it can be complicated to understand how to implement it in practice. The quick answer is “optimisation”.

The point of this article is not to describe all the variable costs, but to think about how an organisation can save money by optimising what they have deployed. Let’s imagine you deployed a D4S_V3 VM as above. This will cost around £106.47 a month, right? Wrong. That’s the pre-optimised cost, and we can bring that down.

Does the VM really need that much compute? Check the performance stats – is the CPU running between 40-80% utilisation? No? Resizing the VM to a smaller spec will save money and only require a reboot to take effect. Maybe you could drop to a E2S_V3 instead, saving 30%.

Do you really need the VM on 24-7? What if you configured the VM to power down outside of core business hours, say from 6pm-9am, and off at weekends? Instead of 168 hours, you will be billed for the hours (and minutes) it is up for and consuming resources. You could be paying for 45 hours, a reduction of 73%.

By combining these two measures, the VM could cost £19.75 instead of the original £106.47. These savings stack up when you consider this approach across all your IaaS and PaaS assets. For medium to large scale deployments, I would recommend using Azure Cost Management, soon to be fully integrated into the Azure portal.

Optimisation should be an essential part of your deployment plan. Failing to do this can be wasteful and lead to an uncompetitive business, and it can certainly help oil the wheels at your next pay review meeting too!


Chris Rhodes (@Chrisreboot on Twitter) is a senior training consultant with IT Masterclasses, a company dedicated to empowering individuals to get the most of their investment in training on the latest technologies, and 6-time MVP awardee.