MongoDB’s laser focus on improving MongoDB Atlas, its fully-managed cloud database service and also the easiest way to get started with MongoDB, has now turned into over two million free-tier account registrations and helped establish its presence in the enterprise. Among its 18,000+ customers are SEGA Hardlight, Thermo Fisher, and countless others who have chosen to run their MongoDB instances in the cloud.
If you or your company are also considering the move, your MongoDB Atlas pricing will depend on:
- your cluster size
- your cluster region
- the cloud provider you choose (AWS, Azure, or Google Cloud Platform), and
- any additional services you register for
Default cluster tiers in MongoDB Atlas range from M0 (free) to M400 and users are charged per hour of cluster usage.
Each tier comes with its default RAM capacity (more memory = better performance), storage capacity (more storage = more space for database content), and maximum storage speed (more speed = faster queries, read/write operations), which are included in the cluster’s cost per hour.
In this article, we look at how MongoDB Atlas pricing is calculated when bundling a cluster with common additional services, and two workarounds you can use to help manage costs.
Choosing a MongoDB Atlas cluster based on default storage
Suppose you’d like to host your 100 GB cluster in the US East Coast (Virginia). The cloud provider you choose will affect your cluster tier and the price per hour.
Your 100 GB database will land you in the M50 cluster if you choose AWS or Google. If you use Azure, you can choose between the M40, M50, or M60 clusters, which all have the same default storage capacity but different default RAM capacities.
Based on a three-node replica set, here’s a sample price comparison (accurate as of June 17, 2020) along with the default RAM and storage capacity:
AWS (M50) | AWS (M50 Low CPU) | Azure (M40) | Azure (M50) | Azure (M60) | Google (M50) | |
RAM | 32 GB | 30.5 GB | 16 GB | 32 GB | 64 GB | 30 GB |
Storage | 160 GB | 160 GB | 128 GB | 128 GB | 128 GB | 160 GB |
Price per hour | $2.00 | $1.48 | $1.13 | $1.95 | $3.80 | $1.86 |
To continue our pricing example, let’s say you decide to go with the AWS M50 cluster for your 100 GB database.
At $2 per hour, that puts your monthly bill at around $1,344. This monthly cost will increase depending on whether you register for additional MongoDB Atlas services.
Other MongoDB Atlas costs
Data transfers
As with storage, MongoDB Atlas data transfer fees depend on the cloud provider and cluster region.
Data transfer fees are no longer available on the MongoDB Atlas pricing page, but the screenshots were taken prior to their recent update and are valid as of June 6, 2020.
AWS
Azure
Google Cloud Platform
Custom storage speed
Each MongoDB Atlas tier comes with a default custom storage speed. Customization options vary by cluster and cloud provider.
For your AWS M50 cluster, you can choose to upgrade to Provision IOPS and increase your default IOPS, or Input/Output Operations per Second, from 480 up to 4800.
This will change your cluster cost anywhere from $2.28 to $3.85 per hour.
Atlas Cloud Backups
MongoDB Atlas now only offers Cloud Backups, which relies on the native snapshot functionality of the cluster’s cloud service provider.
Atlas takes either full copy or incremental snapshots of the data in your cluster and allows you to restore from these snapshots.
Pricing is per GB per month and depends on the total size of all snapshots and your cluster region, because the snapshots are stored in the same cloud provider region as the primary member of the cluster at the time you enabled snapshots for the cluster (for single-region backups).
MongoDB Atlas recommends contacting their Support team for more information about this service, as pricing varies depending on the cloud provider.
Continuous Cloud Backup restores (formerly point-in-time restores)
You can also choose to enable Continuous Cloud Backup restores (or point-in-time restores) from your Cloud Backup snapshots.
The cost will depend on the combined size of the snapshot and the disk space occupied by the cluster’s oplog
. Pricing also differs per cluster region.
Say your combined AWS M50 cluster snapshot and oplog
size is still 100 GB. The first 5 GB are free, and the remaining 95 GB will be billed at $1/GB based on this pricing table.
MongoDB Atlas pricing workarounds
Downscale to a MongoDB Atlas cluster with lower RAM – then customize your storage
We’ve chosen the AWS M50 tier to accommodate our 100 GB database, but it falls well under the default storage size of 160 GB.
If you don’t require as much RAM, an alternative would be to downscale to a lower cluster tier and customize your storage instead.
Here’s our initial pricing comparison, showing the cluster tiers with default storage that accommodated our 100 GB database:
AWS (M50) | AWS (M50 Low CPU) | Azure (M40) | Azure (M50) | Azure (M60) | Google (M50) | |
RAM | 32 GB | 30.5 GB | 16 GB | 32 GB | 64 GB | 30 GB |
Storage | 160 GB | 160 GB | 128 GB | 128 GB | 128 GB | 160 GB |
Price per hour | $2.00 | $1.48 | $1.13 | $1.95 | $3.80 | $1.86 |
If you downscale to the next available lower cluster tier with lower RAM capacity (e.g. go from M50 to M40) and customize the storage or upgrade to the next default store limit instead, the price per hour changes drastically:
AWS (M40) | AWS (M50 Low CPU) | Azure (M30) | Google (M40) | |
RAM | 16 GB | 15.24 GB | 7 GB | 15 GB |
Default storage | 80 GB | 80 GB | 32 GB | 80 GB |
Price per hour | $1.04 | $0.77 | $0.56 | $0.97 |
Upgrade to 100 GB or next available storage | 100 GB | 100 GB | 128 GB | 100 GB |
New price per hour | $1.09 | $0.83 | $0.66 | $1.07 |
Cluster auto-scaling
For users on clusters M10 and up, MongoDB Atlas offers a cluster auto-scaling feature which lets you pre-define a minimum and maximum cluster size.
Before scaling your cluster tier, Atlas will check that your cluster falls within your specified minimum and maximum cluster size range.
Your cluster is then automatically scaled up or down depending on two metrics: CPU utilization and memory utilization. Considerations for auto-scaling can be found here.
All prices in this article were based on the MongoDB Atlas pricing page and MongoDB documentation.