MongoDB Atlas Pricing & Tips to Help Manage Costs | Studio 3T

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.

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)
RAM32 GB30.5 GB16 GB32 GB64 GB30 GBStorage160 GB160 GB128 GB128 GB128 GB160 GBPrice 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.

Base MongoDB Atlas monthly bill: Around $1,344

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

AWS MongoDB Atlas data transfer costs

Azure

Azure MongoDB Atlas data transfer fees

Google Cloud Platform

Google MongoDB Atlas data transfer fees

Handling a lot of MongoDB data? Studio 3T lets you copy and paste databases and collections between multiple MongoDB Atlas connections.

Additional monthly cost (AWS M50): $1 to $9

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.

Increase Provision IOPS in MongoDB Atlas

This will change your cluster cost anywhere from $2.28 to $3.85 per hour.

Additional monthly cost (AWS M50): $188 to $1,243

MongoDB has deprecated continuous backups, now referred to as their Legacy Backup feature. Effective March 23, 2020, all net new clusters can only use Cloud Backups, formerly known as cloud provider snapshots.

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.

Additional monthly cost: Varies, contact MongoDB Atlas Support

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.

Additional Continuous Cloud Backup restore cost: Varies, depends on size

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)
RAM32 GB30.5 GB16 GB32 GB64 GB30 GBStorage160 GB160 GB128 GB128 GB128 GB160 GBPrice 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)
RAM16 GB15.24 GB7 GB15 GBDefault storage80 GB80 GB32 GB80 GBPrice per hour$1.04$0.77$0.56$0.97Upgrade to 100 GB or next available storage100 GB100 GB128 GB100 GBNew price per hour$1.09$0.83$0.66$1.07

MongoDB Atlas lets you customize your cluster’s storage, but it doesn’t deduct the cost of the default storage capacity. You will still get charged for the full amount of storage.

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.

MongoDB Atlas will ensure that your cluster remains within the defined min and max tiers

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.