Tijmen van den Brink
Tijmen van den Brink Architect
24 november 2020

Waarom je Kubernetes nodig hebt ​

Krijg je soms wel eens het gevoel dat informatietechnologie nog steeds veel te ingewikkeld is? In de afgelopen decennia hebben verschillende digitale technologieën ons leven gemakkelijker gemaakt, vooral door de complexiteit daaronder te abstraheren. Dankzij zaken zoals virtualisatie en een (openbare) cloud konden we voldoen aan de nog altijd stijgende vraag naar betrouwbare diensten. Steeds complexere technologie creëerde een wereld vol nieuwe en spannende mogelijkheden. Maar de manier waarop ontwikkelaars softwareontwikkeling benaderden, veranderde niet. Tenminste, niet meteen – en dit zorgde voor allerlei problemen.


Applicaties bouwen en draaien werd steeds ingewikkelder naarmate de hardwaretechnologie afnam en de prijzen daalden, maar we bleven eigenlijk hetzelfde doen: geweldige programma’s bouwen, ze testen tot ze perfect draaiden en ze vervolgens loslaten op de wereld. Dit was heel logisch, totdat software ontwikkelen, testen en inzetten zoveel tijd begon te kosten dat het een kwestie van maanden of zelfs jaren werd, voordat we het over implementatie konden gaan hebben. Tegen die tijd bleek software steeds meer verouderd, waren de eisen drastisch veranderd en was het geheel zo’n complexe lappendeken van onderling afhankelijke processen geworden, dat zelfs maar het idee om een klein detail te veranderen de ontwikkelaars depressief zou maken. Er was duidelijk een nieuwe aanpak nodig.

 
“Het opsplitsen van een monoliet in microservices en deze betrouwbaar laten draaien in honderden of zelfs duizenden containers is op zich een ontmoedigende taak. Tenzij je natuurlijk een goede orchestratietool gebruikt.”

Microservices, containers en orchestration​

Deze monolithische aanpak volstaat vandaag de dag duidelijk niet meer, dus nu zien we een verschuiving richting een microservicesarchitectuur. Het idee is om een enkele applicatie te draaien als een suite van kleine diensten die onafhankelijk kunnen worden gepland, gecodeerd, gebouwd, getest, vrijgegeven, uitgerold, in gebruik genomen en gecontroleerd. Die stukken noemen we microservices: kleine applicaties die slechts één functie vervullen, met elkaar communiceren via gedefinieerde API’s en in geïsoleerde containers leven waarin ze gegarandeerd werken. Samen vormen deze containers de applicaties die we dagelijks gebruiken.


Er is echter ook een nadeel. Het opsplitsen van een monoliet in microservices en deze betrouwbaar laten draaien in honderden of zelfs duizenden containers is op zich een ontmoedigende taak. Tenzij je natuurlijk een goede orchestratietool gebruikt. Er zijn meerdere manieren om dit te doen, maar de populairste en effectiefste tool is Kubernetes (k8s).


Kubernetes is een open-sourceproject. Het werd oorspronkelijk intern ontworpen door Google (als een clustermanager met de naam Borg), maar wordt nu onderhouden en ontwikkeld door de Cloud Native Computing Foundation (CNCF). CNCF biedt echter niet alleen Kubernetes een thuis. Door het immense ecosysteem rond Kubernetes is het gemakkelijk om het overzicht over alle mogelijke oplossingen te verliezen. Hun certificeringsprogramma is ontzettend handig bij het selecteren van de juiste oplossingen voor een bepaalde taak, aangezien de CNCF-certificering garandeert dat verschillende oplossingen voldoen aan bepaalde normen en daadwerkelijk samenwerken. Het stelt ons in staat om verschillende mogelijkheden, functies en de continuïteit en veiligheidsaspecten van elke oplossing af te wegen, om zo een flexibele opstelling voor software-release en vernieuwing te creëren die past bij het doel van je organisatie.

 

Meld je aan voor de Solvinity Nieuwsbrief​

Ontvang elk kwartaal het laatste nieuws, blogs, artikelen en events.
Meld je aan voor onze nieuwsbrief.​​
Background Icon
Agile worden

Het mooie van het werken met containers en Kubernetes is dat het de ontwikkelaars een snelheid en wendbaarheid geeft die perfect past bij een CI/CD (Continuous Integration en Continuous Delivery) manier van werken. CI/CD vereist nauwe samenwerking tussen Development en Operations. Deze cultuur, die DevOps wordt genoemd, is vaak lastig te realiseren binnen één organisatie, laat staan wanneer je Operations hebt uitbesteed, terwijl Development intern blijft. Solvinity heeft hier een oplossing voor gevonden die ‘Stretched’ DevOps wordt genoemd. Samen met CI/CD en een geavanceerd implementatiemodel gebaseerd op containers en Kubernetes noemen we dit Integrated Delivery, wat de basis vormt voor de Solvinity Secure Managed IT Services die je kent en waar je van houdt.

Zoals je wellicht uit dit verhaal hebt kunnen opmaken, betekent het doorbreken van een dergelijke complexiteit niet noodzakelijk dat alles gemakkelijker wordt. Werken met containers (en met Kubernetes die ze beheert) is een enorme verbetering ten opzichte van de traditionele Waterval-ontwikkelmethoden. Deze methode creëert de flexibiliteit die je nodig hebt om een Agile organisatie op te bouwen en verbetert, samen met Integrated Delivery, de snelheid en kwaliteit van de softwareontwikkeling aanzienlijk. Maar eenvoudig is het niet. De mogelijkheden zijn enorm en elke dag worden er nieuwe projecten gestart die nieuwe oplossingen bieden en tegelijkertijd nieuwe vragen oproepen.

Het is een grote uitdaging om dat allemaal bij te houden, zelfs met behulp van een organisatie als CNCF. Gelukkig houden wij bij Solvinity van uitdagingen. We bezoeken evenementen zoals KubeCon en DevOpsDays, volgen de seminars en lezen de documenten, zodat jij dat niet hoeft te doen. Wil je weten wat Solvinity met Kubernetes voor jouw organisatie kan betekenen? Neem gerust contact met ons op, we vertellen je graag meer over de mogelijkheden.

Security by Design

Integrated Delivery: samen voorspelbaar,
veilig en vlot nieuwe functionaliteit leveren

Download de Integrated Delivery White Paper​

Weten hoe je snelheid en flexibiliteit  in je softwareontwikkeling kunt behouden wanneer je IT hebt uitbesteed? Lees alles over ons unieke software release model ‘Integrated Delivery’.

Background Icon

Lees ook

Meer