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:

We are planning to start notifying a subset of users in July 2019 and have users migrate to MongoDB Atlas by December 2019. If you want to migrate sooner 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 into the Atlas M10 or above 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.
    • Atlas does not support sharing of EBS Snapshots but it does have an API for programmatically accessing backups.
    • 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. 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 at Atlas

We are still working on updating this section of our documentation. In the meantime email support@mlab.com with your questions.

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.