Azure SQL Standard vs Premium DTU Comparison

For anyone who feels like Microsoft’s Azure SQL sizing is a black box, you are not alone. For existing workloads, you can download and run the DTU Calculator against your on premise database. But for new applications, Microsoft does not make it clear what you are paying for from a compute perspective (CPU, Memory, Disk I/O). The biggest pitfall I’ve seen is folks trying to compare compute costs with another hosting provider. This is problematic, because you’re not just paying for compute with Azure – a good portion of the cost goes to SQL licensing, high availability, and security – you know…the things you used to be responsible for. So how much does that leave for compute resources? This article attempts to demystify that process a bit using research aggregated from various sources. At this point in time, I’ve done no formal testing to validate these findings, but based on initially running them in a production setting they seem to be accurate. If someone on the Microsoft team comes across this post, feel free to debunk the metrics I provide – I won’t be offended!

Feature Comparison

First thing’s first – let’s debunk a common myth that “Premium” is better than “Standard”. As I show in the next section, this is simply not true. Premium has a higher capacity for compute power, but at the lower end Standard outperforms Premium dollar-for-dollar and DTU-for-DTU.

According to this article, Standard and Premium have the same SLAs from Microsoft, as well as the same backup retention. So why choose Premium? The reasons for going to Premium are: IO Throughput/Latency, In-memory OLTP, Read Scale Out, and Max Storage. These may be dealbreakers for you but for most getting started with new applications, they are not.

Comparing DTU to vCore Models

Unfortunately, the feature comparison chart provided by Microsoft stops short of comparing compute resources. To get that, let’s introduce 2 additional articles from the good people at MS SQL Tips and SQL Performance that offer a comparison of DTU to vCore resource models and a simple chart of vCore resources respectively. The first article also goes more in depth on choosing between Standard and Premium, and is an absolute must-read.

“Microsoft state [3] that as a rule of thumb, every 100 DTU in the Standard tier requires at least 1 vCore in the General Purpose tier, and every 125 DTU in the Premium tier requires at least 1 vCore in the Business Critical tier.”

This information is key to identifying what resources you are getting for your money in the DTU model. With these two articles, I was able to pull together the chart below that compares a few Standard tiers to the lowest Premium tier.

Tier Cost (monthly) DTUs Estimated vCore Equivalent (Tier) Estimated vCore Equivalent (Power)
S4 $  299.46 200 Standard Gen4 General Purpose 2 vCore, 11 GB RAM
S6 $  598.92 400 Standard Gen4 General Purpose 4 vCore, 22 GB RAM
P1 $  415.09 125 Premium Gen4 Business Critical 1 vCore, 5.5 GB RAM

If the information from these articles is correct, the Standard tier offers significantly better compute resources dollar-for-dollar. Bottom line: If you don’t require the features of Premium and you’re not flirting with the top-end limitations, choose Standard.

Auto-scaling

The beauty of the cloud is that you pay for what you use when you use it. If you want to stretch your dollars even further, look into auto-scaling. Unfortunately Microsoft doesn’t provide an out-of-the-box mechanism for SQL auto-scaling, but this is not a difficult task if you’re familiar with PowerShell and Azure Automation Runbooks. Even if you’re not, Jorg Klein has already done the work for you. The process is laid out really well in https://gallery.technet.microsoft.com/scriptcenter/Azure-SQL-Database-fa6f3115, along with a downloadable Azure runbook. It can’t get any easier.

The benefits are clear. Assuming you want to stay around the $500/month range and you have core business hours of 8 AM – 8 PM Monday – Friday, you can both improve compute power during core hours while also reducing cost. Recall from the previous section that the S6 tier running 24/7 costs $598/month while running the S7 during peak hours and running S2 during off-peak hours will reduce that cost to just $445! You can tweak these numbers in your own environment to find the right peak to off-peak cost and compute numbers.

Pricing Tier Schedule Cost per Month
S7 12 hours per day, M-F $  427.80
S2 Off peak $  17.14
Total $  444.94

Wrapping Up

I hope you found this information valuable for choosing between Standard and Premium Azure tiers and understanding the relative compute resources available in each tier. Drop me a line or leave a comment if you have any questions!