Back to 2b site

10 Best Practices for Cost Optimization on Azure

If you’re thinking about how to make smart choices for optimizing your costs on Microsoft Azure, you’re not alone. While most people will rely on buying Reserved Instances (RIs) and using Azure Cost Management dashboards, there are smarter ways to get the most out of your purchases on Azure. These are my top ten tips that can help you manage your Azure cloud infrastructure in the most cost-effective way.

  1. Tiers

Most Azure resources offer a wide variety of tiers. These will differ in price, but also in other features. When using tiers, think about your needs, your required SLA, and the amount of resources you’ll need. For example, IoT hub offers a wide variety of tiers but jumping between them is not always required. There is an option to buy more IoT units from the same tier to support better load.

Tiers exist also in other resources such as storage. You may choose a tier based on the availability you need for it. For example, Azure offers cold and hot tiers, with the cold tier cheaper in price and with stricter access requirements than the hot tier.

  1. Utilization

There is a common fear that you won’t have enough resources for your needs, and you’ll end up paying on-demand pricing. However, often organizations go too far in the other direction and over-deploy resources when they could downscale to better fit their needs. Whenever you’re using a compute resource, check if you’re using what you’ve bought! If your infrastructure is under-utilized, you’re paying for what you don’t need.

  1.  Technology

Think about whether your technology choice is the most cost-effective one. You might find that moving from DTU SQL databases to vCore Hyperscale databases, or adding queues in front of your databases to offload burst requests, makes a difference to your bottom line. 

Your infrastructure needs made since first deployment on the cloud may have changed.
As mentioned earlier, using Azure DTU database for high IOPS is not an efficient use of resources as vCore Hyperscale would fit better.

  1. Deactivate your non-production infrastructure

Using infrastructure as code, functions or ARM templates can give you more agility with your infrastructure. By using these tools, you can shut down or terminate infrastructure during idle times like nights or weekends, then quickly restore your infrastructure later. This makes it worthwhile to automate and set up.

  1.  Serverless

If you have infrastructure that only runs several times a day, consider moving to serverless infrastructure. This can have a huge impact on costs, as you only pay when you use it.

We have many customers running databases, applications and frameworks on serverless architecture. These customers benefit from this form of utility and have seen deep cost savings as a result.

  1. Resource management

With the proliferation of resources and data in today’s networks, many companies don’t actually know what’s under their roof. With cloud spend, these costs can add up, so it’s important to have a process in place to delete what you don’t need or use. Once the job is done, one should terminate the resources.
We’ve even seen customers who have been paying for entirely vacant VMs!

  1.  Self-management

One strategy that some customers use is moving their Platform-as-a-service to Infrastructure-as-a-service, which can provide cost-savings if the capacity is manageable for their business. On PaaS, you pay for cloud maintenance and features (back-ups, geo-replications), even if you aren’t using all of this functionality. Going DIY is a huge initiative, but it might be worth it in your unique business context.

  1. Redundant pressure

Having redundant usage can put pressure on your infrastructure and end up costing you more each month, too. Make sure to fine-tune your logs so that they are exactly how you would want them, being careful about your log level such as debugging that might cause high load.

Query or monitor what’s essential and when storing your data – use cool or archive tiers to make sure that you’re getting the best price for your needs.

  1. Autoscaling

Paying for idle machines is the quickest way to a large bill that feels like you aren’t getting bang for your buck. Instead, choose the right number of machines for your use, and then scale up based on peak requests in real-time. You’ll get exactly the right resources to handle the current load on your infrastructure.

  1. Data Transfer

Anything that leaves the cloud costs you money – period. Even if you’re sending data to your own public resources, these costs can add up fast. Where possible, try to keep everything inside the VNet, and you’ll see the difference in pricing.

There are ways to reduce the amount of data going out and to save money. Use a content delivery network (CDN), a private endpoint or private IPs within your Vnet. 

Ready to discuss your own unique Azure environment, and how 2bcloud can save you zeroes off your monthly invoice? Let’s schedule a call.