The pandemic has seen businesses large and small adopt the cloud in droves, thanks in part to the strategy’s pay-as-you-go promise, as well as the flexibility, agility and innovation that the cloud computing can afford.
But according to a recent Gartner study, 60% of nearly three-quarters of enterprises that have moved some workloads to the public cloud are likely to face higher-than-expected costs. Some of this increased spending will be due to spending on training or hiring staff with cloud skills, organizational changes to adopt devops, or failure to retire hardware and software replaced by cloud services.
But, especially if demand is unpredictable, any organization moving to the public cloud may find cloud costs difficult to control. Below is an overview of how businesses that have adopted Microsoft’s Azure cloud platform can get the most out of their cloud spend, leveraging a combination of cost management options available in Azure and hard-earned cloud cost management tips.
Benefit from correct billing and licensing
If you can plan how you’ll use the cloud, paying upfront is cheaper than pay-as-you-go – and in many cases you can still pay monthly. Azure Reserved Instances, for example, are up to 80% cheaper for Windows VMs and Azure SQL Database, with lower discounts for Linux VMs, Cosmos DB, Synapse Analytics, Azure App Service, and Reserved Capacity on Azure Storage.
While you probably can’t predict your Azure needs perfectly in advance, you can plan ahead for your long-term usage on consistent workloads and save money that way. Additionally, pre-purchased reservations for multiple services can be exchanged for similar services; so, for example, you can redeem Azure VMware Solution reservations for Azure Virtual Machines, but you still cannot use them for Databricks, SAP HANA Large Instance, or RedHat software usage).
It’s also worth comparing the discounts you can get with an enterprise agreement, which may depend on negotiations at renewal, or by purchasing Azure through a cloud solution provider partner. You can use a Microsoft Customer Agreement to streamline administration of these different purchasing options.
If you have workloads that can handle being interrupted and don’t need to be finished at a specific time, look to Spot VMs, which run on unused compute capacity and get discounts of up to up to 90%. Your workload can be dropped if Azure runs out of capacity or the spot price exceeds the maximum price you set in advance, but using them with sets of identical Azure VMs gives you one-stop scalability. Lower price.
If you have a Visual Studio subscription, take advantage of the reduced devtest rates you can get on Azure. If you’re using Cloudflare, you can set up discounted egress from Azure for data from certain services.
Many organizations will have on-premises licenses from Microsoft for the products they migrate to the cloud. Make sure you’re using Azure Hybrid Benefit to reduce the cost of Windows Server, SQL Server (including SQL Managed Instance and Azure SQL Database), RedHat, and SUSE Linux in Azure — you only pay for the reduced compute rate without needing buy back licenses and you can use the same license in the cloud and on your own infrastructure for 180 days.
If you’re using older versions of Windows Server or SQL Server and aren’t ready to upgrade, you can get free Extended Security Updates by running those workloads on Azure, including Azure Stack systems (and updates are available for an additional year).
Rightsize — ideally before migrating
Because it takes time to buy and provision new hardware into your own infrastructure, companies are used to over-provisioning hardware in their data centers to deal with peak loads. Even with virtualization, 30% utilization is not uncommon, and you may never have accurately measured how much capacity is actually required by particular workloads.
Resist the temptation to choose a more powerful virtual machine in the cloud just in case; By performing workload profiling, you can discover the instances you really need, significantly saving on your cloud bill while being able to scale when more capacity is worth the extra cost. Likewise, only choose a dedicated hosting service when you’re sure you need the full capacity, because that’s what you’ll be paying for.
But you also don’t want to cut production resources to the bone and cut out the bare minimum where application performance is important to the business. The complexity of scaling resources for a mission-critical application where you can’t afford downtime may require some trade-offs.
Take a full inventory before migrating VMs to Azure; you may find VMs running in your data center that are no longer needed, and you can downsize before you start paying to run them in the cloud.
Likewise, if you plan to replace the workload you’re migrating to the cloud, spending time refactoring it for full efficiency can be a false economy. The added cost of running the slightly overpowered instance that a lift-and-shift workload waits for a few months may be worth it if it frees up the people building the cloud-native replacement.
Design more efficiently
Making the wrong design choices can be expensive and harder to spot on your bill than a virtual machine that’s been left on all month.
If you are migrating to or developing on Azure and have a large workload, check if it is eligible for FastTrack support where Azure engineers will help you define and deploy your systems as efficiently as possible. The Microsoft Cloud Adoption Framework includes best practices and the Azure Well-Architected Framework has a pillar covering cost optimization.
Most Azure services are available in multiple regions and prices may vary by region. Unless you need the lowest possible latency, you might be able to save money by running a service in a different region rather than the one that’s geographically closest to you.
Turn it off again
The convenience of the cloud means you can turn on a server when you need it, and the ability of the cloud to scale means you can meet sudden demand and then scale back down again. Watch how you automate scaling up and down. You can use automatic shutdown to create a shutdown schedule for virtual machines that are not needed at all outside of business hours.
It’s a false economy to ask developers to use VMs that don’t have the resources they need; your developers are considerably more expensive than cloud resources. But it also means it’s worth managing devtest resources. Azure DevTest Labs, which incorporates automatic shutdown, is a good way to ensure that non-production development test systems aren’t running when they don’t need to be, especially if you’re moving to CI/CD build systems such as Azure DevOps which moves more of the build process to a PaaS.
You can autostart VMs in DevTest Labs; If you want to do this for standard VMs that you need a few days a month, use the Azure Resource Manager and Azure Automation templates to start and stop on a schedule.
If you’re using Azure Kubernetes Service for development or data science test workloads, or even production systems that don’t need to be running 24/7, you can pause the clusters instead. to drain the workload to reduce the cluster. This may mean rethinking assumptions such as when you query or back up systems. There’s no point in keeping a cloud service running for maintenance that happens at 2 a.m. so you don’t interrupt employees when you can do that backup or run that query in the cloud without having to impact on production systems.
Ask Azure what to disable
Azure Advisor will identify idle or underutilized resources and suggest what to autoscale, terminate, transition to a cheaper instance or reserved capacity, and deprovision.
Consider PaaS, Serverless, or Storage
You don’t always need a virtual machine: use Azure Storage when you need to store files or data (using storage tiers for anything accessed less frequently) and use Azure Batch or Azure Functions to process them on demand. There may be Azure PaaS services such as Azure Machine Learning, Cognitive Services, or Azure Applied AI Services that already have the functionality you need and where you pay as you go rather than build and pay to develop, test and run your own end-to-end solution. -end system.
Take advantage of preview services
Test new features and services to see if they’re useful, while they’re still in preview and at no cost.
Check what you spend
The best way to overspend is not knowing what you’re spending. You can see what resources you’re using and how much they cost in the Azure Billing portal, but Azure Cost Management lets you budget, allocate costs for centrally managed services, set forecasts, send alerts when usage does not match those forecasts. and use Azure Budgets to automate what happens when these alerts are triggered.
There are also third-party tools such as Inscape Anomaly (which is funded by Microsoft) or Data#3’s Azure Optimizer, which generates reports and suggested schedules to reduce resource usage.
Perform cloud chargebacks and understand the benefits of the cloud
Make sure the right policies are configured to control who can create subscriptions, purchase Azure services, create resources, and allocate Reserved Instances. Individual services such as Cosmos DB also have cost control options such as throughput spending limits that you can set.
If your Azure bill continues to rise because cloud services are so useful that they’re more popular than expected, it could be a good thing if those projects add business value. You may need to move to more flexible budgeting, and using chargebacks ensures costs end up on the right budget, so decisions are made by the people who know if projects really add enough business value. to make the increased spending worth it.