Azure Cost Optimization

Three Components of Azure Cost Management

Visualization of Azure Spending

As businesses move and provision resources in Azure, they find themselves with the need to understand resource consumption and find trends that can help reduce the cost. In this article, I will go over some of the multiple options that azure can offer to help analyze, monitor, and provide cost-saving options. Let’s jump into it!

Shut down unused resources

Azure uses multiple billing models, but one that is commonly used is the consumption-based price, otherwise known as the Pay-As-You-Go rate. Azure pricing is usually broken down into 730 hours (365 days or 8760 hours) a year. Meaning any resource that is not actively being used such as virtual machine(s), Public IP(s), ExpressRoute circuits, and other resources. Are simply costing your business money.

Right-size underused resources

Finding unused resources can be a challenging task, but Microsoft knows this and has a tool to assist called Azure Advisor. This tool constantly evaluates and provides recommendations on how to reduce your spending by reconfiguring or consolidating them. Azure Advisor offers best practice guidance around a few key areas, but one of those is cost optimization. It will show unused resources if a VM is too big for a task, reserved instances, and so much more. At minimum look at the advisor weekly to ensure you are doing everything possible to eliminate unnecessary spending.

Advisor recommendation types

Reserve instances for consistent workloads

Not all workloads can use the Azure consumption model, and in this case, Azure has Reserved Instances. This should be used for workloads that benefit from the 730 monthly uptime. Reserved Instances enables an organization to commit to using a certain quantity of a certain series/type of resource over a one- or three-year term. While initially, this was for virtual machines it now includes many types of resources including compute, storage and database offerings as detailed in the below link. This leads to a pricing discount (based on the length of commitment) on running resources of the covered series up to the quantity committed to (additional resource use would not have the discount applied). There is no configuration required, it is purely a billing mechanism that runs on the hour and applies the discount automatically. Note that if you do NOT have the quantity running you are still billed for that reserved amount each hour which is why it is important to take time to identify the optimal commitment numbers however it is possible to convert reservations between series (where applicable) if required as needs evolve. You can track the utilization of reservations via the Reservations page in the Azure Portal

Screenshot showing reservation transactions in the Azure portal

.

Take advantage of the Azure Hybrid Benefit

A lot of businesses who have on-premises already pay for windows licenses, they can leverage Azure Hybrid Benefit to only pay for the compute. Azure services that leverage Microsoft products such as Windows Virtual Desktop, Windows OS, MSSQL, and so much more can save a substantial chunk of the billing. Let’s look at an example; if you already have 100 core service licenses and will be using Standard_D4_v3 SKU (4 core, 16 GB) Windows Azure VM — you are eligible to run 12 of the machines without paying for the OS. This is about a 45% saving. Don’t take my word on it, try it out for yourself, here. If you have them, why not use them? Using Azure Hybrid Benefit is a great saving method.

Azure Hybrid Benefit for Windows Server | Microsoft Docs

Configure autoscaling

A big benefit of the cloud is the ability to scale up(vertical) and out(horizontal) resulting in the ability to dynamically allocate and de-allocate resources to match your performance needs as a major cost-saving function. For example, the product is new, only has a limited user base, and might be in the development stage. The specs to run this workload could be something like Azure SKU D2_v3 (2 cores, 8 GB ram, 50 GB of storage). As the product becomes more mature, so does the workload. Here is where the mindset shifts, because the resources now need to scale to handle the new workload. But it also must have the resilience to limit downtime for the product’s end-users. This can be done by scaling resources out (horizontally) by adding additional instances. This kills two birds with one stone, as you increase from a single instance to multi-instances. This is often done with autoscaling and usually doesn’t require downtime.

*Unfortunately, this is not always the case, as it heavily depends on the application code. Depending on what is being migrated into Azure, a code rewrite might need to be done and if that is not possible, then one should investigate the reserve instances.

MORE TO COME!

4 thoughts on “Azure Cost Optimization

  1. erotik says:

    I really like it whenever people come together and share opinions. Great blog, keep it up! Ketty Sebastiano Terchie

    Reply
  2. 720p says:

    Excellent, what a blog it is! This webpage presents useful information to us, keep it up. Glory Erhard Mason

    Reply
  3. bursa escort says:

    I have been reading out some of your stories and i must say pretty nice stuff. I will make sure to bookmark your blog. Cherin Gare Idalla

    Reply
  4. erotik says:

    I really like it when people come together and share views. Great website, keep it up! Laurianne Barron Maitund

    Reply

Leave a Reply

Your email address will not be published. Required fields are marked *