Je hebt MongoDB gekozen als je applicatiedatabase en hebt waarschijnlijk al veel productiegegevens in je database. Nu moet u een grote wijziging aanbrengen in uw aanvraag. Hoe gaat u testen om ervoor te zorgen dat de nieuwe versie van uw applicatie goed samengaat met uw productiegegevens?
Productiegegevens zijn altijd oneindig veel gevarieerder dan uw testgegevens en oefenen meer edge-cases uit, wat leidt tot meer bugs. Het wordt niet aanbevolen om productiegegevens naar uw testomgeving te exporteren vanwege beleids-, privacy- en beveiligingsproblemen. Aan de andere kant is het vrij moeilijk en duur om bugs in productie te identificeren en te testen. Dus, hoe zorg je ervoor dat de nieuwe versie van je applicatie goed werkt met productiegegevens? Dit is wat we aanbevelen bij ScaleGrid:
4 stappen bij het upgraden van MongoDB naar productie
-
Veiligheid voorop
Onze eerste zorg is de veiligheid en beveiliging van de productiegegevens. We exporteren dus nooit productiegegevens naar onze staging- of testomgeving. Wat we hebben is "pseudo-productie" - dit is een omgeving die identiek is aan productie - dezelfde grootte, dezelfde beveiligingsbeperkingen als productie. Het is echter kortstondig en leeft alleen voor de duur van de test.
-
Kloon uw productie MongoDB-cluster
We gebruiken de 'Clone'-functie van ScaleGrid om een point-in-time kloon van de productiedatabase te maken. Op clouds zoals AWS gebruikt de Clone-functie EBS-snapshots, dus de kloonbewerking heeft weinig tot geen invloed op de productiedatabase. Dit geeft ons een "pseudo-productie" databaseomgeving die dezelfde functies heeft als productie:dezelfde gegevens, dezelfde machinegroottes, dezelfde beveiliging, dezelfde clusterconfiguratie, enz.
-
Voer uitgebreide tests uit
We voeren een uitgebreide reeks tests uit om ervoor te zorgen dat de nieuwe versie van de applicatie geen problemen met de gegevens veroorzaakt. Zodra we tevreden zijn, breken we de "pseudo-productie"-omgeving af.
-
Upgrade uw productieomgeving
Zodra we tevreden zijn met onze tests, gaan we door met het upgraden van onze applicatie in productie. Afhankelijk van de functie, wil je deze misschien ook alleen voor sommige van je klanten upgraden, ook wel A/B-testen genoemd.
Dus, welke andere problemen heb je met het testen van applicatie-upgrades met MongoDB? Heb je tools, technieken of suggesties die je wilt delen? We horen graag van je!