I gave a talk on how Woovi migrated from the cloud to our servers, here are the slides: https://speakerdeck.com/sibelius/no-cloud-how-woovi-moved-from-aws-to-its-own-servers
In this article, we are going to cover three approaches to migrating a MongoDB cluster from one cloud to another. The concepts would also apply to other databases.
Mongodump and Mongorestore
The first approach we tried was to stop server activity to stop modifying the database, then do a mongodump followed by a mongorestore in our servers.
This works well if your database size is small, otherwise it will take a lot of time.
In our case, it was taking 4 hours.
Four hours of downtime is very risky.
We didn't go if this approach
Mongosync
Another approach was to use mongosync which enables you to sync two clusters.
This looks like a good approach but it is missing some data and indexes in the sync.
Because of these errors we also avoid this approach.
Adding new cluster nodes in the same replica set
The approach that did work well and that we used in production to migrate from the cloud was to add new nodes in the new cluster in the same existing replica set.
We created some scripts to validate that they had the same data count and same indexes.
After the sync was done, we stopped the cloud servers, let the data sync the remaining activity, and started the new servers in our hardware.
After that, we removed the cloud MongoDB nodes from the replicaset.
The downtime of this approach was 5 minutes in the dawn.
In Conclusion
Migrating services and data from one cloud to another cloud or its own servers can be very risky. At Woovi we tested a lot of approaches to make sure the migration would be a success.
I hope this article help you when you decide to migrate from the cloud to #nocloud.
Woovi is an innovative startup revolutionizing the payment landscape. With Woovi, shoppers can enjoy the freedom to pay however they prefer. Our cutting-edge platform provides instant payment solutions, empowering merchants to accept orders and enhance their customer experience seamlessly.
If you're interested in joining our team, we're hiring! Check out our job openings at Woovi Careers.
Photo by Amélie Mourichon on Unsplash
Top comments (0)
Some comments may only be visible to logged-in visitors. Sign in to view all comments.