Overslaan en naar de inhoud gaan

Wat is een OTAP-straat? En wat heb je eraan?

Thomas van Eldijk
 | Gepubliceerd op 24 maart 2022, bijgewerkt op 5 mei 2022

OTAP staat voor Ontwikkeling, Test, Acceptatie en Productie. Je komt deze term misschien wel tegen in richtlijnen of ziet het staan in hostingcontracten. Maar wat is een OTAP?

De onderverdeling ( Ontwikkeling, Test, Acceptatie en Productie ) wordt aangebracht op één of meerdere webservers zodat je veilig veranderingen kunt doorvoeren aan een website zonder dat dit een negatief effect heeft op de live website.

Het klinkt logisch: ontwikkelen doe je op een ontwikkelplek, testen op een testplek, etc. Maar dat is lang niet altijd zo geweest en de meeste websites die online staan hebben ook geen OTAP-‘straat’, zoals deze onderverdeling vaak genoemd wordt. In het engels wordt een OTAP afgekort als DTAP wat staat voor: Development, Testing, Acceptance and Production.

De meeste websites werken met één versie van de website, de live versie, die op een webserver staat. In veel gevallen vinden de aanpassingen direct plaats in de live website wat als (enige) voordeel heeft dat de aanpassing die je wilt doorvoeren snel te zien is.

Er kleven wel veel nadelen aan deze directe aanpak. De meest voor de hand liggende is dat de live website kapot kan gaan omdat er direct in de live website nieuwe code en aanpassingen worden getest. Combineer dat met een website waar meerdere mensen tegelijkertijd aan werken of die veel bezoekers heeft en het wordt al heel snel duidelijk dat dit niet gaat, en dat verklaart de komst van de OTAP-straat.

Zo worden veel OTAP straten ingericht: Ontwikkelaars en ontwerpers maken lokaal aanpassingen en sturen deze door naar de test, acceptatie en productieomgeving.

Waarom een OTAP?

Een OTAP biedt naast een stabiele omgeving ook meer veiligheid. Het is niet voor niets dat een OTAP-omgeving een vereiste is voor het behalen van beveiligingscertificaten zoals ISO 27001 en 27002, en wordt geadviseerd door het Nationaal Cyber Security Centrum Nederland in hun richtlijnen voor het ontwikkelen van veilige software.

Doordat de ontwikkel-, test- en acceptatie-omgevingen los staan van de live omgeving en je ze goed kunt afschermen voor de buitenwereld, kun je op een veilige manier ontwikkeltools inzetten die op een live website een potentieel gevaar vormen.

Een OTAP biedt ook meer flexibiliteit dat klinkt tegenstrijdig. Al die verschillende omgevingen. En deels is dat ook wel zo. Even ad hoc  iets aanpassen in de code van de live website zit er niet meer bij.

Maar op andere vlakken ontstaat meer flexibiliteit. Denk met name aan het uittesten van modules, nieuwe technieken of een andere opzet van de website.

Je durft als ontwikkelaar sneller te experimenteren, nieuwe technieken uit te proberen, en ook steeds meer marketeers en communicatieteams ontdekken dat het ideaal is om even iets uit te kunnen testen zonder dat bezoekers daar een glimp van kunnen opvangen.

Hoe werkt een OTAP precies?

De nieuwe functie of aanpassing die je wilt laten maken bestaat altijd uit code en gaat van omgeving naar omgeving voordat het belandt op de uiteindelijke live website. Dat werkt als volgt:

Ontwikkelplek

Bevindt zich meestal op de lokale laptop of desktop van één op meerdere ontwikkelaars. Via een versiebeheersysteem zoals Git, staat deze lokale omgeving in contact met iedereen die aan het project werkt en is het mogelijk om veranderingen of nieuwe onderdelen toe te voegen. 

Dat Git werkt als volgt: Wanneer een ontwikkelaar aanpassingen doet aan de broncode stuurt hij/zij dat door naar een centrale plek online, waarin de wijzigingen door speciale 'revisie'-software wordt bijgehouden. Dit maakt het mogelijk om wijzigingen te controleren en te testen, maar ook om ze eventueel terug te draaien of af te wijzen.

Testomgeving

Wanneer de nieuwe code klaar is om te testen gaat deze naar de testomgeving. Hier kunnen ontwikkelaars zien wat de nieuwe code doet op een webserver en lijkt de situatie al meer op de uiteindelijke website. Het blijft een testomgeving waar ontwikkelaars gemakkelijk onderdelen aan of uit kunnen zetten om zo te achterhalen of de nieuwe code goed en snel werkt.

Soms word je als opdrachtgever uitgenodigd om mee te kijken op de testserver, maar het is niet verstandig om deze omgeving te gebruiken om aanpassingen te maken.

Het kan namelijk zijn dat de testomgeving opnieuw opgebouwd wordt, waarbij je de wijzigingen die je hebt gemaakt kwijt raakt. Daarnaast loop je het risico dat er een mengeling van test inhoud en echte inhoud ontstaat

Acceptatieomgeving

Als de code door de test komt kan het naar de acceptatieomgeving. Dit is over het algemeen de eerste keer dat niet-ontwikkelaars de nieuwe functie of nieuwe vormgeving te zien krijgen en kunnen beoordelen. Nadat jij ons opdrachtgever de nieuwe wijzigingen ‘geaccepteerd’ kunnen ze worden doorgezet worden naar de productieomgeving. Deze extra stap lijkt overbodig maar grofweg kun je het doorzetten van de code van test naar acceptatie zien als een goedkeuring van de ontwikkelaars dat het goed genoeg is om te controleren. Voor de ontwikkelaars is het een soort generale repetitie. 

Productieomgeving

De productieomgeving is de omgeving die daadwerkelijk ‘in productie’ is en live staat. Een belangrijk verschil met de andere omgevingen is dat gebruikers en bezoekers nu actief bezig zijn met het aanpassen van de data in de database. Er worden artikelen geschreven, reserveringen gemaakt en comments gepost. Op deze omgeving worden dan ook geen tests uitgevoerd. 

Hoe kom je aan een OTAP-straat?

Je kunt op een ‘gewone’ server wel verschillende versies maken van een website maar dit is niet erg efficiënt. Je hebt meestal geen makkelijke tools om snel de database van de ene omgeving naar de andere te kopiëren of de code van de test naar de acceptatie door te zetten. 
Doordat je die tools niet tot je beschikking hebt ontstaat meestal een situatie dat er tijdelijk even een kopie wordt gemaakt van een website om nieuwe onderdelen of updates te testen. 

Voor een goede OTAP-omgeving ben je meestal afhankelijk van je hostingprovider die hiervoor de juiste tools inricht. Pantheon en Acquia zijn bekende Drupal hostingproviders die binnen hun hostingplatform een OTAP-straat aanbieden. Maar ook kleinere hostingpartijen zoals wijzelf hebben een eigen OTAP-omgeving ontwikkeld. 

Conclusie

Over het algemeen zijn de hostingproviders die een goede OTAP-omgeving mogelijk maken duurder dan hostingproviders die een standaard server of shared hostingpakket aanbieden. Daarnaast kost het werken met een OTAP-omgeving ook meer tijd om veranderingen door te voeren. Dat vertaalt zich soms in een stroperig proces en extra kosten.

Maar heb je een serieuze website waarbij je het eigenlijk niet kunt veroorloven dat die offline gaat? Dan is een OTAP-omgeving bijna een must. En ben je een overheidsorganisatie of moet je voldoen aan striktere richtlijnen zoals de 27001 en 27002 ISO-certificering? Dan is een OTAP-omgeving sowieso vereist.