Today, the post is dedicated to saving again. Based on 5 years of working with the Microsoft cloud, I wanted to present in my opinion the 5 best ways to save money and lower Azure bills. Such a list can be useful for every person using Azure to check whether they are not wasting money unnecessarily. By the way, I wonder if you would agree with this list, and maybe you would change something on it.
1. VM and SQL reservations
Reservations are the way that, as I noticed, brings the greatest savings. Many people were surprised how with a few clicks you can save so much without losing anything. You do not need to delete anything, you only need to configure … specify how long we intend to use the reserved resources.
Okay from the begining, reservations at the time of writing an article save up to 80%. We can reserve virtual machines, SQL server, Cosmos DB, Synapse Analytics, Azure Storage and so on. Details can be found at https://azure.microsoft.com/en-us/reservations/.
The level of savings depends on how long we buy reservations for 1 year or 3 years and whether we have, for example, unused system or SQL licenses.
Generally, if we know that we will be using specific equipment for a year or 3 anyway, it is worth booking.
We can pay the full amount for reservations in advance, or pay it monthly. It has no impact on the level of savings.
If during the work we decide that we would need larger machines, we can always exchange for free reservations for larger ones. Unfortunately, it will not work in the other direction. However, we may cancel reservations, in which case a 12% fee may be charged on the remaining amount. However, you cannot cancel more than $ 50,000 in a 12-month period.
2. Automatic VM shutdown
This is a free option available with every VM (virtual machine) on Azure. It allows you to turn off the machine at a specified time. We can imagine that a programmer only needs a VM for testing during his work, which is about 8 hours a day. By configuring the machine to automatically turn off every day when no one is working anymore, e.g. at 5 p.m., we reduce the cost of using such a machine by 2/3.
Instead of charging our account for 24 hours, we only do it for 8 hours. Thanks to this, programmers do not have to remember to turn off virtual machines every day, and we are all only human and it can happen to anyone to forget. The larger machines with more vcores or ram, the greater the savings.
Thanks to this option, the programmer can turn on the machine when he needs it and be sure that it will be turned off every day at the time specified by us.
To turn on the machine, we do not even have to involve a poor programmer, but for example, using the ‘automation account’ to run it automatically from Monday to Friday before his work.
3. Use a dedicated DevTest subscription
Saving on Azure doesn’t have to be complicated. It is enough, for example, to create a special type of subscription for tests with lower prices. By creating a separate special subscription, we not only gain lower prices, but also isolate our testing / development environment from production to the maximum.
The subscription is distinguished from others in our catalog with a new stamp. Each such subscription for the Offer property takes the value ‘Enterprise Dev / Test’ instead of the typical ‘Enterprise Agreement’.
4. Check disks and snapshots
It is worth checking the snapshots from time to time, it may turn out that we do not need a large part of them anymore.
It’s the same with disks. There may be some that are not connected to any machine and are unnecessary. With disks, we can also check if their size is appropriate. Sometimes it happens that someone in a hurry adds a disk with default values and instead of a few additional gigs we have the default 1024GB in the premium tier, which of course costs a lot.
5. Adjust the size of the VM
It’s worth spending some time and adjusting the size well to virtual machines. If we use too large machines, we simply overpay.
Due to the size of the machines it is good to use the automatic scaling option, which is available in VMSS (Virtual Machine Scale Sets) in some cases. It allows you to automatically create new machines from the selected image when more resources are needed. VMSS can also remove machines when they are no longer needed. That is why it is so important to define above which loads the machines are to be created and removed.
That’s it, for more similar articles you will find the cost reduction category in Azure.