Zo gebruik je een staging en productie-omgeving in de praktijk

Zo gebruik je een staging en productie-omgeving in de praktijk

Bardo

Door Bardo

Werken in een afzonderlijke staging en productieomgeving kent vele voordelen.

Waarom een staging omgeving?

Een staging omgeving is allereerst belangrijk bij het ontwikkelen of doorontwikkelen van een website of applicatie. Hier kunnen de eindgebruiker en de developer de site of applicatie goed testen, eventueel met productiedata. Stel, je maakt een site die voortdurend doorontwikkeld wordt. Dan wil je ook testen of die doorontwikkeling goed werkt. Dat geldt voor WordPress-sites, maar ook voor maatwerkontwikkelingen. De test is met name voor de klant bedoeld om te kijken wat er veranderd is, of de verandering naar wens is en of het goed werkt. Daarnaast kun je testen op meerdere apparaten of de site of applicatie zich overal goed gedraagt. Zo kan er een update zijn voor het framework of de webserver, denk hierbij aan bijvoorbeeld een PHP-versie. De visuele aspecten zijn het prettigst om handmatig door te lopen. Backend tests, vormen daarbij nog wel eens een uitdaging.

Hoe passen we dit toe?

We ontwikkelen bijvoorbeeld een functionaliteit voor het nieuwe systeem in een development omgeving. Deze ontwikkeling wordt vervolgens samen met de opdrachtgever op de staging omgeving getest. De opdrachtgever is vervolgens ook vrij om op een later moment terug te evalueren.  Na een akkoord sturen we het door naar de productieomgeving. De productieomgeving is de omgeving waar de eindgebruikers c.q. bezoekers binnenkomen. Het doorzetten van wijzigingen vanuit de staging omgeving doen we via GIT, om releases bij te houden. Mochten er dan toch problemen ontstaan op de productieomgeving kan de ontwikkeling makkelijk worden teruggedraaid. Je kunt daar ook pipelines aan hangen, dat betekent dat een bepaald proces start op het moment dat de ontwikkeling wordt gedeployed. Zo kun je bijvoorbeeld de cache legen voor het doorvoeren van de wijzigingen en om oude data op te ruimen. Of er kunnen migraties gedraaid worden, zodat aanpassingen in de database worden gedaan op de productieomgeving.

Waar moet je aan denken bij een staging omgeving?

  • Identieke versies.

De staging en productieomgeving zouden in de ideale wereld exact hetzelfde moeten zijn met betrekking tot versies, tenzij je een specifieke versie updatet. Denk hierbij aan de versie van het framework, PHP of andere webserver gerelateerde tools.

  • Databasemigraties.

Als je je database hebt aangepast op de staging omgeving, wordt het ook aangepast op de productieomgeving zodra de release doorgezet wordt.

  • Automatische tests.

Als je deployt naar de productie omgeving kun je zorgen dat er automatische tests worden uitgevoerd. Als deze mislukken, wordt de deployment gestopt en blijft de huidige versie intact.

  • Een visuele userexperience.

Wat visueel gemaakt is, werkt dat ook voor de eindgebruiker? Is het makkelijk en uitnodigend om te gebruiken? En ook: het kunnen testen op verschillende apparaten en schermgroottes (tablet, telefoon, desktop, etc.)

  • Een afgeschermde omgeving.

Een staging omgeving moet altijd afgeschermd zijn: hier staan vaak developer variables aan. Voorbeeld: er komt een foutmelding op de staging omgeving, dan kan dat in sommige frameworks ertoe leiden dat databasegegevens in een errormelding staan. Dat wil je niet publiekelijk hebben. De staging omgeving is alleen bestemd voor de developer en de klant.

  • Updates van het framework, webserver of php-variant.

Doordat je de omgevingen gelijk wilt houden, is het belangrijk om na te denken wanneer en met welk tijdsbestek c.q. planning je versies gaat updaten en testen. Bij een langere doorlooptijd van updates zullen de doorontwikkelingen van de applicatie ook langer duren.

Stresstesten

Sommige klanten hebben een drukbezochte site of hebben te maken met sterke pieken in de bezoekersaantallen. Dan is het goed om een stresstest te doen. Ook in dat geval is het handig als een staging omgeving op een aparte server draait. Als staging en productieomgeving op dezelfde server draaien, kan de productieomgeving last ondervinden van zo’n stresstest.

Domeinnamen

Als je werkt met een staging en productieomgeving is het goed om in de database en code nooit vaste waarden te hebben staan qua domeinnamen of -paden. Als daar namelijk een verschil in zit tussen staging en productieomgeving kan dat voor problemen zorgen. Een domeinnaam of -pad die in de staging omgeving goed werkt kan namelijk anders zijn in de productieomgeving.

Laatste tip!

Denk erover na welke data je wil gebruiken in je staging omgeving. Je kunt bijvoorbeeld dummydata gebruiken, dus geanonimiseerde data. Maar voor de klant geeft dat soms een onduidelijk beeld en is niet helder wat er gebeurt. Het komt regelmatig voor dat daarom toch productiedata op de staging omgeving draait.

Meer weten?

We vertellen graag meer over het werken met een staging en productieomgeving. Bel ons gerust voor meer informatie!

Wil je meer weten?
Bel ons gerust
010-5065520

But wait!

There's more!

Waarom wij met een glimlach naar ons werk gaan!
Waarom wij met een glimlach naar ons werk gaan!

Voor veel mensen geldt dat ze een flink deel van hun dag, week en daarmee […]

Let op de technische kant van je website!
Let op de technische kant van je website!

Waar moet je website technisch gezien aan voldoen? Denk aan deze dingen: 1. SSL Niet […]

Dit zijn onze tips voor het Caveo NK Bedrijfstafeltennis
Dit zijn onze tips voor het Caveo NK Bedrijfstafeltennis

Op zondag 26 maart staat het Caveo NK Bedrijfstafeltennis op de kalender. Zelf zijn we […]