Applicatie omgevingen
Concept
Elke Skryv‑applicatie wordt op maat ingericht en kan dus een andere lifecycle‑aanpak volgen. In grote lijnen onderscheiden we twee modellen waaruit je vrij kunt kiezen. Enerzijds is er een klassiek OTAP‑model, met meerdere omgevingen en een sterke focus op governance, controle en scheiding tussen ontwikkel‑ en productiegebruik. Anderzijds kun je werken met een continuous development & deployment aanpak, waarbij wijzigingen rechtstreeks en snel naar productie gaan, met als belangrijkste voordelen wendbaarheid en korte doorlooptijden. Afhankelijk van de context, risico’s en maturiteit van het team kan een project kiezen voor één van beide modellen, of een hybride vorm.
OTAP
In heel wat Skryv-applicaties hebben we minstens twee (preview en productie), maar meestal meer dan twee omgevingen. We hanteren daarbij de OTAP-strategie. OTAP staat voor Ontwikkel, Test, Acceptatie en Productie, en wordt gebruikt om een gestroomlijnd proces te waarborgen bij het bouwen, testen en uitrollen van de toepassing. Het idee achter deze strategie is om verschillende omgevingen te hebben voor elk van de volgende vier fasen:
Ontwikkeling: dit is de omgeving waar de software wordt gebouwd en ontwikkeld. Hier kunnen ontwikkelaars nieuwe features maken en de code testen tijdens de ontwikkeling.
Test: in deze omgeving wordt de software getest. Dit kan unit testing, integratietests, en andere soorten tests omvatten om te zorgen dat de software werkt zoals bedoeld voordat deze verder wordt geaccepteerd of geïmplementeerd.
Acceptatie: dit is de omgeving waar de software wordt goedgekeurd door de eindgebruikers of producteigenaren. Het doel is om te controleren of de software voldoet aan de eisen en of deze klaar is voor productie.
Productie: de laatste stap is om de software naar de productieomgeving te verplaatsen, waar deze beschikbaar wordt voor eindgebruikers.
Deze aanpak zorgt voor meer controle over de verschillende fasen van de softwareontwikkeling en helpt om risico’s te minimaliseren bij het uitrollen van nieuwe software of updates.
Let wel: de verschillende omgevingen zijn volledig van elkaar gescheiden. Het zijn technisch gesproken aparte applicaties. Dit betekent dat je binnen de niet-productie omgevingen met fictieve dossiers, data, gebruikers en gemockte externe services moet werken. Dit vergt wat heel wat werk en aandacht om op te zetten.
Continuous development & deployment
Bovenstaande aanpak is momenteel de standaard gehanteerd door onze projectteams. Weet dat Skryv applicaties evengoed via een continuous development & deployment aanpak kunt beheren. Daarbij worden aanpassingen en nieuwe functionaliteiten voortdurend naar één productieomgeving gepusht. In geval van problemen, kan men de change heel snel terugdraaien. Wie onderscheid wil maken tussen verschillende gebruikersgroepen en bijvoorbeeld experimentele nieuwigheden enkel beschikbaar wil stellen aan bèta gebruikers, kan hiervoor een systeem met feature toggles opzetten.