Microsoft gives you two purchasing models for your Azure SQL Databases (SQL DB), a DTU and a vCore-based model (logical CPUs). Both options allow you to scale up or down based on your computing and storage requirements. Regardless of which model you choose, performance tuning can save you money using SQL DB.
DTU (s) (Database Transaction Units) measure "a blended measure of CPU, memory, and data I/O and transaction log I/O” that Microsoft uses to help estimate which DTU-based Service Tier you should be using. By reducing your I/O, memory, or CPU consumption, you utilize fewer DTUs or cores and thus can step down the service tiers. Stepping down service tiers helps to save money.
It’s about reducing the number of resources you consume. Just like On-Prem databases, Azure databases need performance tuning. However, unlike most On-Prem environments Azure makes it easy to scale down SQL DB processing resources without any downtime. On top of that, it allows you to save thousands of dollars a month while doing it.
For instance, let’s take a common scenario we have all seen. Most environments have some type of ETL process that loads data into a database used for reporting. In most of these cases, this can be a resource-intensive process requiring a very high DTU service tier to accomplish this potentially periodic data load. What if you could scale your environment to a higher DTU service tier to meet this load demand and then scale it down when not needed? Imagine how much money you could save the company. In a recent talk with a friend of mine, he was able to implement such a process in such a way his company’s monthly Azure SQLDB bill went from $55k a month to $21k. That’s an astronomical saving (note this a very large environment). Here is a resource for scaling using a scheduled auto-scale.
If scaling down based on workload doesn’t fit your environment and you are still looking for ways to save money start index tuning. An easy place to start is looking at your heaviest I/O consumption queries, you can use the Azure SQL Database Query Performance Insights to help you identify these. Reducing the number of reads is the goal. The fewer reads you have, the lesser I/O and memory consumption you use, and the smaller the DTU service tier you need. If index tuning is not something you do well, Azure SQL Database includes an Automated Tuning option that you can enable and it will create indexes (and potentially remove newly created underutilized indexes) for you. Creating and managing your indexes is one of the simplest ways to reduce Azure-related costs and Microsoft has built-in tools to help. You’ll be surprised how quickly you can make an impact on your bottom line with Index tuning.
These are the most effective two ways you can save money on your monthly Azure bill.