CostLensOver-Provisioned Cosmos DB (Azure)

Over-Provisioned Cosmos DB (Azure)

CostLens flags Cosmos DB accounts consuming a small fraction of their manually-provisioned RU/s, so you can switch to autoscale or lower the throughput.

Updated July 20261 min read

CostLens flags over-provisioned Cosmos DB accounts — accounts consuming a small fraction of their manually-provisioned RU/s. Manual throughput bills the full RU/s continuously, so an account running well under capacity is overpaying.

How it works

Accounts are enumerated

CostLens lists Cosmos DB accounts via the Azure Resource Manager API.

Consumption is measured

The NormalizedRUConsumption metric is read over 14 days. Accounts averaging under 30% are candidates.

Savings are estimated

CostLens sums the manually-provisioned RU/s across the account's databases and prices the idle fraction (× a conservative realizable factor for autoscale floors and bursts).

What to do

  1. Switch the database/container to autoscale — Cosmos automatically scales RU/s between a floor and your max based on load.
  2. Or lower the manual RU/s to match the observed steady-state, keeping headroom for peaks.

Severity levels

SeverityEstimated monthly savings
critical>$500
high$100–$500
medium$20–$100
low<$20

Required permissions

  • Detect: Reader (account metadata + throughput settings + Monitor metrics) — see Azure Accounts.

Limitations

  • Only accounts with manual provisioned throughput are flagged (autoscale already optimizes).
  • The estimate is a ranking signal — the exact RU rate depends on region, multi-region writes, and reserved capacity.
CostLens
Previous
Oversized SQL Storage
CostLens
Next
Idle Private Endpoint