The post contains a mix of technical solutions, management recommendations and the processes in general. A jack of all trades so to speak. We can't cover all aspects of Azure cost reduction in a single blog post, but we'll try our best providing you with information of value.
The information found here is based on best practice and our own experience. We use these guidelines every day, so using them is quite natural to us. We often see that others never even think about these possibilities, which often leads to customers paying a lot more than necessary. That’s why we decided to write about it.
"Are you serious? Where are the awesome tricks you promised us?"
Despite being arguably the most boring part of utilizing cloud platforms such as Azure, this is the area where you'll save most of your expenses. The most common rookie mistake is deploying lots of resources in Azure before even considering cost.
Traditionally in an on-premise environment, you are the one that has to make sure your environment can digest the most demanding workloads. Hardware is not scalable; therefore you need to buy hardware that is able to handle the spikes. Most of the time your hardware is barely used.
With cloud computing this responsibility is on the cloud service provider, not you. We often see customers deploying resources that don’t reflect that. Azure has loads of PaaS services that are built for scalability and redundancy and they even have burstable virtual machine SKUs. Even Virtual Machines can be deployed with great scalability. There are also SKUs build with burstable workloads in mind. If you are paying for resources that idle at less than 95% most of the time, you are throwing money down the drain.
Time to get more technical. Did you know that you can deploy Virtual Machines in Azure that could end up costing you more than 100 000 USD a month? By default, you can do almost anything in an Azure subscription, but there are free services available to lock this down. You should take advantage of these.
The best place to start is limiting on the subscription level. Here is an example.
Allowed virtual machine SKUs
Allowed Locations (Azure Regions)
While we're at it: should you allow deployments to other regions than where you operate? You can easily limit the Azure Regions where you are allowed to deploy resources. It's easy to make mistakes when clicking through the deployment wizards in the Azure Portal, and it's a real bummer when you find out your shiny new resources have been deployed in Southern Australia.
This is maybe the best trick for saving a huge amount of consumption in Azure environments.
Most companies don’t need their virtual machines to be powered on 24/7. Take a development environment for instance, which really only needs to be running Monday-Friday 07:00-17:00. If I did the math right, that’s 118 hours a week where the Virtual Machines can be powered down. That’s a 70% cost reduction!
The easiest way of achieving this is using Azure Automation Accounts, together with a PowerShell runbook, which are available for free from Technet Gallery.
Last but not least: the step that will save you both money and hassle in the long run. Migrating to the cloud is not about moving existing on-premise resources to a cloud service provider, such as Azure. You’ll need a very good reason not to use:
You will most likely never beat Microsoft at security, scalability, availability, and price when building you own solutions. Everything is possible with Azure, but some services are best when using PaaS services. This is why we at Ironstone are completely serverless, using Office 365, SharePoint, OneDrive for Business, Exchange Online and Intune MDM for our day to day business.
At Ironstone we have great experience in saving money while providing great value for our customers. If you have any questions on how we might help you optimize your Azure environment, feel free to contact us; we’re here to help.