Azure SQL vs. Traditional SQL Clusters: Massive Price Differences for Small Databases

In the “old days” (e.g. pre-cloud), the minimum high availability SQL cluster in “Active-Passive” mode.  The minimum license for SQL you need is for the active node and is typically charged per processor (unless you have a specific number of users and you buy per CAL).  If you need SQL Enterprise, the only available option is by processor.

SQL Standard is $1,793 per Core and SQL Enterprise is $6,874 per core, using American list prices.  Organizations can negotiate for cheaper prices in some cases (for example, if they are in government or education) but let’s use list prices for our comparison.

At a minimum, you must license 4 cores for each physical processor in the server.  For virtual machines, you need the same minimum 4 core licenses per VM.   However, if you license the physical server, you can then deploy multiple VMs on top of the fully licensed physical server.

image

In addition, if I want to keep getting access to upgrades, I need SQL Software Assurance which is 25% of the original cost annually.

For a basic SQL cluster, I need a minimum of 4 cores but probably typically 8-12 cores.  If I want to run in Active/Active mode, the number of cores doubles with two servers running concurrently.

A basic SQL cluster running 8 cores is $14,344 + $3,586 in Software Assurance annually, assuming SQL Standard.  For the same cluster, SQL Enterprise is $54,992 + $13,748 in Software Assurance annually.

The key idea here is this is the minimum configuration – whether I have 1 gigabyte of data or multiple terabytes, I’m still required to have this basic configuration just to run a SQL Cluster.  This is the minimum cost of entry for a high availability SQL cluster.

This also doesn’t include the hosting costs, backup/restore costs, hardware costs, etc. which of course you need to account for in a traditional hosting model.

Comparing with Traditional SQL Running in IAAS

Running a SQL Cluster in Azure as Infrastructure as a Service is possible, but the license model is essentially the same.  The only real difference is the hosting model – the license model remains the same other than its now calculated as a operational monthly cost instead of requiring an up front capital spend on licenses.

The cost for a Large VM with 4 cores running SQL Standard is $714 / month and running SQL Enterprise is $1,930 per month.  In addition, you need to pay for storage costs depending on how much storage your VM requires. 

In terms of high availability, it is still up to you to manage your cluster and to configure it properly for high availability:

When running SQL Server in Windows Azure VMs, it is up to you as the database administrator to ensure that your database system possesses the HADR capabilities that the service-level agreement requires. The fact that Windows Azure provides high availability mechanisms, such as service healing for cloud services and failure recovery detection for the Virtual Machines, does not itself guarantee the desired HADR capabilities of SQL Server. These mechanisms protect the high availability of the VMs and not SQL Server, which runs on the VMs. It is possible for the SQL Server instance to fail while the VM is online and healthy. Moreover, even the high availability mechanisms provided by Windows Azure allow for occasional and possibly lengthy downtime of the VMs due to events such as recovery from software or hardware failures or operating system upgrades.

In most scenarios, you would need to replicate data from one primary SQL server to a secondary mirror, so this could imply a secondary VM running SQL Server based on the same pricing above.

If we compare the virtual machine price with the on premise price, assuming a 3 year cycle for the SQL licenses, there is still a significant advantage running in Azure compared to buying traditional licenses:

Edition On Premise Pricing (per year) Azure Pricing (per Year) – 2 VMs for High Availability
Standard $8367 $8568 x 2 = $17,136
Enterprise $32079 $23160 x 2 = $46,320

 

Again, keep in mind that we’re comparing apples to oranges here – the Azure pricing includes hardware, monitoring, VM failover, VM backup-recovery, etc. where the On Premise pricing only includes the basic SQL license.  At a minimum, you would also need to add Windows licenses to your on premise servers as well which are included in the Azure pricing.

Comparing with Azure SQL

Let’s imagine that I have a 10 gigabyte database which requires high availability.  I write my application to use Azure SQL instead of traditional SQL.  What is the cost?

A 10 gigabyte database running in Azure SQL is $48.46 per month, fully redundant, backed up and highly available! 

If I was designing a new application which needed a SQL backend, why would I choose the traditional SQL running in a virtual machine method?  There are a few good reasons such as Azure SQL doesn’t currently support Analysis Services, but if I just need a core transactional DB, it’s clearly a cheaper model. 

  • Pingback: Top 10 2015 Predictions for Microsoft Azure | Microsoft Trends()

  • Thank you forr another informative site. The place else may I am getting that type of information written in such a perfect manner?

    I have a project that I am simply now operating on, and I
    have been at the glance out for such information.

  • Larry

    Hi, Chris,

    You say, “At a minimum, you would also need to add Windows licenses to your on premise servers as well which are included in the Azure pricing.”

    Are you certain the pricing for SQL Server on a virtual machine includes the licensing cost for the underlying Windows operating system? The pricing page for SQL says, “Per-minute rates for SQL Server images don’t include the cost of the Windows Server virtual machine it runs on. See the Windows Server rates.”

    I’m pretty sure what they mean by that is that you’re going to pay this SQL rate and then you’re going to also pay the Windows rate on top of it. Don’t you think?

    Otherwise, I’m not sure why they’d make a point to say it’s not included, and direct us to see the Windows Server rates.

  • Emmad Kareem

    Very good article that I need to study. I am trying to build a simple system but I am finding the current costs are very high. If you may, could you elaborate on “For a basic SQL cluster, I need a minimum of 4 cores”? Also the price of Azure at about $49…I could not locate such a cheap price on the page – May be you meant the non-elastic configuration instead? Thx.

  • Barbara C. Smith

    Thanks Christopher, great article, but I am new to this technology and some parts were a little
    too technical. Can anyone point me to a high-level overview of the subject?