MongoDB you have chosen as your application database. You may already have a lot of production data in your database. Now you need to make your application a major version changes. How do you ensure that applications need to test a new version of your production data and running well?
Production data is always extremely diverse, and practice your test data have more border cases, thus leading to more BUG. Not recommended export production data to the test environment, due to the policy, privacy and security issues. In other words, identification and testing BUG in a production environment is very difficult. Therefore, how to ensure that the new version of the application runs well and production data it? The following points are recommended in the MongoDirector.
1. Safety first
Our first concern is the safety and security of production data. So we do not export any production data to our bench or test environment. We have plenty of "pseudo-production" environment - this is the same as a production environment, and the environment - the same size, the same security restrictions. However, it is temporary, only for the duration of the test.
2. Cloning production MongoDB clusters
We use the "clone" feature MongoDirector, creating a real-time production data of the copy, so the cloning operation is very short no effect on the production database. This gives us a "pseudo-production" database environment, the production environment and the same characteristics - the same data, the same machine size, the same security, the same cluster configuration.
3. Run the extensive testing
We ran extensive testing to ensure that the new version of the application data and not cause problems. Once we are satisfied, we will remove the "pseudo-production 'environment.
4. upgrade your production environment
Once we are satisfied with the test results, we continue to upgrade production environments. According to the characteristics you may upgrade it to a customer a.k.a A / B and the test.
About using MongoDB test application upgrades, you have another question? You have the tools, techniques or advice you want to share it? We will be happy to hear from you.