Pricing Granularity per Minute instead of per Hour
It is buried in the FAQ;s on the pricing page. The current billing structure will take the largest RU offer in a given hour increment and that's what is charged for that hour. If you scale up to 1000RU's at 10:59 and down to 400 at 11:01, the billing for both hours will be @ 1000RU's. This makes scaling up and down harder to deal with and reason about. Can you evaluate changing the billing granularity down to the minute level in order to allow shorter bursts of scale up / down billed for the actual usage.
We’ve recently announced a serverless model for Azure Cosmos DB – which we believe addresses use-cases with sparse but spiky throughput. Serverless enables billing based on a per consumed request unit basis – which goes 1 step further than managing provisioned throughput at a per minute granularity.
We will continue to support the provisioned throughput model (along with autoscale) for use-cases that have high throughput utilization and/or require stronger guarantees w.r.t. availability and performance characteristics.
For more information – please see: https://devblogs.microsoft.com/cosmosdb/serverless-preview/
If an API on average uses 10 RU/s, then I can only support 40 concurrent users for $23.36 per month (= 400 RU/s for the minimum allocation). This doesn't sound right to me. I find several other databases a lot cheaper and I can support a lot more concurrent users.
You make it clear in your documentation that serverless is not for mission critical workloads. Please don't suggest serverless while its use case fits in a niche. Cosmos DB must be an embarrassment to Microsoft. Still expensive as **** and still confusing.
Yohan S. commented
Serverless is limited in RU consumption. It cannot be higher than 5000Ru which is a blocking point for PROD usage. Automatic scaling with more granularity on billing could be a viable solution : per minute could be better, or per secomd if you can.
1. Pricing Granularity per Minute instead of per Hour
2. GROUP BY is a MUST!!!
there are my two top reasons I am not using CosmosDB
Oliver Tomlinson commented
Cosmos Team, This needs rethinking! Per hour billing is pretty poor for this kind of real-time scalable technology.
For Example, Using Azure Functions on a consumption plan doesn't bill to the hour, it bills to whats consumed. Why should Cosmos be different and bill for what is not consumed?!
Given that you have buried the notice in the pricing FAQ it also looks like you are being intentionally sneaky about this.
I agree with Sam, per minute billing should be in place at the very least.