Explanation
Why the waste happens and who it affects.
Dedicated clusters (M10 and above) bill per hour for each data-bearing node, and MongoDB's billing guidance says they start at about $60 per month. Flex clusters run on shared infrastructure, bill hourly in tiers based on operations per second, include 5 GB of storage and unlimited data transfer in the base price, and are capped at $30 per month. Every small database placed on a dedicated tier therefore pays at least the dedicated minimum, which is roughly double the most a Flex cluster can cost.
Small development, staging, demo, CI, proof-of-concept and internal-tool databases are often created on M10 or larger because it is the default in templates, or because they were cloned from production settings. MongoDB positions Flex for learning and non-production use cases, and dedicated clusters for more robust workloads that need guaranteed resources and advanced features. Flex has hard limits and missing features, so the move applies only to workloads that fit within them.
Billing model
The pricing dimensions that drive this cost.
- Dedicated cluster
- Per-hour tier rate for each data-bearing node; dedicated clusters start at about $60 per month per MongoDB's billing guidance
- Flex base
- $0.0110 per hour ($8 per 30 days) including 5 GB storage, 100 operations per second and unlimited data transfer
- Flex ops tiers
- Usage above 100 ops/sec is billed incrementally in 100 ops/sec steps up to 500 ops/sec
- Flex monthly cap
- Total Flex charges are capped at $30 per month
How to detect
4 checks to find it in your estate.
- List dedicated clusters, especially M10 to M30 in non-production projects, and check their data plus index size against the Flex limit of 5 GB total, measured as uncompressed BSON documents and indexes
- Check Opcounters and Connections metrics against Flex limits of 500 operations per second (reads and writes combined) and 500 concurrent connections, using peak rather than average values
- Confirm the workload does not depend on features Flex lacks: private endpoints, network peering, customer key management, database auditing, continuous backup and point-in-time restore, custom backup policies, sharding, analytics or search nodes, and Performance Advisor
- Rank candidates with Cost Explorer by cluster cost to find where the gap between the dedicated rate and the Flex cap adds up across many small clusters
How to fix
4 ways to remove the waste.
- Move qualifying non-production and small internal databases to Flex clusters, planning it as a migration to a new Flex cluster, for example with mongodump and mongorestore for application databases
- Verify compatibility first: Flex requires MongoDB 8.0 or later, is available in a subset of regions, takes a single daily snapshot, and restricts access to the admin, local and config databases
- Keep dedicated tiers where the workload exceeds Flex limits or needs dedicated-only features, and size those at the smallest dedicated tier that fits
- Change project templates and infrastructure-as-code defaults so new development and test databases start on Flex unless a dedicated requirement is documented
Documentation
Vendor references for pricing and configuration.