Du har valt MongoDB som din applikationsdatabas och har förmodligen redan en hel del produktionsdata i din databas. Nu måste du göra en stor förändring i din ansökan. Hur går du tillväga för att testa för att se till att den nya versionen av din applikation fungerar bra med din produktionsdata?
Produktionsdata är alltid oändligt mycket mer varierad än dina testdata och utövar fler kantfall, vilket leder till fler buggar. Det rekommenderas inte att exportera produktionsdata till din testmiljö på grund av policy-, integritets- och säkerhetsproblem. Å andra sidan är det ganska svårt och dyrt att identifiera och testa buggar i produktionen. Så, hur gör du för att säkerställa att den nya versionen av din applikation fungerar bra med produktionsdata? Det här är vad vi rekommenderar på ScaleGrid:
4 steg för att uppgradera MongoDB till produktion
-
Säkerhet först
Vårt första bekymmer är säkerheten och säkerheten för produktionsdata. Så vi exporterar aldrig någon produktionsdata till vår iscensättnings- eller testmiljö. Vad vi har är "pseudo-produktion" - det här är en miljö som är identisk med produktion - samma storlek, samma säkerhetsrestriktioner som produktion. Det är dock tillfälligt och lever bara under testets varaktighet.
-
Klona ditt produktions MongoDB-kluster
Vi använder funktionen "Klona" i ScaleGrid för att skapa en tidpunktsklon av produktionsdatabasen. På moln som AWS använder Clone-funktionen EBS-ögonblicksbilder, så klonoperationen har liten eller ingen inverkan på produktionsdatabasen. Detta ger oss en "pseudoproduktion" databasmiljö som har alla samma funktioner som produktion – samma data, samma maskinstorlekar, samma säkerhet, samma klusterkonfiguration, etc.
-
Kör omfattande tester
Vi kör en omfattande uppsättning tester för att säkerställa att den nya versionen av programmet inte orsakar problem med data. När vi väl är nöjda river vi ner miljön för "pseudoproduktion".
-
Uppgradera din produktionsmiljö
När vi är nöjda med våra tester går vi vidare och uppgraderar vår applikation i produktion. Beroende på funktionen kanske du också vill uppgradera den bara för några av dina kunder, a.k.a. A/B-testning.
Så, vilka andra problem har du med att testa programuppgraderingar med MongoDB? Har du verktyg, tekniker eller förslag som du vill dela med dig av? Vi vill gärna höra från dig!