Azure’s Cosmos DB is one of its best features. A multimodel distributed database, it gives you a foundation for building truly cloud-native applications with a series of consistency models that can be mapped to how your application works. But it’s not easy to get started, and a badly configured or designed application can quickly get expensive.
It’s good to see that Cosmos DB now has a free tier that can help you start deploying applications outside of a limited development environment. The new tier isn’t large: it’s based on the minimum configuration for Cosmos DB, and offers 400 RU/s (request units per second) and 5GB of storage, with as many as 25 containers in a shared throughput database. That’s more than enough for a small application which offers more reads than writes, for example, and isn’t reliant on strong consistency models.
You do need to be aware that although Cosmos DB is multiregion, you can only run a single 400 RU/s database in the free tier. In practice that limits you to a single region, as additional regions will each need their own 400 RU/s instance, and those will be charged at standard rates for those regions, per hour.
Getting started with the free Cosmos DB
You will need to create a new account to take advantage of the free tier; it’s not available as a billing option on existing applications. The free tier’s 400 RU/s is the smallest amount that can be provisioned in a Cosmos DB database. That gives you around 1 billion reads a month, which should be enough to get your application off the ground or allow you to deploy and run an internal distributed database as part pf a pilot project. Once you get to the edge of your free RU/s allowance, you can add more capacity in blocks of 100 RU/s, billed at an hourly rate.