When you use Azure Cosmos DB in provisioned throughput mode, most of your costs usually come from the throughput that is provisioned on your databases and containers. It can be challenging to keep track of the total amount of throughput that you have provisioned across your account, especially when you’re getting started with Azure Cosmos DB. This can lead to unexpected charges when this amount ends up going over a certain budget that you didn’t expect to exceed. To help customers better manage and control their budgets, a new provisioned throughput spending limit feature was announced at Microsoft Ignite and is now generally available.
Setting a throughput budget on your Azure Cosmos DB account
To help you better control your costs, we’re excited to announce that you can now limit the total throughput provisioned across your Azure Cosmos DB account. Once you’ve set this limit, any configuration change that would result in exceeding the limit is blocked.
The easiest way to understand how this works is to take a simple example: Imagine that you’ve set a total throughput limit of 1,000 RU/s and you currently have 2 containers, each provisioned at 400 RU/s. Your total throughput is 400 + 400 = 800 RU/s, so all is well. Now let’s see what would happen in the following situations:
- You try to increase one of the container’s throughput to 600 RU/s. Your total throughput would become 400 + 600 = 1,000 RU/s, which is still under the limit, so this will work.
- You try to create a third container at 400 RU/s. Your total throughput would become 400 + 400 + 400 = 1,200 RU/s, which exceeds the limit, so this operation will be blocked.
- You try to add a second Azure region to your account. Your total throughput would become (400 + 400) x 2 = 1,600 RU/s, which again exceeds the limit, so this operation will be blocked as well.
Keeping the free tier always free
When free tier is enabled on an Azure Cosmos DB account, you get the first 1,000 RU/s and 25 GB of storage for free. Until now, you didn’t have a way to enforce a hard limit on the total throughput that is provisioned across your account. Because of that, some of our users ended up seeing charges for their free tier account when they mistakenly created too many containers or provisioned too much throughput. By setting the new total throughput limit to 1,000 RU/s, free tier users are now assured that they’ll never have to pay for throughput.
Getting started
You can now enable the total throughput limit from the Azure portal. When creating a new account, simply check this option to enable a default limit of 4,000 RU/s:
You can also update or disable the limit on an existing account by going to the new “Cost management” section of the Azure Cosmos DB portal blade:
Learn all about the new total throughput limit at aka.ms/cosmos-tp-limit.
About Azure Cosmos DB
Azure Cosmos DB is a fully managed NoSQL database service for modern app development. Get guaranteed single-digit millisecond response times and 99.999-percent availability, backed by SLAs, automatic and instant scalability, and open-source APIs for MongoDB and Cassandra. Get started free using Azure Cosmos DB free tier or an Azure free account.
0 comments