We are excited to announce the public preview of Next-gen General Purpose (GP) service tier for Azure SQL Managed Instance (SQL MI). Next-gen GP brings significantly improved performance and scalability to power up your existing Azure SQL Managed Instance fleet, and help you bring more of mission-critical SQL workloads to Azure.
What is Azure SQL Managed Instance Next-gen GP?
Under the hood, the Next-gen GP is built using the latest technology from Azure Storage: premium managed disks. This upgrade enables major enhancements in the areas of storage performance, instance scalability and cost optimization, greatly improving the value you’re getting for your money!
Starting today, Next-gen GP is available in Preview for both the existing and newly created Azure SQL MI GP instances. The upgrade to Next-gen GP is a fully online operation which is easily reversible (if needed), so you can confidently try the Next-gen GP for your existing instances. All it takes is one click of a button (two clicks, actually – you also need to click „Apply“ for the upgrade process to start). The upgrade process can take a bit of time (data needs to be copied to a new type of storage) but everything happens in the background, and you can use your instance during the upgrade.
Significantly improved storage performance
To deliver maximum storage performance, Next-gen GP uses premium managed disks instead of premium page blobs. Premium managed disks offer significantly lower I/O latency relative to blobs, leading to better performance for all workloads, especially for those heavy on the writes. In addition, Next-gen GP provides more data IOPS and larger transaction log throughput to really make your database applications sing!
Here’s an overview of the performance enhancements in the Next-gen GP:
Category |
Item |
Current GP |
Next-gen GP |
Improvement |
Storage performance |
Average I/O latency (approx.) |
5-10 ms |
3-4 ms |
2x lower I/O latency |
Max data IOPS |
30-50k IOPS |
80k IOPS |
60% better |
|
Max log throughput |
Per instance: 120 MB/s |
Per instance: 192 MB/s |
60% better 3x better |
Support for more storage, vCores, databases and files
Next-gen GP greatly extends the current maximum resource limits, starting with the support for 32 TB of storage, support for up to 500 DBs, larger maximum of 128 vCores, and a significantly improved limit for the number of files, with 4096 files per database. These new limits will allow you to migrate your more demanding workloads, or to consolidate some of the existing workloads into fewer number of instances – the opportunities are endless.
Here’s a quick breakdown of the scalability enhancements in the Next-gen GP:
Category |
Item |
Current GP |
Next-gen GP |
Improvement |
Instance |
Max storage |
16 TB |
32 TB |
2x better |
Max number of DBs |
100 DBs |
500 DBs |
5x better |
|
Max number of files |
280 per instance |
4096 per database |
Huge improvement! |
|
Max number of vCores |
80 vCores |
128 vCores |
40% better |
More flexibility to right-size the resources and optimize your spending
Next-gen GP offers significantly more sizing flexibility, helping you optimize the hardware configuration and performance levels for your database workloads.
First off, performance limits are shared across the Next-gen GP instance, freeing you from having to manage database file sizes to optimize your performance (which is the case with the current SQL MI GP). The shared performance quotas are much easier to use, and this model is familiar to the existing SQL Server users (be it on-prem, in VMs, or in SQL MI BC).
In addition, Next-gen GP offers 2x the number of vCore choices making it more cost-effective to achieve the required resource levels for your workload.
Finally, Next-gen GP introduces the ability to further improve performance by requesting additional IOPS via the new IOPS slider. The following section will go into more details on IOPS slider.
Category |
Item |
Current GP |
Next-gen GP |
Improvement |
Resource flexibility |
Performance limits |
Separate limits for each file |
Shared limits |
Easier to use, familiar model |
Number of vCore sizes |
8 click stops |
16 click stops |
2x better |
|
Independent sizing of I/O performance and size |
N/A |
Slider for additional IOPS |
New option!! |
Further improve database performance with the IOPS slider
Next-gen GP allows you to provision additional IOPS on top of the baseline I/O performance provided by the service out of the box. The additional IOPS are provisioned via the new IOPS slider:
Here’s how the IOPS provisioning works in the Next-gen GP:
- To provide great performance out-of-the-box, each instance gets a certain amount of IOPS included by default, and these “included IOPS” are free of charge! Each instance gets 3 IOPS per GB of storage for free, with a minimum of 300 IOPS.
- Maximum amount of IOPS is limited by the amount of vCores configured for the instance. Max IOPS amount is 1600 IOPS per vCore, with a maximum of 80.000 IOPS.
Here’s how this could look in practice for our sample Next-Gen GP instance from the picture above (our instance is using 8 vCores of compute and 2400 GB of storage):
- Included (free) IOPS: 2400 GB of storage x (3 IOPS per GB) = 7200 IOPS included for free
- Maximum possible IOPS: 8 vCores x (1600 IOPS per vCore) = 12800 IOPS maximum
- This means we can use the IOPS slider to provision up to 5600 additional IOPS
Here’s a chart that illustrates the options for provisioned IOPS for an 8-vCore Next-gen GP instance, depending on instance storage size:
The additional IOPS improve the performance of our workload, but come with extra charge, which we’ll cover in the following section.
One final remark: changing the amount of additional IOPS for your instance is an online scaling operation, so you can leverage this to your advantage. Need some extra IO performance for the end-of-month processing, or for an occasional bulk-load of a large quantity of data? IOPS slider is your friend!
Next-gen GP pricing
The compute and storage pricing remains the same as with the current GP tier. Moreover, any Reserved Instance pricing deals you have purchased for the current GP service tier will automatically apply for the Next-gen GP as well. This means that with Next-gen GP you are getting significantly improved performance for the same price!
However, in case you’d like to provision additional IOPS for your instance using the IOPS slider, those additional IOPS will come with an extra cost of $0.038 per IOPS (East US prices, 3/21/2024)
Let’s push the IOPS to max for our new instance and examine the costs:
SQL MI GP pricing (East US prices, 3/21/2024) |
Current GP - IOPS depend on file sizes |
Next-gen GP (baseline) - 7200 included IOPS - no additional IOPS |
Next-gen GP (max IOPS) - 7200 included IOPS - 5600 additional IOPS |
Compute cost (8 vCores, license included, premium-series HW) |
$ 1611.64 |
$ 1611.64 |
$ 1611.64 |
Storage cost (2400 GB x $0.115/GB, 32 GB free of charge) |
$ 272.32 |
$ 272.32 |
$ 272.32 |
Additional IOPS cost (5600 IOPS x $0.038/IOPS) |
- |
- |
$ 212.80 |
TOTAL (per month) |
$ 1883.96 |
$ 1883.96 |
$ 2096.76 |
Here’s how these costs are represented in the “Estimated costs” panel in Azure Portal:
One final point: the billing for additional IOPS for Next-gen GP will start on 4/1/2024. There will be no charges for additional IOPS in the March of 2024.
What about the Business Critical service tier?
Business Critical (BC) service tier is an important part of the Azure SQL Managed Instance value prop, and it’s here to stay for the long term! We recently released a broad set of performance and scalability enhancements for the BC tier that make it even better suited for your most demanding and critical workloads.
This blog summarizes the recent BC enhancements, many of which are now made available to GP customers with the Next-gen GP tier.
Next-gen GP Availability
Next-gen GP requires the November 2022 Feature Wave (in short: FW) as a prerequisite.
FW is already available for all SQL MI instances created in new subnets. This means that you can try the Next-gen GP today if you have the flexibility to create a new subnet for your instance.
The rollout of FW across the existing fleet of SQL MI instances is well under way and is on track to be completed over the course of the next several months. So, if your instances have not yet received the FW update, they should receive it quickly, opening up the option to upgrade them to the Next-gen GP!
Summary
Next-gen GP brings a ton of exciting new innovation into Azure SQL Managed Instance, making sure it’s ready for more of your resource-intensive workloads. So try the Next-gen GP to maximize your performance and further improve your cost efficiency.
If you’re new to Azure SQL Managed Instance, get started today with our free offer – it gives you access to one instance that supports up to 100 databases for up to one year, making it a great way to test-drive out service.
To learn more about Azure SQL Managed Instance, visit our documentation and YouTube channel for more information.