In the first half of this article, we’ll present complete Microsoft Azure SQL Database pricing options in a tabular format – and we’ll explain the concepts behind the pricing along with administrative best practices in the second half.
Microsoft Azure SQL Database is offered as part of Microsoft Azure’s public cloud platform, and allows developers to utilize an intelligent and scalable relational database service. It conforms to all the characteristics of a genuine cloud service, one being that you only have to pay for what you use.
Azure SQL Pricing
Estimating Microsoft Azure SQL Database pricing can be challenging due to the multiple configurations available. For illustration, consider the following options to get an idea of how many permutations there are:
- 2 purchase models: DTU (Database Transaction Unit), vCore (Virtual Core)
- 3 deployment models: Single Database, Elastic Pool, Managed Instance
- 3 service tiers: General Purpose, Business Critical, Hyperscale
- 2 compute models: Provisioned, Serverless
- 4 hardware types: Gen 5, DC-Series, Fsv2-seres, M-Series
The number of choices available can be overwhelming at first. We recommend starting your cost optimization exercise by first starting with what your requirements are. Once you have a clear understanding of what you need, you can use the Azure SQL Database pricing page filter shown in the following image to narrow down the various options.
Azure SQL Database Single Database Pricing
DTU Pricing
Service Tier | Name | DTUs | Included Storage | Max Storage | Price per Hour |
---|---|---|---|---|---|
Basic | B | 5 | 2 GB | 2 GB | $0.0068/hour |
Standard | S0 | 10 | 250 GB | 250 GB | $0.0202/hour |
Standard | S1 | 20 | 250 GB | 250 GB | $0.0404/hour |
Standard | S2 | 50 | 250 GB | 250 GB | $0.1009/hour |
Standard | S3 | 100 | 250 GB | 1 TB | $0.2017/hour |
Standard | S4 | 200 | 250 GB | 1 TB | $0.4033/hour |
Standard | S6 | 400 | 250 GB | 1 TB | $0.8066/hour |
Standard | S7 | 800 | 250 GB | 1 TB | $1.6130/hour |
Standard | S9 | 1,600 | 250 GB | 1 TB | $3.2260/hour |
Standard | S12 | 3,000 | 250 GB | 1 TB | $6.0488/hour |
Premium | P1 | 125 | 500 GB | 1 TB | $0.6251/hour |
Premium | P2 | 250 | 500 GB | 1 TB | $1.2500/hour |
Premium | P4 | 500 | 500 GB | 1 TB | $2.5000/hour |
Premium | P6 | 1,000 | 500 GB | 1 TB | $5.0000/hour |
Premium | P11 | 1,750 | 4 TB | 4 TB | $9.4088/hour |
Premium | P15 | 4,000 | 4 TB | 4 TB | $21.5054/hour |
vCore Provisioned Compute Pricing
See the best multi-cloud management solution on the market, and when you book & attend your CloudBolt demo we’ll send you a $75 Amazon Gift Card.
Gen 5 Hardware Type
vCore | Memory | General PurposeLocally Redundant Cost per Hour | General PurposeZone Redundant Cost per Hour | Business Critical Cost per Hour | Hyperscale Cost per Hour |
---|---|---|---|---|---|
2 | 10.2 GB | $0.5044/hour | $0.6871/hour | $1.3589/hour | $0.5653/hour |
4 | 20.4 GB | $1.0088/hour | $1.3741/hour | $2.7178/hour | $1.1306/hour |
6 | 30.6 GB | $1.5131/hour | $2.0611/hour | $4.0767/hour | $1.6958/hour |
8 | 40.8 GB | $2.0175/hour | $2.7482/hour | $5.4355/hour | $2.2611/hour |
10 | 51.0 GB | $2.5219/hour | $3.4352/hour | $6.7944/hour | $2.8263/hour |
12 | 61.2 GB | $3.0262/hour | $4.1222/hour | $8.1533/hour | $3.3916/hour |
14 | 71.4 GB | $3.5306/hour | $4.8092/hour | $9.5121/hour | $3.9568/hour |
16 | 81.6 GB | $4.0350/hour | $5.4963/hour | $10.8710/hour | $4.5221/hour |
18 | 91.8 GB | $4.5393/hour | $6.1833/hour | $12.2299/hour | $5.0873/hour |
20 | 102.0 GB | $5.0437/hour | $6.8703/hour | $13.5887/hour | $5.6526/hour |
24 | 122.4 GB | $6.0524/hour | $8.2444/hour | $16.3065/hour | $6.7831/hour |
32 | 163.2 GB | $8.0699/hour | $7.7936/hour | $21.7420/hour | $9.0441/hour |
40 | 204.0 GB | $10.0874/hour | $13.7406/hour | $27.1774/hour | $11.3051/hour |
80 | 396.0 GB | $20.1747/hour | $27.4811/hour | $54.3548/hour | $22.6101/hour |
DC-series Hardware Type
vCore | Memory | General PurposeLocally Redundant Cost per Hour | General PurposeZone Redundant Cost per Hour | Business CriticalCost per Hour | HyperscaleCost per Hour |
---|---|---|---|---|---|
2 | 9 GB | $0.8830/hour | Not Available | $2.116/hour | $1.8400/hour |
4 | 18 GB | $1.7659/hour | Not Available | $4.233/hour | $6.9599/hour |
6 | 27 GB | $2.6498/hour | Not Available | $6.349/hour | $15.3598/hour |
8 | 36 GB | $3.5328/hour | Not Available | $8.466/hour | $27.0318/hour |
Fsv2-series Hardware Type
vCore | Memory | General PurposeLocally Redundant Cost per Hour | General PurposeZone Redundant Cost per Hour | Business CriticalCost per Hour | HyperscaleCost per Hour |
---|---|---|---|---|---|
8 | 15.1 GB | $1.8684/hour | Not Available | Not Available | Not Available |
10 | 18.9 GB | $2.3355/hour | Not Available | Not Available | Not Available |
12 | 22.7 GB | $2.8026/hour | Not Available | Not Available | Not Available |
14 | 26.5 GB | $3.2697/hour | Not Available | Not Available | Not Available |
16 | 30.2 GB | $3.7368/hour | Not Available | Not Available | Not Available |
18 | 34.0 GB | $4.2039/hour | Not Available | Not Available | Not Available |
20 | 37.8 GB | $4.6710/hour | Not Available | Not Available | Not Available |
24 | 45.4 GB | $5.6052/hour | Not Available | Not Available | Not Available |
32 | 60.5 GB | $7.4735/hour | Not Available | Not Available | Not Available |
36 | 68.0 GB | $8.4077/hour | Not Available | Not Available | Not Available |
72 | 136 GB | $16.8154/hour | Not Available | Not Available | Not Available |
M-series Hardware Type
vCore | Memory | General PurposeLocally Redundant Cost per Hour | General PurposeZone Redundant Cost per Hour | Business CriticalCost per Hour | HyperscaleCost per Hour |
---|---|---|---|---|---|
8 | 235.4 GB | Not Available | Not Available | $16.4303/hour | Not Available |
10 | 294.3 GB | Not Available | Not Available | $20.5379/hour | Not Available |
12 | 353.2 GB | Not Available | Not Available | $24.6454/hour | Not Available |
14 | 412.0 GB | Not Available | Not Available | $28.7530/hour | Not Available |
16 | 470.9 GB | Not Available | Not Available | $32.8605/hour | Not Available |
18 | 529.7 GB | Not Available | Not Available | $36.9681/hour | Not Available |
20 | 588.6 GB | Not Available | Not Available | $41.0757/hour | Not Available |
24 | 706.3 GB | Not Available | Not Available | $49.2908/hour | Not Available |
32 | 941.8 GB | Not Available | Not Available | $65.7210/hour | Not Available |
64 | 1.839 TB | Not Available | Not Available | $131.4420/hour | Not Available |
128 | 3.678 TB | Not Available | Not Available | $262.884/hour | Not Available |
vCore Serverless Compute Pricing
Minimum vCores | Maximum vCores | Minimum Memory | Maximum Memory | Price |
---|---|---|---|---|
0.5 | 40 | 2.02 GB | 120 GB | $0.0001450/vCore-second($0.5218/vCore-hour) |
Azure SQL Database Elastic Pool Pricing
DTU Pricing
Service Tier | eDTUs per Pool | Included Storage per Pool | Max Storage per Pool | Max no. of Database per Pool | Max eDTUs per Database | Price per Hour |
---|---|---|---|---|---|---|
Basic | 50 | 5 GB | 5 GB | 100 | 5 | $0.1009/hour |
Basic | 100 | 10 GB | 10 GB | 200 | 5 | $0.2017/hour |
Basic | 200 | 20 GB | 20 GB | 500 | 5 | $0.4034/hour |
Basic | 300 | 29 GB | 29 GB | 500 | 5 | $0.6051/hour |
Basic | 400 | 39 GB | 39 GB | 500 | 5 | $0.8067/hour |
Basic | 800 | 78 GB | 78 GB | 500 | 5 | $1.6134/hour |
Basic | 1,200 | 117 GB | 117 GB | 500 | 5 | $2.4200/hour |
Basic | 1,600 | 156 GB | 156 GB | 500 | 5 | $3.2267/hour |
Standard | 50 | 50 GB | 500 GB | 100 | 50 | $0.1511/hour |
Standard | 100 | 100 GB | 750 GB | 200 | 100 | $0.3021/hour |
Standard | 200 | 200 GB | 1 TB | 500 | 200 | $0.6042/hour |
Standard | 300 | 300 GB | 1.25 TB | 500 | 300 | $0.9063/hour |
Standard | 400 | 400 GB | 1.5 TB | 500 | 400 | $1.2084/hour |
Standard | 800 | 800 GB | 2 TB | 500 | 800 | $2.4167/hour |
Standard | 1,200 | 1.17 TB | 2.5 TB | 500 | 1,200 | $3.6250/hour |
Standard | 1,600 | 1.56 TB | 3 TB | 500 | 1,600 | $4.8334/hour |
Standard | 2,000 | 1.95 TB | 3.5 TB | 500 | 2,000 | $6.0417/hour |
Standard | 2,500 | 2.44 TB | 4 TB | 500 | 2,500 | $7.5521/hour |
Standard | 3,000 | 2.93 TB | 4 TB | 500 | 3,000 | $9.0626/hour |
Premium | 125 | 250 GB | 1 TB | 50 | 125 | $0.9376/hour |
Premium | 250 | 500 GB | 1 TB | 100 | 250 | $1.8750/hour |
Premium | 500 | 750 GB | 1 TB | 100 | 500 | $3.7500/hour |
Premium | 1,000 | 1 TB | 1 TB | 100 | 1,000 | $7.5001/hour |
Premium | 1,500 | 1.5 TB | 1.5 TB | 100 | 1,000 | $11.2500/hour |
Premium | 2,000 | 2 TB | 2 TB | 100 | 1,750 | $15.0000/hour |
Premium | 2,500 | 2.5 TB | 2.5 TB | 100 | 1,750 | $18.7500/hour |
Premium | 3,000 | 3 TB | 3 TB | 100 | 1,750 | $22.5000/hour |
Premium | 3,500 | 3.5 TB | 3.5 TB | 100 | 1,750 | $26.2500/hour |
Premium | 4,000 | 4 TB | 4 TB | 100 | 4,000 | $30.0000/hour |
vCore Provisioned Compute Pricing
Gen 5 Hardware Type
vCore | Memory | General PurposeMax no. of Databases per Pool | Business Critical Max no. of Databases per Pool | General PurposeLocally Redundant Cost per Hour | General PurposeZone Redundant Cost per Hour | Business Critical Cost per Hour |
---|---|---|---|---|---|---|
2 | 10.2 GB | 100 | Not Available | $0.5044/hour | $0.6871/hour | Not Available |
4 | 20.4 GB | 200 | 50 | $1.0088/hour | $1.3741/hour | $2.7178/hour |
6 | 30.6 GB | 500 | 100 | $1.5131/hour | $2.0611/hour | $4.0767/hour |
8 | 40.8 GB | 500 | 100 | $2.0175/hour | $2.7482/hour | $5.4355/hour |
10 | 51.0 GB | 500 | 100 | $2.5219/hour | $3.4352/hour | $6.7944/hour |
12 | 61.2 GB | 500 | 100 | $3.0262/hour | $4.1222/hour | $8.1533/hour |
14 | 71.4 GB | 500 | 100 | $3.5306/hour | $4.8092/hour | $9.5121/hour |
16 | 81.6 GB | 500 | 100 | $4.0350/hour | $5.4963/hour | $10.8710/hour |
18 | 91.8 GB | 500 | 100 | $4.5393/hour | $6.1833/hour | $12.2299/hour |
20 | 102.0 GB | 500 | 100 | $5.0437/hour | $6.8703/hour | $13.5887/hour |
24 | 122.4 GB | 500 | 100 | $6.0524/hour | $8.2444/hour | $16.3065/hour |
32 | 163.2 GB | 500 | 100 | $8.0699/hour | $10.9925/hour | $21.7420/hour |
40 | 204.0 GB | 500 | 100 | $10.0874/hour | $13.7406/hour | $27.1774/hour |
80 | 396.0 GB | 500 | 100 | $20.1747/hour | $27.4811/hour | $54.3548/hour |
DC-series Hardware Type
vCore | Memory | General PurposeLocally Redundant Cost per Hour | General PurposeZone Redundant Cost per Hour | Business CriticalCost per Hour |
---|---|---|---|---|
2 | 9 GB | $0.8830/hour | Not Available | $2.116/hour |
4 | 18 GB | $1.7659/hour | Not Available | $4.233/hour |
6 | 27 GB | $3.3328/hour | Not Available | $6.349/hour |
8 | 36 GB | $2.8498/hour | Not Available | $8.466/hour |
Fsv2-series Hardware Type
vCore | Memory | General PurposeLocally Redundant Cost per Hour | General PurposeZone Redundant Cost per Hour | Business CriticalCost per Hour |
---|---|---|---|---|
8 | 15.1 GB | $1.8684/hour | Not Available | Not Available |
10 | 18.9 GB | $2.3355/hour | Not Available | Not Available |
12 | 22.7 GB | $2.8026/hour | Not Available | Not Available |
14 | 26.5 GB | $3.2697/hour | Not Available | Not Available |
16 | 30.2 GB | $3.7368/hour | Not Available | Not Available |
18 | 34.0 GB | $4.2039/hour | Not Available | Not Available |
20 | 37.8 GB | $4.6710/hour | Not Available | Not Available |
24 | 45.4 GB | $5.6052/hour | Not Available | Not Available |
32 | 60.5 GB | $7.4735/hour | Not Available | Not Available |
36 | 68.0 GB | $8.4077/hour | Not Available | Not Available |
72 | 136 GB | $16.8154/hour | Not Available | Not Available |
M-series Hardware Type
vCore | Memory | Business Critical Max no. of Databases per Pool | General PurposeLocally Redundant Cost per Hour | General PurposeZone Redundant Cost per Hour | Business CriticalCost per Hour |
---|---|---|---|---|---|
8 | 235.4 GB | 100 | Not Available | Not Available | $16.4303/hour |
10 | 294.3 GB | 100 | Not Available | Not Available | $20.5379/hour |
12 | 353.2 GB | 100 | Not Available | Not Available | $24.6454/hour |
14 | 412.0 GB | 100 | Not Available | Not Available | $28.7530/hour |
16 | 470.9 GB | 100 | Not Available | Not Available | $32.8605/hour |
18 | 529.7 GB | 100 | Not Available | Not Available | $36.9681/hour |
20 | 588.6 GB | 100 | Not Available | Not Available | $41.0757/hour |
24 | 706.3 GB | 100 | Not Available | Not Available | $49.2908/hour |
32 | 941.8 GB | 100 | Not Available | Not Available | $65.7210/hour |
64 | 1.839 TB | 100 | Not Available | Not Available | $131.4420/hour |
128 | 3.678 TB | 100 | Not Available | Not Available | $262.884/hour |
Azure SQL Database Managed Instance Pricing
vCore Pricing – Single Instance
Gen 5 Hardware Type
vCore | Memory | Included Storage | Price per Hour |
---|---|---|---|
4 | 20.4 GB | First 32 GB per month | $1.01/hour |
8 | 40.8 GB | First 32 GB per month | $2.02/hour |
16 | 81.6 GB | First 32 GB per month | $4.04/hour |
24 | 122.4 GB | First 32 GB per month | $6.06/hour |
32 | 163.2 GB | First 32 GB per month | $8.07/hour |
40 | 204.0 GB | First 32 GB per month | $10.09/hour |
64 | 326.4 GB | First 32 GB per month | $16.14/hour |
80 | 396.0 GB | First 32 GB per month | $20.18/hour |
vCore Pricing – Instance Pools
Gen 5 Hardware Type
vCore | Memory | Included Storage | Price per Hour |
---|---|---|---|
8 | 40.8 GB | First 32 GB per instance per month | $2.02/hour |
16 | 81.6 GB | First 32 GB per instance per month | $4.04/hour |
24 | 122.4 GB | First 32 GB per instance per month | $6.06/hour |
32 | 163.2 GB | First 32 GB per instance per month | $8.07/hour |
40 | 204.0 GB | First 32 GB per instance per month | $10.09/hour |
64 | 326.4 GB | First 32 GB per instance per month | $16.14/hour |
80 | 396.0 GB | First 32 GB per instance per month | $20.18/hour |
Microsoft Azure SQL Database Pricing Concepts
Selecting the correct Microsoft Azure SQL Database pricing model for your solution can be challenging. With so many options and variations available, choosing the right combination of deployment model, purchase model, compute tier, service tier, and hardware type is complicated. However, understanding what each of these components offers can help you determine your solution’s best configuration.
Azure SQL Deployment Models
If you want to leverage Microsoft Azure SQL Database as your database solution, you can choose between three deployment models.
- Single Database: The single database resource type creates a database with its own set of resources that you manage via a server.
- Elastic Pool: The elastic pool deployment model offers auto-scaling of database resources (either vCore or DTU) that are shared among multiple databases. Administrators set a minimum and maximum for the entire pool according to their budget, and also set a minimum and maximum for resource usage for each database, and then simply pay by the hour of total usage.
- Managed Instance: The Azure SQL Managed Instance deployment model offers the best compatibility benefits and licensing flexibility designed to incentivize migration from on-premise environments. A fully-featured SQL solution running on an Azure VM is compatible with the latest on-prem SQL Server Enterprise Edition, and offers automatic patching, backups, and high availability.
Platform
|
Multi Cloud Integrations
|
Cost Management
|
Security & Compliance
|
Provisioning Automation
|
Automated Discovery
|
Infrastructure Testing
|
Collaborative Exchange
|
---|---|---|---|---|---|---|---|
CloudHealth
|
âś”
|
âś”
|
âś”
|
||||
Morpheus
|
âś”
|
âś”
|
âś”
|
||||
CloudBolt
|
âś”
|
âś”
|
âś”
|
âś”
|
âś”
|
âś”
|
âś”
|
Azure SQL Purchase Models
Azure SQL Database offers two purchase models for the Single Database and Elastic Pool deployment options: Database Transaction Unit (DTU) and vCore. The Managed Instance deployment model does not have DTU as an option and only offers vCore.
The difference between the two models are the resources provisioned.
- DTU: bundles compute and storage resources. A DTU represents a composite measure of CPU, memory, reads, and writes.
- vCore: allows you to provide an exact amount of computing resources via the provisioned compute model.
Azure SQL Compute Tiers
If you choose to leverage the vCore purchase model for the Single Database deployment option, you can opt for Provisioned or Serverless. Note that these compute tiers are only available for this deployment model. The Elastic Pool and Managed Instance deployment models only offer a provisioned solution. The table below outlines the recommended usage, scaling, and billing scenarios for each tier.
Provisioned | Serverless | |
---|---|---|
Usage Scenario | Regular usage patterns with higher compute utilization over time. | Irregular, unpredictable usage patterns with lower average compute utilization over time. |
Scaling | Manual (Managed by Customer) | Automatic (Managed by Azure) |
Billing | Per hour | Per second |
Azure SQL Service Tiers
vCore Service Tiers
Microsoft Azure SQL Database offers three service tiers under its vCore purchase model: General Purpose, Business Critical, and Hyperscale. However, depending on the deployment you select, not every option is available. The table below correlates the availability of each service tier with the relevant deployment model.
Single Database | Elastic Pool | Managed Instance | |
---|---|---|---|
General Purpose | Available | Available | Available |
Business Critical | Available | Available | Available |
Hyperscale | Available | Not Available | Not Available |
Each tier offers various performance and SLA guarantees. The option you choose depends on your business requirements. As with every other Azure service, the higher the performance and SLA, the higher the cost.
- General Purpose: This tier is the default selection for Single Database and Managed Instance. It offers a fully managed database engine with a 99.99% SLA and storage latency between 5 ms and 10 ms.
- Business Critical: This tier offers better performance than the General Purpose option. It has an SLA of 99.995% and storage latency of between 1ms and 2ms.
- Hyperscale: The Hyperscale tier leverages highly scalable storage and compute performance. It offers support for databases of 100TB in size, much faster backups and restores, faster log throughput and transaction commit times, and rapid scale-up and scale-out.
DTU Service Tiers
The Single Instance and Elastic Pool deployment models offer a DTU purchase model in addition to vCore. As with the vCore option, the DTU alternative offers three service tiers: Basic, Standard, and Premium. As mentioned previously, a DTU is a blended measure of CPU, memory, reads, and writes. The following table from Microsoft details the features of each DTU service tier.
Basic | Standard | Premium | |
---|---|---|---|
Target workload | Development and Production | Development and Production | Development and Production |
Uptime SLA | 99.99% | 99.99% | 99.99% |
CPU | Low | Low, Medium, High | Medium, High |
Maximum Backup Retention | 7 days | 35 days | 35 days |
IOPS (approximate) | 1 to 4 IOPS per DTU | 1 to 4 IOPS per DTU | 25 IOPS per DTU |
IO latency (approximate) | 5 ms read, 10 ms write | 5 ms read, 10 ms write | 2 ms read and write |
Columnstore indexing | Not Available | S3 and above | Supported |
In-memory OLTP | Not Available | Not Available | Supported |
Azure SQL Hardware Types
All three Azure SQL deployment options offer a vCore purchase model. As with the service tiers, you can also select the hardware that will host your Azure SQL database solution. There are four hardware types. However, the options available depend on the service tier and deployment model selected.
- Gen 5: The Gen 5 hardware type provides a balance between compute and memory resources. It is suitable for most data workloads that do not require higher memory or CPU.
- Fsv2-series: The Fsv2-series is compute-optimized. It delivers lower CPU latency and higher clock speeds. This hardware type is ideal for compute-intensive data workloads.
- M-series: The M-series is memory-optimized. It offers 29 GB per vCore, increasing the memory limit relative to a Gen 5 by a factor of eight.
- DC-series: The DC-series is ideal for secure workloads. It uses Intel processors with Software Guard Extension technology. Like Gen 5, it offers a balance between compute and memory.
Azure SQL Cost Optimization
As with all Azure services, optimizing your Microsoft Azure SQL Database can help you increase efficiency while reducing cost. Azure offers several pricing and configuration options that ensure you get the most resources for every dollar spent.
Pricing Options
When configuring your Azure SQL Database solution, Microsoft offers various pricing options. These include Reserved Capacity and the Azure Hybrid Benefit.
Reserved Capacity
Azure Reserved Capacity can reduce the compute cost of your Azure SQL significantly. However, this cost-saving feature is only available for the vCore Gen 5 options. Savings can range from 16% to 33%, depending on the service tier and Reserved Capacity commitment length. For example, on a vCore Gen 5 General Purpose configuration, a one-year commitment can save you 21% and a three-year commitment 33%. If you upgrade your service tier to Business Critical, the savings are 16% for one-year and 25% for a three-year commitment.
Azure Hybrid Benefit
The Azure Hybrid Benefit is another cost-saving option that can reduce your Azure SQL costs. By leveraging the licensing from an Enterprise Agreement’s Software Assurance, you can realize savings of up to 55% depending on the hardware type and service tier. Azure Hybrid Benefit discounts are available for all vCore hardware types. However, this discount is not an option if you select the DTU purchasing model.
Configuration Options
Besides the various direct cost-saving options, you can also optimize your Azure SQL solution by configuring it efficiently. Using the correct combination of deployment model, purchase model, compute tier, service tier, and hardware type can provide you with the performance you need and deliver it and the lowest possible cost.
Deployment Options
If your solution does not need a dedicated Azure SQL server, then opting for the Elastic Pool deployment model is a better cost option. As you are only paying for the resources you use, this option is highly cost-effective for intermittent or ad hoc data workloads.
Service Tier Options
Both the DTU and vCore purchase models offer various service tiers. Each tier offers different performance and cost features, with the premium or business-critical ones being the most expensive. Selecting the tier that best matches your business requirements is vital. For example, choosing the business-critical or premium tier for a dev/test environment is far from the ideal SQL optimization scenario.
Compute Tier Options
The vCore purchase model allows you to select either a provisioned or serverless compute tier. If your Azure SQL Database workload has irregular, unpredictable usage patterns with lower average compute utilization over time, then this option can also deliver significant cost savings. As you only pay for the resources you use, and billing is per second instead of per hour, selecting the serverless compute option increases the efficiency of your Azure SQL spend.
Hardware Types
The vCore purchase model offers four different hardware types. Depending on the option you choose, prices can vary significantly. For example, the FsV2-series and M-series are not as cost-effective as the Gen 5.
In addition to selecting the correct hardware type, choosing the vCore option that best matches your requirement can also reduce your Azure spend. For example, opting for an 8 vCore solution when your needs do not exceed 6 cores and 30 GB is an inefficient use of resources.
Storage
Storage is often one of the more significant portions of a subscription’s Azure spend. As this component makes up a considerable part of any Azure SQL solution, optimizing the storage you utilize is vital in containing costs. Good database hygiene, such as archiving off older data and storing it on more cost-effective alternatives, should form part of any Azure SQL optimization exercise.
Best Practices for Administering Azure SQL
Ongoing operational management and maintenance of your Azure SQL environment are vital in ensuring its efficiency and security. Unlike traditional SQL Server deployments that require maintenance tasks that include regular log shrinking, Azure SQL is a Platform as a Service (PaaS), which means Microsoft takes care of the traditional infrastructure tasks for you. However, you should apply a few configuration settings to secure and monitor your Azure SQL solution.
Security
Azure SQL security controls have two major functions: protecting data and controlling access.
Protecting Data with Encryption
Microsoft recommends that you encrypt data on Azure while it is in transit and at rest. You should leverage Transport Layer Security (TLS) while data is moving across networks. If you are using a client to connect to your Azure SQL instance, Tabular Data Stream over TLS is another requirement.
While data is at rest, leveraging Transparent Data Encryption secures it from malicious offline activity. This technology is enabled by default. However, existing Azure SQL databases created before May 2017 and SQL databases created through restore, geo-replication, and database copy are not. Databases residing on a Managed Instance deployment model are also encrypted by default. However, this encryption only applies to databases created after February 2019.
Control Access
Leveraging the principle of least privilege, you should limit direct access to Azure SQL data. Only services and individuals that need to query the information directly should be given the relevant authorization. Microsoft recommends implementing Multi-Factor Authentication where possible and limiting the use of password-based authentication for applications.
Monitoring
Azure offers several monitoring tools you can use to monitor your Microsoft Azure SQL Database’s efficiency and performance. The option to utilize depends on the metric you need to track. The list below highlights the features of each one.
- Azure Portal: Navigating to the Resources tab on the Overview Blade can give you insight into CPU, memory, and network performance.
- Azure SQL Analytics: This tool that runs with Azure Monitor helps you track all your Azure SQL databases’ performance across multiple subscriptions. It provides you with a single view collecting and visualizing key performance metrics.
- Activity Logs: This feature also runs on Azure Monitor and provides insight into subscription-level events such as adding, creating, or deleting a database.
- Azure Security Center: This Azure resource provides a centralized security view of all your Azure resources. It assesses your environment and its configuration and provides recommended actions to remediate any security vulnerabilities. It also raises security-related alerts when it detects an anomaly or when certain activities exceed a particular threshold.
Related Blogs
The New FinOps Paradigm: Maximizing Cloud ROI
Featuring guest presenter Tracy Woo, Principal Analyst at Forrester Research In a world where 98% of enterprises are embracing FinOps,…
FinOps X Europe 2024 Recap
Join Kyle Campos (CTO), and Ryan Wrenn (VP of AI/ML), as they recap what they saw and heard and FinOps…