Cost control and Azure Resource optimization are important parts of building out your cloud practice in Microsoft Azure. In other words, you don’t want to waste any money and need to be using your Azure resources in the most efficient way possible in order to increase your overall margin. This article will highlight a couple of ways that will enable you to save on Azure list pricing and optimize Azure Resource usage.
Since this is meant to be a practical guide, we’ll go over each item one-by-one. Some tips will have a direct impact on the list price, as the title implies, while others will help you get your Azure resources running more efficiently. This means you won’t save on list pricing per se, but you will get more out of your Azure Resources and thus spend less as a result.
1. Becoming a Direct or Indirect Cloud Solution Provider (CSP)
This might not come as news to some of you, but there are still a lot of MSPs who are not aware of the CSP program and the additional (financial) benefits it has to offer. Trust me, it’s worth looking into if you haven’t done so already.
Being a CSP will not only make it easier to transact Azure (i.e., create customer subscriptions), but it will also allow you to increase your margin by receiving a discount off Azure list prices via your CSP Provider. You will also be eligible for various incentives that Microsoft makes available to their CSPs based on their growth objectives.
These incentives are incremental to the discount you’ll receive on Azure consumption and can be in the 10% range, or more, when added up.
There are two types of CSPs: Direct CSPs and CSP Resellers. Direct CSPs purchase Azure directly from Microsoft but are required to maintain high consumption volume and need to overcome various qualification hurdles.
CSP Resellers purchase Azure through an Indirect CSP Provider. These CSP providers are large distributors that help CSP Resellers understand Azure, its pricing, and billing. Any MSP can become a CSP Reseller without any volume commitments or certification hurdles.
Have a look at the below discount overview. Note that these numbers (might) change overtime and we can’t guarantee the exact percentages displayed.
Direct CSPs and CSP Resellers are eligible for the following benefits:
- Azure consumption discounts: 7%-15%
- Azure Reserved Instances (more on this below) discounts: 1%-5%
- CSP software subscriptions (more on this below) discounts: 5%-15%
- Office 365, Dynamics 365, and Microsoft 365 discounts: 10% – 20%
- Local, regional, and other accelerators (i.e., rebates): these vary by year and Microsoft priorities. Some are available to Direct CSPs only.
2. Choosing the Right VM for the Job
Another advantage of using Cloud resources is having a choice, and lots of them.
Within almost all regions globally, you can choose to work with dozens if not hundreds of different services – virtual machines being just one of those services. VMs come in various shapes and sizes, also known as families. In short, for every type of workload out there you will be able to find a VM type/size to go with it.
When sizing your Azure virtual machines, be cautious when copying the specifications of your on-premises (physical and virtual) machines. These are often oversized for their purpose; a problem you won’t have with cloud-based VMs. Even if you pick a small size, to begin with, perhaps even too small, they can always be re-sized later within minutes. This ensures that you’ll make optimal use, or close to it, of the compute and storage resources available without paying for additional “reserved” capacity you probably won’t need during the first year or so.
By the way, services like Azure Migrate (migrate existing on-premises virtual machines to Azure) can help with the above as well. Azure Migrate supports Hyper-V and VMware virtual machines and will help you to pick the correct VM size depending on various statistics.
3. Microsoft Azure Promos
[Offer has ended.]
More information can be found on the Microsoft website here.
4. B Series Machines
B-series VMs are known as “burstable” VMs. They are used for non-CPU intensive workloads (domain controllers, file and web servers, for example) and cost about 50% of an equivalently sized Ds-series VM (often used within Azure Virtual desktop environments). The reason they are cheaper is because Azure imposes a quota on how much of the total CPU cores can be used. This quota is usually a fraction of the total available CPU.
Every second that the VM is using less than its quota, it is “banking credits”. These banked credits can be used to burst up to the total available CPUs when needed. While bursting, the VM is consuming its banked credits. Once credits run out, the VMs CPU-utilization is throttled down to its pre-defined quota.
For approximately the same price you would pay for a Ds-series VM, you can get a B-series with double the CPUs and double the RAM. But again, use them for non-intensive CPU workloads only.
5. Ephemeral OS Disks
We also want to highlight the use of Ephemeral OS disks, which are especially interesting if you are running stateless, or “non-persistent” workloads.
Ephemeral OS disks are a form of stateless disk storage. They are created on the virtual machine’s local storage (as part of the available VM cache, read on below) and are not written/saved to Azure Blob storage. This makes them ideal for stateless workloads, providing lower latency and thus faster read and write times. As always, there are multiple pros and cons to consider.
To start with a big pro, they are free!
You are not charged for storage costs. Though, keep in mind that the Azure compute used as part of the VM that the Ephemeral disk is part of will still cost you money – nothing new there. If you have any other disk types attached to the VM, you will pay for those as well.
Another important thing to note, and one of their biggest drawbacks is that Ephemeral disks cannot be stopped/deallocated. Restarting is supported. However, when combined with the auto-scale engine built into Nerdio Manager for Enterprise or Nerdio Manager for MSP, that problem goes away almost completely. Our advanced and patented auto-scale engine can easily create new VMs from scratch within minutes, pre-stage machines, monitor and auto-heal VMs, and completely remove and deallocate virtual machines when they are no longer needed.
In other words, you get the best of both worlds!
6. Azure Hybrid Benefit and CSP Software Subscriptions
Comparing costs between Cloud based resources like a virtual machine, for example, and buying a physical server can be tricky. There’s a lot to consider. People often look at the monthly cost of an Azure VM, multiply it by 36 to get its three-year cost and conclude that it is much more expensive than buying a server.
What most don’t realize is that the pay-as-you-you-go list price of a VM includes in it the “premium of optionality” (i.e., you can turn it off at any time and stop paying) and a subscription to the Windows Server operating system.
Also, you need to take into account the flexibility that this model offers. Machines can be shut down, deallocated etc., meaning you will instantly pay less or nothing at all. Spinning up a new machine will take you minutes instead of hours/days and you’ll always be able to find a configuration that will fit your use-case. What a about resiliency, instant scalability, and there’s more to consider.
By reserving the base compute and bringing your own license for the operating system, the cost of the VM drops by 80%!
Microsoft has created a special entitlement called Azure Hybrid Benefit usage (AHB) that allows MSPs to pay for the Windows Server operating system via another licensing program and not through Azure. AHB is a benefit unique to Azure. You can’t bring your own Windows server license to AWS or GCP, for example. The cost of a VM in other public clouds will include the cost of the license, even if you already own Windows.
AHB can be enabled on a per-VM basis (easily done by using an automation platform like Nerdio, all at once or one by one) in the Azure portal. Turning it on stops the Windows OS billing meter and the cost of the VM becomes lower. How much lower? That depends on the VM family but can be up to half of the VM’s cost.
7. Azure Reserved Instances
The cost of Virtual Machines (VMs) in Azure is the single biggest component of a typical MSP’s IT environment. Therefore, focusing on reducing this large consumption component is where we’ll start. The savings can be significant.
Reserved Instances are reservations of a specific type of compute capacity (i.e., VM family/series) in a specific geographic location (i.e., Azure region) for a predefined period (12 or 36 months). Depending on the VM family, duration of the reservation, and region, these RIs can save you from 20% to 57% relative to the list pay as you go (PAYG) price. The trade-off is that you have to commit to the reservation in advance for an extended period of time — 12 or 36 months. This is great news for MSPs because typical IT workloads they deploy in Azure on behalf of their customers are persistent and customers are generally open to making one or three-year commitments. No customer wants to move an IT environment from one cloud to another every month!
The good news is that RIs can be paid for monthly as well.
RIs can also be exchanged without any fees or penalties. Any unused portion of an RI will be applied as a credit towards the purchase of a new RI for a different family, in a different region, or both.
Even if you want to cancel an existing reservation, you can. However, there is a cancellation fee. The cancellation fee is 12% of your purchase price. The unused portion of your reservation will be refunded to you minus the 12% cancellation fee. There are some limitations to this on an annual basis. For example, your cancellations cannot exceed $50,000 in a year. Cancellation fees apply to both upfront paid reservations and those that are paid for on a monthly basis.
8. Use Auto–Scaling to Lower Your Azure Compute and Storage Costs Significantly
The cloud is famous for its pay-per-use model. This sounds like a dream come true and it is a great concept for sure. However, taking advantage of this is not as easy as it sounds. You need to have a mechanism in place that can constantly monitor what is going on within your environment and act accordingly. It needs to be able to stop and start machines in a flexible manner, and not “just” on set times, build new machines completely from scratch, and throw those same machines away when they are no longer needed.
Workloads need to be resized from time to time and systems need to be monitored for health so that proactive measures can be put in place when applicable. And what about keeping your Active Directory clean when it comes to machine names and objects, for example? Those need to be taken care of also.
What if we could resize machines to a smaller (cheaper) version during night-time? It would still be available but will cost a lot less regarding the underlying Azure compute and storage resources. That, times the number of machines you manage, can lead up to significant savings. Or have machines completely shut down, drained from the user first while also notifying them beforehand. Of course, in a perfect world, we would all have access to something like this.
This is exactly what Nerdio is capable of. In fact, you will save up to 75% regarding your underlying compute and storage resources while keeping your users happy because it won’t affect the overall user experience.
9. Final Notes and Various Tips
Next to the above, keep in mind that there are also price differences per Azure region. When storing large amounts of archive data, it might make sense to store it outside of your own region to save on costs. And there are more examples, of course.
Tagging your resources in Azure (or directly from within Nerdio Manager for Enterprise or Nerdio Manager for MSP) can help to track resource usage and thus the associated costs. Azure also offers various options to monitor your spending and other ways of cost control by setting budget alerts, for example.
The use of Management Groups to govern your underlying subscription as part of your tenant is another way to make sure things don’t run out of control. Applying policies, which can be set on a subscription level as well, can help with controlling what can be configured where. As an example, maybe you only want virtual machines to be created within your own region and block the use of other regions.
Hopefully, this post has provided you with some insights on how to take full advantage of all that can be done to lower (and monitor) costs and optimize overall Azure usage and cloud resources in general. While this may seem like a lot of information at once, if you take your time and handle these topics one by one, it will be well worth your trouble.
Bas van Kaam
Nerdio Field CTO, EMEA