Cloud-native technologie geeft online reisbureau Prijsvrij Vakanties meer flexibiliteit

Prijsvrij kiest voor managed Kubernetes van True
Prijsvrij kiest voor managed Kubernetes van True
Home / Blog & Nieuws / Cloud native / Cloud-native technologie geeft online reisbureau Prijsvrij Vakanties meer flexibiliteit

De impact van de COVID-19 pandemie op de reisbranche is groot geweest. Niet alleen konden reizigers lange tijd niet reizen, ook moesten reisorganisaties bijvoorbeeld aan de slag met vouchers. Desondanks omarmde Prijsvrij Vakanties midden in de pandemie managed Kubernetes van True. IT Director Bertram van de Ven van Prijsvrij Vakanties licht deze keuze toe en gaat onder meer in op de voordelen van Kubernetes.

Prijsvrij Vakanties is een online reisbureau dat sinds 2010 actief is en een achtergrond in software heeft. Zo is het bedrijf in het verleden – onder een andere bedrijfsnaam – actief geweest als softwarebedrijf voor de reisbranche, met grote spelers als klant. Het team van dit softwarebedrijf is nagenoeg volledig aan de slag gegaan bij het reisbureau. Het bedrijf beschikt dan ook over veel expertise en kennis op het gebied van software. “In 2010 zijn wij in de reisbranche gestapt en zelf reizen gaan aanbieden. In de afgelopen jaren zijn we flink gegroeid. Onder meer door de overname van D-Reizen zijn we inmiddels een grote speler in de reisbranche”, legt Bertram van de Ven, IT Director bij Prijsvrij Vakanties, uit.

Onzekerheid

De impact van de COVID-19 pandemie op de reisbranche is groot geweest. “In eerste instantie door de grote onbekendheid en onzekerheid over de mogelijkheden. Het op slot gaan van de wereld leidde vorig jaar tot veel onzekerheid bij klanten. Die onzekerheid had onder meer nieuwe piekmomenten in internetverkeer tot gevolg. “We merkten bijvoorbeeld dat direct na persconferenties vaak een piek ontstond. Soms bracht zo’n persconferentie positief nieuws, waardoor meer mensen boekingen deden. Negatief reisnieuws vertaalde zich juist in een piek in annuleringen en klanten die informatie zochten. Deze nieuwe piekmomenten zorgen onder meer voor meer onvoorspelbaarheid, waarop wij ons moeilijk kunnen voorbereiden”, legt Bertram uit.

Lees ook: Is jouw app klaar om cloud-native te gaan?

“Normaliter is het jaar verdeeld in vaste seizoenen: het vroegboekseizoen van pakweg halverwege december tot februari en het last minute-seizoen dat meer richting de zomervakantie plaatsvindt. Dit zijn vaste piekmomenten in internetverkeer, waarop je je dan ook kunt voorbereiden. Nu reizen lange tijd niet mogelijk was merk je dat zodra het weer wel kan, mensen ook direct op reis willen. Reizen zit echt in de aard van het beestje.”

Migreren tijdens een pandemie

Midden in de COVID-19 pandemie – in 2020 – is Prijsvrij Vakanties aan de slag gegaan met Kubernetes. “Dit houdt verband met een groter project, dat al voor de COVID-19 pandemie van start is gegaan. De keuze voor Kubernetes hadden we dan ook al gemaakt en houdt geen direct verband met de pandemie. Hoewel de pandemie veel extra werkdruk met zich meebracht, wilden wij toch vooruit blijven kijken en ons blijven ontwikkelen. Dit is de reden dat wij ondanks de COVID-19 pandemie toch de Kubernetes hebben omarmd.”

De reisorganisatie is inmiddels deels overgestapt op Kubernetes. “Het huidige Prijsvrij Vakanties draait vooralsnog net als voorheen op Virtual Private Servers (VPS’en) gehost door True. Kubernetes gebruiken we voor een los project dat we naast onze huidige systemen opzetten. Deze systemen koppelen we aan elkaar. Zo kunnen we hierin geleidelijk steeds verder doorgroeien en Kubernetes steeds verder omarmen.”

Meer controle over het aanbod

Het project waarvoor Kubernetes wordt ingezet geeft het team van het reisbureau de beschikking over veel meer data. “Denk hierbij aan informatie over reizen, vluchten en accommodaties. Met behulp van deze gegevens kunnen wij veel nauwkeuriger sturen op wat we wel en niet aanbieden, wat ons meer controle geeft over ons aanbod”, zegt Bertram. De klant ziet de veranderingen niet direct aan de website van Prijsvrij Vakanties; de front-end blijft op de vertrouwde manier werken.

“Onze aandacht voor Kubernetes is aangewakkerd door een aantal grote spelers die wij in de gaten houden, zoals Netflix en Uber. Zij hebben regelmatig interessante sprekers die hun ervaringen met onder meer Kubernetes delen. Op basis hiervan zijn wij gaan experimenteren met het containerorkestratieplatform. Kubernetes bleek goed te passen bij de manier van automatiseren en ontwikkelen die wij nastreven. Zo willen we snel wijzigingen kunnen doorvoeren, zonder al te veel gedoe.”

Van monolithisch naar microservice-structuur

“Voorheen was onze software volledig monolithisch. We merkten echter dat onze software hierdoor steeds complexer wordt, met een steeds grotere codebase. De kans dat een foutje in de code sluipt neemt hierdoor bij iedere release verder toe. Je wilt immers niet iedere keer de volledige code van een monolithische applicatie nalopen als je slechts een kleine wijziging aanbrengt. Ook merkten we dat we soms met meerdere developers gelijktijdig ontwikkelden, waarbij we soms in elkaars vaarwater terecht kwamen. Deze monolithische applicatie draaien we op VPS’en, gehost bij True.”

Lees ook: ‘Van monolithische applicaties naar microservices’

“Met een microservice-structuur kan je goed behapbare projectjes maken en functionaliteiten zo meer van elkaar scheiden”, zegt Bertram. “Deze losse projecten moeten weliswaar goed met elkaar kunnen communiceren, maar doen verder hun eigen ding. Dit past goed bij Kubernetes, maar ook bij onze huidige Continuous Integration & Continuous Development (CI/CD) pijplijn die via GitLab loopt.”

Meer flexibiliteit

De werkwijze biedt Prijsvrij Vakanties onder meer een grotere flexibiliteit. “Piekmomenten opvangen is bijvoorbeeld veel makkelijker. Indien je met een monolitische applicatie op een piek in internetverkeer berekend wilden zijn, kan je eigenlijk alleen de volledige applicatie opschalen. Dit terwijl in de praktijk vaak slechts een aantal onderdelen van deze monoliet het daadwerkelijk drukker krijgen. Dat onderscheid kan je echter niet maken.”

“Bij microservices kan dat wel. Als je bijvoorbeeld ziet dat een specifieke microservice veel belast wordt, schaal je alleen die microservice op. Werken met microservices zorgt dan ook voor een efficiëntieslag.“ Op termijn wil het reisbureau daarom ook onderdelen van zijn bestaande monolithische applicatie naar Kubernetes migreren.

Prijsvrij kiest voor managed Kubernetes van True

Prijsvrij Vakanties kiest voor managed Kubernetes van True. “De naam van het aanbod zegt het eigenlijk al: Managed Kubernetes is managed. Dat scheelt ons veel werk en expertise, die wij onszelf dan zouden moeten aanleren of inhuren. We hebben al langer ervaring met True, waar wij al jaren onze VPS’en hosten. De communicatie met True verloopt daarbij altijd soepel en prettig. De medewerkers waarmee wij contact hebben zijn geïnteresseerd en bereid zaken voor ons uit te zoeken”, zegt Bertram. “Dat is bij Kubernetes niet anders. True heeft zich hierin vastgebeten en zijn goed bekend met alle ins en outs. Dat stelt ons in staat ons toe te leggen op onze expertise: het aanbieden van reizen en daarvoor ontwikkelen van software.”

Download ook: ‘De belangrijkste selectiecriteria voor een (managed) Kubernetes provider

Prijsvrij Vakanties keek ook naar het Kubernetes-aanbod van de grote cloudspelers: Amazon, Google Cloud en Microsoft. “Daar moet je echter echt alles zelf regelen, wat simpelweg om meer expertise vraagt. Wij kiezen daarom bewust voor het uitbesteden van Kubernetes. Gezien onze goede ervaringen met True lag de keuze voor deze specifieke managed hosting provider voor ons voor de hand.”

Gedeelde verantwoordelijkheid

In de praktijk betekent de samenwerking True onder meer dat de managed hosting provider alle infrastructuurgerelateerde taken op zich neemt. En de developers van Prijsvrij Vakanties op de juiste weg helpt bij eventuele vragen. “Developers zijn bij ons verantwoordelijk voor zowel ontwikkelen als operations. Oftewel: zij ontwikkelen niet alleen, maar zorgen ook dat dit in productie ook naar behoren functioneert.”

True is verantwoordelijk voor het Kubernetes-cluster. Zij nemen alle infrastructuurgerelateerde zaken op zich. “Soms lopen wij tegen zaken aan waarvan voor ons niet duidelijk is of dit onder onze verantwoordelijkheid valt of die van True. Dan denken de experts van True met ons mee en wijzen ons – indien de oplossing bij ons ligt – in de juiste richting.”

Het gebruik van Kubernetes bevalt het reisbureau goed. “Kubernetes draait momenteel als een los project, los van onze systemen die op VPS’en bij True draaien. Aangezien Kubernetes tot nu toe echter zeer goed bevalt onderzoeken we momenteel hoe we de huidige Prijsvrij structuur stapsgewijs kunnen migreren naar een microservices-structuur die we goed vinden passen bij Kubernetes.”

Een andere manier van ontwikkelen

Werken met microservices vraagt wel om een aantal aanpassingen in het ontwikkelproces. “Zo is alles in Kubernetes stateless. Je moet er dus altijd vanuit gaan dat code op ieder moment herstart kan worden, zonder dat dit impact mag hebben op het functioneren. Je kunt dus bijvoorbeeld niet vertrouwen op een bestandje dat in het geheugen bewaard blijft of lokaal op een server staat opgeslagen”, zegt Bertram. “Daarnaast zorgen we dat iedere microservice over zijn eigen database beschikt en data dus maar vanuit één kant beheerd wordt. Dat heeft een praktische reden: indien je deze scheiding niet aanbrengt en een database bijvoorbeeld door twee microservice wordt beheerd, moet je beide microservices updaten indien je de database update.”

Lees ook: Welke skills en vaardigheden heb je nodig voor het beheren van Kubernetes?

Hoewel managed Kubernetes managed is, vraagt de keuze ook van het IT-team van Prijsvrij Vakanties bepaalde kennis. “Hoewel we veel zaken uitbesteden, willen we toch weten hoe het onder de motorkap werkt. We hoeven niet alles te kunnen, maar we willen wel de basis begrijpen. Ook het werken met containers, pods en load balancing vraagt om de juiste kennis. We beschikken daarom onder meer over een developmentomgeving: een soort speeltuin waarin we nieuwe dingen kunnen uitproberen zonder dat dit de productieomgeving raakt”, aldus Bertram.

Gebruik van Kubernetes uitbreiden

In de toekomst wil Prijsvrij Vakanties het gebruik van Kubernetes uitbreiden. “We willen onder andere meer microservices gaan creëren en meer software naar microservices verhuizen. Hierbij willen we kleine onderdelen van onze huidige monolithische applicatie omzetten in microservices en migreren. Zo willen we de applicatie stapsgewijs migreren, zonder dat we in één keer de volledige monoliet hoeven te herstructureren. Dit proces voeren we gefaseerd over een langere periode uit.”

Dankzij de gefaseerde aanpak kan de reisorganisatie per functionaliteit beoordelen of een migratie naar een microservice de beste aanpak is. De reisorganisatie weet dan ook nog niet of de volledige monolithische applicatie uiteindelijk migreert naar Kubernetes, of dat alleen specifieke elementen verhuizen. “De stapsgewijze aanpak maakt het mogelijk deze beslissing uit te stellen, wat prettig is!” besluit Bertram.

True Ligan
Managed hosting sinds 2000