Containerorchestratie door Kubernetes

Door op een slimme manier te kijken naar de opbouw van software maken we applicaties die altijd en op elke infrastructuur presteren.

Beginnen bij de basis

In een wereld waar er op technisch gebied steeds meer mogelijk is, is het soms best een uitdaging om een stevige basis te bouwen zodat je software toekomstbestendig is. Met een stevige basis ben je verzekerd van software die eenvoudig uit te bereiden is met extra features en heb je geen probleem op het gebied van capaciteit als het een veel groter succes blijkt te zijn dan je ooit had durven dromen. Een van de laatste trends op het gebied van softwareontwikkeling is het containeriseren van softwarecode.

Wat is containerisatie?

Als je software op een server installeert, moet je met veel zaken rekening houden. Draait het juiste besturingssysteem op de server? Moet er met meerdere servers gecommuniceerd gaan worden? Zijn alle configuratiebestanden aanwezig? En dan hebben we het nog niet eens gehad over de gevolgen als je zou wisselen van cloud provider. Een van de oplossingen voor deze vraagstukken is containerisatie: het inpakken van softwarecode (en alle bibliotheken, besturingssystemen en configuraties die nodig zijn om de code uit te voeren) in een enkel bestand genaamd een ‘container’. Door dit inpakken kan de software uniform en consistent op elke infrastructuur draaien.

Duidelijkheid over development

Dat het plaatsen van software in containers zo populair is, is al te verklaren nog voordat er een regel code op het scherm staat. Doordat je duidelijke afspraken kan maken met het developmentteam over hoe een container eruit moet zien, kunnen ze snel en ongeremd applicaties ontwikkelen en implementeren. Wil je als developer een nieuwe tool gebruiken? Geen probleem! Je hoeft echt niet eerst de systeembeheerder te bellen die vervolgens iets op de server moet installeren. We installeren de nieuwe tool in de container waar we mee bezig zijn, zodat we verzekerd zijn dat de software overal werkt. Is de code geschreven op een desktopcomputer en moet het nu verplaatst worden naar een virtuele machine? Niets aan de hand, de container staat op zichzelf en is daardoor draagbaar; de software zal probleemloos op elk platform en elke cloud draaien.

Alle software veilig opgeborgen in een verplaatsbare container. Klaar om overal hetzelfde te presteren!
Alle software veilig opgeborgen in een verplaatsbare container. Klaar om overal hetzelfde te presteren!

De rol van Kubernetes

‘Kubernetes’ (klinkt als ‘koe-ber-neet-ies’) is containerorchestratiesoftware. Op het moment dat jij een grote applicatie hebt, dan zal deze bestaan uit verschillende functionaliteiten. Al deze onderdelen zitten in een eigen container. Kubernetes is het ecosysteem waarmee je al je verschillende containers en hun mogelijkheden automatiseert. Het helpt je communiceren met je verschillende containers en automatiseert enorm veel. Er zijn meer tools die ongeveer hetzelfde doen (zoals ECS en Docker Swarm), maar Kubernetes is al jaren de marktleider.