<!-- llms-explorer concept facts · https://llms-explorer.com/tree/mongodb-atlas-flex-and-serverless-tiers/ · pack 2026-09-08 · ~4051 tokens -->

# MongoDB Atlas Flex and Serverless Tiers

> MongoDB Atlas Flex tier (GA: February 6, 2025) is the successor to both the shared tier (M2/M5) and the serverless tier. As of January 22, 2026, M2/M5 clusters and Serverless instances are end-of-life

Parent: [MongoDB Atlas](https://llms-explorer.com/tree/mongodb-atlas/) · 16 facets · 68 facts · page: https://llms-explorer.com/tree/mongodb-atlas-flex-and-serverless-tiers/

## Overview

- MongoDB Atlas Flex tier (GA: February 6, 2025) is the successor to both the shared tier (M2/M5) and the serverless tier. As of January 22, 2026, M2/M5 clusters and Serverless instances are end-of-life and no longer supported - all existing instances were automatically migrated. Flex is now the entry-level paid cluster in Atlas. — [source](https://llms-explorer.com/sources/mdb-context-hub/mongodb-atlas-flex-serverless/#overview)

## Flex Pricing Model

- Ops-per-second tiered hourly model capped monthly - no per-document billing: — [source](https://llms-explorer.com/sources/mdb-context-hub/mongodb-atlas-flex-serverless/#flex-pricing-model)
  - Base: 100 ops/sec + 5 GB storage → $8/month — [source](https://llms-explorer.com/sources/mdb-context-hub/mongodb-atlas-flex-serverless/#flex-pricing-model)
  - 200 ops/sec → $15/month — [source](https://llms-explorer.com/sources/mdb-context-hub/mongodb-atlas-flex-serverless/#flex-pricing-model)
  - 300 ops/sec → $21/month — [source](https://llms-explorer.com/sources/mdb-context-hub/mongodb-atlas-flex-serverless/#flex-pricing-model)
  - 400 ops/sec → $26/month — [source](https://llms-explorer.com/sources/mdb-context-hub/mongodb-atlas-flex-serverless/#flex-pricing-model)
  - 500 ops/sec → $30/month (hard cap - no runaway billing) — [source](https://llms-explorer.com/sources/mdb-context-hub/mongodb-atlas-flex-serverless/#flex-pricing-model)
- Billed hourly, prorated. Burst to 500 ops/sec for 1 hour does not cost $30. — [source](https://llms-explorer.com/sources/mdb-context-hub/mongodb-atlas-flex-serverless/#flex-pricing-model)
- Key differences from Serverless: Fixed-price cap (no unbounded billing), no cold starts, always warm. — [source](https://llms-explorer.com/sources/mdb-context-hub/mongodb-atlas-flex-serverless/#flex-pricing-model)

## Unsupported Features on Flex

- Private Endpoints (AWS PrivateLink, Azure Private Link, GCP PSC) — [source](https://llms-explorer.com/sources/mdb-context-hub/mongodb-atlas-flex-serverless/#unsupported-features-on-flex)
- Continuous Backup / PITR (daily snapshot only) — [source](https://llms-explorer.com/sources/mdb-context-hub/mongodb-atlas-flex-serverless/#unsupported-features-on-flex)
- Customer Key Management (BYOK) — [source](https://llms-explorer.com/sources/mdb-context-hub/mongodb-atlas-flex-serverless/#unsupported-features-on-flex)
- Performance Advisor, Real-Time Performance Panel, Auto-indexing — [source](https://llms-explorer.com/sources/mdb-context-hub/mongodb-atlas-flex-serverless/#unsupported-features-on-flex)
- allowDiskUse for aggregations — [source](https://llms-explorer.com/sources/mdb-context-hub/mongodb-atlas-flex-serverless/#unsupported-features-on-flex)
- $where, mapReduce (no server-side JavaScript) — [source](https://llms-explorer.com/sources/mdb-context-hub/mongodb-atlas-flex-serverless/#unsupported-features-on-flex)
- Sharded clusters (replica sets only) — [source](https://llms-explorer.com/sources/mdb-context-hub/mongodb-atlas-flex-serverless/#unsupported-features-on-flex)

## Supported Features on Flex (Added vs. old M2/M5)

  - Atlas Search (full-text Lucene) — [source](https://llms-explorer.com/sources/mdb-context-hub/mongodb-atlas-flex-serverless/#supported-features-on-flex-added-vs-old-m2m5)
  - Atlas Vector Search (HNSW - with resource contention caveat) — [source](https://llms-explorer.com/sources/mdb-context-hub/mongodb-atlas-flex-serverless/#supported-features-on-flex-added-vs-old-m2m5)
  - Atlas Triggers and App Services — [source](https://llms-explorer.com/sources/mdb-context-hub/mongodb-atlas-flex-serverless/#supported-features-on-flex-added-vs-old-m2m5)
  - Full driver compatibility — [source](https://llms-explorer.com/sources/mdb-context-hub/mongodb-atlas-flex-serverless/#supported-features-on-flex-added-vs-old-m2m5)
- Vector Search caveat: mongod and mongot share the same node on Flex. Resource contention causes higher query latency. Upgrade to M10+ with dedicated Search Nodes before production. — [source](https://llms-explorer.com/sources/mdb-context-hub/mongodb-atlas-flex-serverless/#supported-features-on-flex-added-vs-old-m2m5)

## Flex vs. Dedicated Decision Matrix

- Stay on Flex if ALL true: — [source](https://llms-explorer.com/sources/mdb-context-hub/mongodb-atlas-flex-serverless/#flex-vs-dedicated-decision-matrix)
  - Peak throughput < 500 ops/sec — [source](https://llms-explorer.com/sources/mdb-context-hub/mongodb-atlas-flex-serverless/#flex-vs-dedicated-decision-matrix)
  - No private networking requirement — [source](https://llms-explorer.com/sources/mdb-context-hub/mongodb-atlas-flex-serverless/#flex-vs-dedicated-decision-matrix)
  - No PITR backup requirement — [source](https://llms-explorer.com/sources/mdb-context-hub/mongodb-atlas-flex-serverless/#flex-vs-dedicated-decision-matrix)
  - No BYOK encryption requirement — [source](https://llms-explorer.com/sources/mdb-context-hub/mongodb-atlas-flex-serverless/#flex-vs-dedicated-decision-matrix)
  - Development, staging, prototype, or low-traffic production — [source](https://llms-explorer.com/sources/mdb-context-hub/mongodb-atlas-flex-serverless/#flex-vs-dedicated-decision-matrix)
- Move to Dedicated (M10+) when ANY trigger: — [source](https://llms-explorer.com/sources/mdb-context-hub/mongodb-atlas-flex-serverless/#flex-vs-dedicated-decision-matrix)
  - Approaching 500 ops/sec consistently — [source](https://llms-explorer.com/sources/mdb-context-hub/mongodb-atlas-flex-serverless/#flex-vs-dedicated-decision-matrix)
  - Need private endpoints or VPC peering — [source](https://llms-explorer.com/sources/mdb-context-hub/mongodb-atlas-flex-serverless/#flex-vs-dedicated-decision-matrix)
  - Need PITR (compliance requirement) — [source](https://llms-explorer.com/sources/mdb-context-hub/mongodb-atlas-flex-serverless/#flex-vs-dedicated-decision-matrix)
  - Need BYOK encryption at rest — [source](https://llms-explorer.com/sources/mdb-context-hub/mongodb-atlas-flex-serverless/#flex-vs-dedicated-decision-matrix)
  - Atlas Vector Search going to production — [source](https://llms-explorer.com/sources/mdb-context-hub/mongodb-atlas-flex-serverless/#flex-vs-dedicated-decision-matrix)
  - SLA requires predictable low-latency — [source](https://llms-explorer.com/sources/mdb-context-hub/mongodb-atlas-flex-serverless/#flex-vs-dedicated-decision-matrix)
  - Need > 500 concurrent connections — [source](https://llms-explorer.com/sources/mdb-context-hub/mongodb-atlas-flex-serverless/#flex-vs-dedicated-decision-matrix)
  - Need custom MongoDB version pinning — [source](https://llms-explorer.com/sources/mdb-context-hub/mongodb-atlas-flex-serverless/#flex-vs-dedicated-decision-matrix)
- Cost break-even: Flex max = $30/mo; M10 = ~$57/mo. For light workloads (<100 ops/sec, <1 GB): Flex saves 85%+ vs. M10. — [source](https://llms-explorer.com/sources/mdb-context-hub/mongodb-atlas-flex-serverless/#flex-vs-dedicated-decision-matrix)

## Terraform

- Note: Do NOT use MongoDB::Atlas::FlexCluster in CloudFormation - use MongoDB::Atlas::Cluster instead. — [source](https://llms-explorer.com/sources/mdb-context-hub/mongodb-atlas-flex-serverless/#terraform)

## Kubernetes Operator

- Upgrade to AKO 2.12.0+. Use spec.flexSpec in AtlasDeployment CRD. To upgrade Flex → Dedicated: spec.upgradeToDedicated: true. — [source](https://llms-explorer.com/sources/mdb-context-hub/mongodb-atlas-flex-serverless/#kubernetes-operator)

## Migration Path: Flex → Dedicated

- One-way: Cannot downgrade dedicated → Flex — [source](https://llms-explorer.com/sources/mdb-context-hub/mongodb-atlas-flex-serverless/#migration-path-flex-dedicated)
- Downtime: Upgrading Flex → M10+ incurs downtime — [source](https://llms-explorer.com/sources/mdb-context-hub/mongodb-atlas-flex-serverless/#migration-path-flex-dedicated)
- Snapshots not migrated: Download existing Flex snapshots before upgrading — [source](https://llms-explorer.com/sources/mdb-context-hub/mongodb-atlas-flex-serverless/#migration-path-flex-dedicated)

## Serverless History (Deprecated)

- Serverless used RPU (Read Processing Unit) / WPU (Write Processing Unit) per-document billing. Caused runaway charges for unindexed queries. Cold starts after ~5 minutes idle (30-60 second reconnect delay). Replaced by Flex due to unpredictable billing, cold start latency, and feature gaps. — [source](https://llms-explorer.com/sources/mdb-context-hub/mongodb-atlas-flex-serverless/#serverless-history-deprecated)

## Anti-Patterns

- Flex for production with PrivateLink requirement: Must use M10+ for private endpoints — [source](https://llms-explorer.com/sources/mdb-context-hub/mongodb-atlas-flex-serverless/#anti-patterns)
- Production Vector Search on Flex: Resource contention causes latency spikes — [source](https://llms-explorer.com/sources/mdb-context-hub/mongodb-atlas-flex-serverless/#anti-patterns)
- Expecting PITR on Flex: Daily snapshots only — [source](https://llms-explorer.com/sources/mdb-context-hub/mongodb-atlas-flex-serverless/#anti-patterns)
- Pinning MongoDB version on Flex: Flex auto-upgrades - use dedicated for version pinning — [source](https://llms-explorer.com/sources/mdb-context-hub/mongodb-atlas-flex-serverless/#anti-patterns)
- Overbuilding M10 for dev/staging: Flex handles dev/staging at 1/7th the cost — [source](https://llms-explorer.com/sources/mdb-context-hub/mongodb-atlas-flex-serverless/#anti-patterns)

## Free Tier (M0) vs. Flex

- M0 auto-pauses after 30 days idle (cold start on resume). Flex never pauses - more suitable for always-on dev/staging environments. — [source](https://llms-explorer.com/sources/mdb-context-hub/mongodb-atlas-flex-serverless/#free-tier-m0-vs-flex)

## References

- MongoDB Atlas Flex Tier Blog — [source](https://llms-explorer.com/sources/mdb-context-hub/mongodb-atlas-flex-serverless/#references)
- Atlas Flex Cluster Limitations — [source](https://llms-explorer.com/sources/mdb-context-hub/mongodb-atlas-flex-serverless/#references)
- Migrate from M2/M5/Serverless to Flex — [source](https://llms-explorer.com/sources/mdb-context-hub/mongodb-atlas-flex-serverless/#references)

## Where this helps

- Choosing the entry-level tier for a new dev, staging, or low-traffic production workload where a hard, predictable monthly cost cap matters more than raw feature parity with dedicated clusters. — [source](https://llms-explorer.com/tree/mongodb-atlas-flex-and-serverless-tiers/) *(AI-suggested, synthesized from this pack's existing facts — not extracted from a source document.)*
- Migrating an existing M2/M5 shared-tier or now-retired Serverless workload that was auto-migrated to Flex and needs its architecture re-validated against Flex's feature gaps. — [source](https://llms-explorer.com/tree/mongodb-atlas-flex-and-serverless-tiers/) *(AI-suggested, synthesized from this pack's existing facts — not extracted from a source document.)*
- Deciding when a workload has outgrown Flex and needs to move to M10+ dedicated, for example once private networking, PITR, or production Vector Search becomes a requirement. — [source](https://llms-explorer.com/tree/mongodb-atlas-flex-and-serverless-tiers/) *(AI-suggested, synthesized from this pack's existing facts — not extracted from a source document.)*
- Comparing Flex against M0 (Free tier) for an always-on dev/staging environment where M0's 30-day auto-pause is undesirable. — [source](https://llms-explorer.com/tree/mongodb-atlas-flex-and-serverless-tiers/) *(AI-suggested, synthesized from this pack's existing facts — not extracted from a source document.)*

## Project ideas

- Migrate a workload off the deprecated Serverless RPU/WPU billing model onto Flex's flat ops/sec pricing, and validate the cost break-even against actual throughput. — [source](https://llms-explorer.com/tree/mongodb-atlas-flex-and-serverless-tiers/) *(AI-suggested, synthesized from this pack's existing facts — not extracted from a source document.)*
- Build a Terraform module targeting MongoDB::Atlas::Cluster, not the now-frozen FlexCluster CloudFormation resource, that can provision either a Flex or dedicated cluster from the same variables. — [source](https://llms-explorer.com/tree/mongodb-atlas-flex-and-serverless-tiers/) *(AI-suggested, synthesized from this pack's existing facts — not extracted from a source document.)*
- Prototype Atlas Vector Search on a Flex cluster for development, then measure the latency difference after moving to M10+ with dedicated Search Nodes for production. — [source](https://llms-explorer.com/tree/mongodb-atlas-flex-and-serverless-tiers/) *(AI-suggested, synthesized from this pack's existing facts — not extracted from a source document.)*
- Use the Atlas Kubernetes Operator's spec.flexSpec and spec.upgradeToDedicated fields to script a Flex-to-dedicated upgrade path for a growing workload. — [source](https://llms-explorer.com/tree/mongodb-atlas-flex-and-serverless-tiers/) *(AI-suggested, synthesized from this pack's existing facts — not extracted from a source document.)*

## Common mistakes

- Deploying Flex for a production workload that requires PrivateLink or VPC peering — Flex does not support private endpoints at all. — [source](https://llms-explorer.com/tree/mongodb-atlas-flex-and-serverless-tiers/) *(AI-suggested, synthesized from this pack's existing facts — not extracted from a source document.)*
- Running production Atlas Vector Search on Flex, where mongod and mongot share the same node and resource contention causes latency spikes. — [source](https://llms-explorer.com/tree/mongodb-atlas-flex-and-serverless-tiers/) *(AI-suggested, synthesized from this pack's existing facts — not extracted from a source document.)*
- Expecting point-in-time restore on Flex — it only offers daily snapshots, not continuous/PITR backup. — [source](https://llms-explorer.com/tree/mongodb-atlas-flex-and-serverless-tiers/) *(AI-suggested, synthesized from this pack's existing facts — not extracted from a source document.)*
- Overbuilding an M10 dedicated cluster for dev/staging traffic that Flex could handle at roughly one-seventh the cost. — [source](https://llms-explorer.com/tree/mongodb-atlas-flex-and-serverless-tiers/) *(AI-suggested, synthesized from this pack's existing facts — not extracted from a source document.)*

## Known issues

- The Flex-to-dedicated migration is one-way and requires downtime — there is no supported path back from dedicated to Flex. — [source](https://llms-explorer.com/tree/mongodb-atlas-flex-and-serverless-tiers/) *(AI-suggested, synthesized from this pack's existing facts — not extracted from a source document.)*
- Existing Flex snapshots are not migrated when upgrading to a dedicated cluster, so they must be downloaded before the upgrade if they need to be retained. — [source](https://llms-explorer.com/tree/mongodb-atlas-flex-and-serverless-tiers/) *(AI-suggested, synthesized from this pack's existing facts — not extracted from a source document.)*
- Flex auto-upgrades its MongoDB version and does not support pinning a specific server version, which rules it out for workloads that require strict version control. — [source](https://llms-explorer.com/tree/mongodb-atlas-flex-and-serverless-tiers/) *(AI-suggested, synthesized from this pack's existing facts — not extracted from a source document.)*
- Flex has no server-side JavaScript support ($where, mapReduce) and no allowDiskUse for aggregations, which can silently break pipelines ported over from a dedicated cluster. — [source](https://llms-explorer.com/tree/mongodb-atlas-flex-and-serverless-tiers/) *(AI-suggested, synthesized from this pack's existing facts — not extracted from a source document.)*

## Context files

- [MongoDB Atlas Flex and Serverless Tiers](https://llms-explorer.com/downloads/sources/mdb-context-hub/mongodb-atlas-flex-serverless.md)
