Azure’s web and business editions are going to be sunset from September 2015. You can notice the alert message of the retirement in the portal. As an alternate, Microsoft has introduced new service tiers – Basic, Standard and Premium. These tiers in combination with the performance levels dictate the performance of the database and hence it is mandatory to know what they offer. Let us look at the important concepts required to make the right choice

Performance Levels

Performance level quantifies the performance characteristics of a database. To measure this, Microsoft uses a bench mark called ASDB (Azure SQL Database Benchmark). This measures the actual metrics of performance level by using a mix of OLTP transactions such as Insert Light, Read Light, Insert Heavy, Read heavy and so on. As a result there are three metrics that are derived which are

DT: Database throughput units – This is Blended measure of CPU, memory, reads and writes. This is a relative performance value. 5 DTU meaning high performance compared to 1 DTU

Transaction Rate – This is a measure of transaction per unit-of-time counting all transaction types, with the time scale being shorter for higher classes of service.

Predictability – This is consistency of response time. Database which achieves more stringent response time constraints have more predictability

Service Tiers and performance levels

Below is how the performance characteristics measures for different service tiers

Service Tier/Performance Level DTU Benchmark Transaction Rate Predictability MAX DB Size Max Concurrent Requests Max Concurrent Logins MaxSessions
Basic 5 16,600/hr Good 2 GB 30 30 300
Standard/S0 10 521/minute Better 250 GB 60 60 600
Standard/S1 20 934/minute Better 250 GB 90 90 900
Standard/S2 50 2,570/minute Better 250 GB 120 120 1,200
Standard/S3 100 5,100/minute Better 250 GB 200 200 2,400
Premium/P1 125 105/second Best 500 GB 200 200 2,400
Premium/P2 250 228/second Best 500 GB 400 400 4,800
Premium/P6(formerly P3) 1000 735/second Best 500 GB 1,600 1,600 19,200

Workload and Tier

Following is a high level guideline for choosing the tier based on the kind of workload.

Basic – This is suited for small databases. Development and Testing are the apt workload for this. This supports typically one operation at a time.

Cost of the basic tier at this point is $.0067/hr

Standard – This is where most of the enterprise on-premise applications would fit in. Depending on your need you can chose between the 4 performance levels

Cost of the standard tier at this point ranges from $0.0202/hr to $0.2016/hr for Performance level S0-S3

Premium – If you are expecting concurrency > 500 and if you are application is heavy on database operations then you will need premium. I can see most of internet facing consumer based products needing this sooner or later

Cost of the premium tier ranges from $0.625/hr to $5/hr for performance levels p1-p6

Elastic Database for SaaS Applications

This feature is my special interest!!!

To enable scalable SaaS applications Azure specially offers Elastic database pools where we can expand and shrink the capacity of the number of database. Elastic database developer tools help the application development with elastic databases. This is going to replace Federation which is also going to be sunset in September 2015.The RLS feature of elastic database tool also makes multi-tenant development easier.  Elastic database pools are offered at 50% discount now and hence are a good time to try out.

 

Summary

Azure offers almost 10 choices for you to choose from based on your performance requirements. Make a plan, pick a choice and ensure you do a performance test before hitting the production.