Migrating to MongoDB Atlas

mLab is now part of MongoDB, Inc., the company behind the database that powers your application(s). For background please read our announcement on October 9, 2018.

As part of merging the two organizations we will be sunsetting mLab’s service and working with users to migrate to MongoDB Atlas.

Migration Timing and Details

mLab and MongoDB Atlas have been working together to do the following:

Our goal is to have users migrate to MongoDB Atlas by January 2020, and we will soon notify customers about deadlines for migration. If you would like to migrate now see the section below about migrating early.

In the meantime rest assured that your database deployment(s) and all of our services will operate as usual, and you will be provided with plenty of advance notice to migrate.

FAQ

Q. Does Atlas have similar management tools/features that mLab has?

Feature-wise, the two MongoDB-as-a-Service products are more similar than they are different. Some capabilities that may be new to mLab users include cross-region replication; geographic data distribution via Global Clusters; enterprise security features such as encryption key management, granular database auditing, and LDAP support; and tight integration with the MongoDB Connector for Business Intelligence (BI) and MongoDB Charts.

mLab’s engineering team was integrated into the greater MongoDB engineering organization, and we have been working on new features together.

Note that some functionality is different on Atlas. For example, you will not be able to take mongodump-based backups that upload to your own S3 bucket, but you will be able to achieve a similar end-goal using Atlas’ features.

Q. Will you migrate my mLab deployment for me?

We cannot perform the migration on your behalf, but we are working to make it as easy as possible for you.

Importantly note that migration process will require you to change the connection string which your application is using to connect to your database(s).

Q. How much downtime is required?

If you are migrating into one of Atlas’ dedicated-tier clusters (M10 or above), the only downtime that will be necessary is the time it takes for you to stop writes to the source mLab deployment and restart your application servers with a new connection string that points to the target Atlas cluster. The reason why this process is so seamless is that you willl use the Atlas Live Migration process.

Migrating to one of Atlas’ shared-tier clusters (M0, M2, or M5) or an Atlas Sharded Cluster will require more downtime.

See our guide to sizing the target Atlas cluster.

Q. Can I migrate early to Atlas?

If you would like to migrate to Atlas now, it is possible although it will not be quite as easy as if you were to wait. If you are migrating into Atlas tiers which use shared resources (the M0, M2, or M5 tiers), we recommend waiting until late August when we have introduced a tool to make this much easier.

Be aware that:

Before migrating:

We recommend that you review the migration prerequisites below before migrating.

How to migrate early:

Migrating to Atlas will require a connection string change, but if you have a for-pay mLab deployment and your target Atlas cluster is running on the Atlas M10 or above, you’ll be able to perform a migration with very minimal downtime to your application.

If you’re planning to migrate a Dedicated plan deployment or migrate into an Atlas M10+ tier (guide to sizing the target Atlas cluster), view our step-by-step guide to migrating early. If you’re planning to migrate into a smaller Atlas tier, we recommend waiting until we’ve developed tools that make the process easier.

For migration questions or issues, see the support-related FAQ at the bottom of this page.

Q. Should I migrate early to Atlas?

We recommend migrating early to Atlas if:

Q. Are there prerequisites for migrating?

Yes there are prerequisites for migrating:

  1. Ensure minimum required versions:
  2. Review the following key differences between mLab and Atlas:
    • Atlas plans are packaged differently than mLab’s in that clusters, backups, data transfer, and support are priced separately.
    • The Atlas M0 (free) tier does not support Atlas backups.
    • Upgrades from the Atlas M2 and M5 (shared) tiers require 7-9 minutes of downtime (no change in connection string).
    • Atlas currently does not have a Heroku add-on (see FAQ).
    • Atlas currently does not have a Data API (see FAQ).
    • Atlas currently does not support archiving backups to custom S3 buckets but it does have an API for programmatically accessing backups (see FAQ). Note that Atlas backups are in the form of database files and not mongodumps.
    • Atlas does not support sharing of EBS Snapshots but it does have an API for programmatically accessing backups (see FAQ).
    • Atlas restricts the ability to use certain database commands, some of which were allowed on mLab.
    • Atlas supports Analytics Nodes using replica set tags instead of using hidden nodes.
    • Atlas servers always run with requireSSL and only accept TLS/SSL encrypted connections.
  3. Ensure that all recurring query patterns are well-indexed and that your deployment is running healthy on mLab.
    • If your deployment is on a Shared or Dedicated plan visit the “Slow Queries” tab to view and build the indexes recommended by mLab’s Slow Queries Analyzer. This will allow for a smoother migration process.
    • After building indexes ensure either by streaming the Primary’s database server log from the “Logs” tab or by waiting 24 hours to get a fresh “Slow Queries” tab report that there aren’t any operations that are running with frequency that are slow. By default all operations over 100ms will appear in the database server log.
  4. Consider enabling SSL on your mLab deployment before migrating.
    • If the target Atlas cluster will be on dedicated resources (M10 or above) AND if your mLab deployment is not located in one of Atlas’ six Live Migration regions—AWS us-east-1 (N. Virginia), AWS us-west-2 (Oregon), AWS eu-west-1 (Dublin), AWS eu-central-1 (Frankfurt), AWS eu-west-2 (London), AWS ap-southeast-2 (Sydney)—we recommend enabling SSL on mLab before migrating.
    • If your deployment is hosted in one of the above Live Migration regions, traffic will stay within the cloud provider’s local network.

Q. Does Atlas have a Data API?

MongoDB Atlas offers similar capabilities in MongoDB Stitch. We will be exploring what we can do to reduce friction associated with the transition over the coming months.

In the meantime mLab’s Data API will continue to run as it always has.

Q. Does Atlas have a Heroku add-on?

Not at this time. However, MongoDB will be working to build an integration between MongoDB Atlas and Heroku. You will be able to continue to use mLab via its add-on at Heroku until the new integration is available.

Importantly note that many applications use Heroku with mLab without using Heroku’s add-on program. If you go this route you just need to ensure that your Heroku app is hosted in the same AWS region as your database. For convenience our docs at Heroku include a mapping of Heroku’s region names to AWS regions.

Q. Does Atlas support mongodump-based backups to custom S3 buckets?

Atlas does not support mongodump-based backups. Instead, Atlas snapshots are generally in the form of MongoDB database files. Database files tend to be orders of magnitude faster to restore than mongodump-based backups, especially for larger deployments (since indexes don’t have to be re-built).

Also, although Atlas currently does not support archiving backups to custom S3 buckets it does have an API for programmatically accessing backups:

Endpoints for restoring or downloading an Atlas snapshot:

How to restore a downloaded Atlas snapshot:

Once you have downloaded an Atlas snapshot, you can also archive the backup to S3 using the AWS API either directly or via an AWS SDK in the language of your choice.

Q. My Atlas connection string is prefixed with “mongodb+srv://”. What is this?

MongoDB supports two connection string formats, the standard connection string format (prefixed with mongodb://) and the DNS seedlist connection string format (prefixed with mongodb+srv://). mLab only supports the standard connection string format while MongoDB Atlas supports both.

Q. Will I need to pay for data transfer costs separately?

In general Atlas plans are packaged differently than mLab’s in that clusters, backups, data transfer, and support are priced separately. Note that backups and data transfer on shared-tier Atlas clusters (M2, M5) are included for free.

If you are concerned that data transfer costs will be disproportionately high, ensuring that your application and database are running in the same cloud region will not only allow you to minimize data transfer costs but also will minimize network latency and network instability. If you are still concerned please contact support@mlab.com for advice.

Q. How do I estimate how much I will spend on Atlas for similar services?

Atlas plans are packaged differently than mLab’s in that clusters, backups, data transfer, and support are priced separately.

Cost Type Description Notes
Cluster Service cost which includes the VMs and disks  
Backup Service cost which depends on the size of the data set and the retention policy. Only applies to Atlas dedicated-tier clusters (M10+). Roughly 6% of Cluster costs
(assuming Cloud Provider Snapshots and 8 retained daily backups to match mLab’s default; varies based on workload).
Data transfer Service cost. Only applies to Atlas dedicated-tier clusters (M10+). Roughly 7% of Cluster costs
(assuming applications connecting from within the same cloud region; varies based on workload).
Add-on feature Service cost for optional features such as MongoDB Connector for BI.  
Support Subscription cost priced as a percentage of total service cost, with a minimum. Depends on the selected support plan1.

If you have questions or concerns about pricing on Atlas please email support@mlab.com.

Q. How do I get help? Who do I direct questions do?

For migration-related questions or issues, email mLab Support (support@mlab.com). mLab Support will be your main point of contact for migration issues and will work closely with Atlas Support and Atlas Engineers as needed.

To expedite the process include your mLab account name or mLab deployment identifier as well as a link to your Atlas cluster, project, or organization.

  1. Our intent is that your all-in Atlas costs do not exceed what you’re paying at mLab. As such in some cases we will be able to offer discounts on Atlas support plans (email support@mlab.com for help).