If you are considering moving to cloud there are a whole load of different “costs” that you need to consider and build into your business case…
There’s the rental costs of the new environment, including things like:
Virtual Machine Costs
Cloud Storage Costs
Monitoring Costs and so on…
Then there’s the cost of bringing in additional staff to help “staff out” the changes
Programme and Project Managers
Specialists and so on…
But whatever you do – don’t forget to consider the licensing costs and in particular those associated with Microsoft SQL… especially if at present you have a highly consolidated virtual SQL environment.
Licensing a VMware vSphere SQL Environment
Let’s suppose for a moment you have a couple of hundred SQL servers, for licensing reasons you’ve put them all onto a VMware vSphere environment and you have all 200 servers sitting on a VMware cluster with 4 servers:
Let’s further assume something about the specification of the server environment… say each server is running 2 processors and each processor has 8 cores – so in total 64 cores. The amount of memory in the servers is fairly irrelevant for this illustration.
There are two licensing models available – license physical cores or license virtual OS environment. In the above situation the optimal licensing is to license the physical cores using SQL Enterprise Edition in the systems on which VMware sits.
Microsoft say “With SQL Enterprise Edition, customer who have licensed all physical cores on the server can run an unlimited number of instances on the software in a number of OSEs (physical or virtual) equal to the number of core licenses assigned to the server… With the addition of Software Assurance (SA) coverage on all Enterprise Edition core licenses… customers’ rights are expanded to allow any number of instances of the software to run in any number of OSEs (physical or virtual).”
So the number of licenses is tied to the number of cores and in our example there are 64 cores. SQL Enterprise Edition comes in 2 core packs so 32 SQL Enterprise Edition Packs will be required.
So let’s assume you bought your SQL Enterprise licenses under an Microsoft Enterprise Agreement with Software Assurance using the “Subscription” option and are paying for them annually – assuming you haven’t renewed your EA in the past 12 months you probably pay around £2500 per 2 core license pack. So 32 license packs will cost you annually around £80,000.
Licensing in Cloud – SQL Enterprise
Let’s now assume you have a large cloud programme and are moving all 200 SQL servers into a cloud environment. Because you had licensed the VMware environment with SQL Enterprise let’s assume you decided you might as well use SQL Enterprise on all the VMs sat on that environment too.
The right to use a license from your MS Enterprise Agreement in Cloud is called “License Mobility”. In Azure however there is a special case of “License Mobility” that Microsoft term “Azure Hybrid Benefit”. This is (in theory) the most cost effective way of obtaining (say) an SQL Enterprise License and using it in Azure. Hybrid Benefit, in so far as an IaaS scenario is concerned, means that “1 SQL Server ENT / STD Core license provides the rights to run 1 vCore in the Azure VM”.
Microsoft require that a single SQL server is licensed with a minimum of 4 core licenses which covers up to 4 vCPUs in Azure. So lets assume for now that all your virtual machines have a maximum of 8 vCPUs.
Microsoft require that you license the virtual machines in Azure since you do not own the underlying hardware. Thus to license your servers you require 200 x 8 = 1600 core licenses, or 800 SQL Enterprise 2 Core license packs.
This will thus cost you around £2 million per year!
Licensing in Cloud – SQL Standard
If instead we assume that you were only using enterprise licensing for SQL in order to be able to run unlimited SQL servers on the VMware vSphere infrastructure but that the SQL servers on this infrastructure only require the SQL Standard Edition then the situation changes slightly.
You could move away from SQL Enterprise Licenses and only use SQL Standard Licenses. You would still require the same number of license packs but Standard Edition license packs are a lot cheaper – say around £500 per 2 core license pack.
So 800 SQL Standard 2 Core license packs will cost around £0.4 million per year.
Again – this is hardly an incentive to move to cloud…
But surely Microsoft do something to make this more reasonable?
Well… they already do – Hybrid Benefit for SQL Server offers huge savings on the Azure Pay as You Go SQL Servers. But the above illustration assumed the use of Hybrid Benefit – so without Hybrid Benefit the Azure pricing would be worse. But we’ll cover this comparison and the potential concessions that Microsoft could use as an incentive in a future blog post.
I’m not a Microsoft SQL expert or a Microsoft licensing expert – so this is just my understanding of the situation. If I have any elements of this wrong and am informed I will correct it. I don’t however believe that this is at present the full picture so intend to write more about it in another blog post in the future.
The pricing used in this blog post is representative of the subscription based enterprise agreement. I have not used exact pricing as this can vary customer to customer but pricing that I believe has i) the right proportionality between SQL Enterprise and SQL Standard ii) approximately the right order of magnitude. This also ignores any pricing increased Microsoft have announced – so the situation may well be worse that this.
29/04/2019 – I have updated the pricing slightly as I believe I was showing pricing that was about twice what it should have been.