This offering of constrained vCPU capable VMs has been around for quite a while in Azure. Sometimes, it’s good to be reminded of things you have available because you know we are human and heavily memory-constrained! See there I made a joke 🙂
Let’s have a quick look at it!
A couple of years back Microsoft customers asked for machines that are not so hungry on CPU but need RAM and IO and network etc. The logic was “why to pay for 16 cores licensing if I can work fine with 8 cores but my memory needs are that of a 16core-level VM?” In systems like SQL Server and Oracle the licensing per core can have a huge effect on your OPEX budget.
Microsoft listened and came back with the answer: Constrained vCPU VMs.
How it works
First off the VMs that support this feature are: DS, ES, GS, and MS series. These series can constrain the vCPU count to one half or one quarter of the original VM size, while maintaining the same memory, storage and I/O bandwidth.
Let’s take the following example: we want to deploy an app and we know that it is not a CPU intensive but we need the RAM to be at the maximum SQL Server Standard Edition can take advantage of, that is 128GB. So, we head on the Azure Price Calculator and put the following parameters:
By introducing the logic of constrained vCPUs we can lower the cost by 23% or 580USD without sacrificing performance for our app. Pretty neat, right?
If you even can live with 4 vCPUs the cost drops to approx. $1764,00 and if you enable the 3-year Reserved Instances then you end-up with $1180,00 which is roughly a 66% drop on the initial price while maintaining the performance you need to server your users as needed.
Of course, SQL Server Enterprise Edition that is sold solely based on cores have even greater benefits that Standard Edition. Play around with the calculator and see how your budget changes.
So, next time you do cost estimations for SQL Server hosts, take these into considerations to be cost-efficient and make your company happy.
You can check the specifics of VMs here.