Acht cruciale vragen over Kubernetes

cloud Cloud & Infrastructure

Gepubliceerd op 2032-10-28 door William Visterin

Maar liefst zeven keer haalde Microsoft-CEO Satya Nadella de term Kubernetes aan tijdens zijn introductie op de recente Build ontwikkelaarsconferentie van zijn bedrijf. Terwijl de IT-wereld het orkestratieplatform voor containers lijkt te hebben omarmd, kijken we even naar de situatie in de praktijk. Waar staan we en wat zijn de uitdagingen?

Dit artikel verscheen oorspronkelijk in SAI Update 10, het digitaal magazine van SAI. Leden van SAI kunnen het magazine integraal lezen.

K8s: van concept tot toekomst

Satya Nadella sprak onder meer over Kubernetes bij de preview van de Azure Container Apps voor het beheer van serverless container service bij het bouwen en deployen van moderne apps op (grote) schaal. “Het stelt je als ontwikkelaar in staat om moderne apps te maken op basis van open standaarden. Het is allemaal gebouwd op Kubernetes, zodat je kunt profiteren van de voordelen van het open ecosysteem, terwijl er geen voorafgaande Kubernetes-ervaring of -kennis vereist is”, aldus de Microsoft-CEO.

Met de toelichting haalde de Microsoft-CEO enkele hangijzers aan rond Kubernetes, voor de vrienden kortweg ‘K8s’. Het is hip, maar complex. We overlopen met enkele experts de aandachtspunten. Acht vragen (en antwoorden) over K8s.

1. Hoe leg ik Kubernetes uit aan mijn business-collega’s?

Eerst even back to basics: Kubernetes is een systeem om grote groepen containers en containerized applicaties te beheren. Met deze technologie kun je de werking van containers organiseren, ‘container orchestration’ dus. Kubernetes werd oorspronkelijk ontwikkeld door Google, maar kreeg een eigen leven binnen de opensourcecommunity. Dankzij een open standaard als Docker werden containers erg populair. De kracht van K8s is dat je containers geheel automatisch en volgens vooraf vastgelegde criteria laat verlopen (minimumaantal instances, responstijden, extra instance of verkeer afleiden bij problemen …). Proactiviteit is hier de boodschap. Dat is de basis voor verregaande automatisering: je lost de (meeste) problemen op vóór ze zich stellen. Of zoals het bij Combell klinkt in een blog waar ze het concept helder uitleggen: “Terwijl je vroeger als systeembeheerder een virtuoos was op je favoriete instrument, ben je nu de dirigent die de harmonie van het geheel bewaakt. Je partituur zijn de basisregels waarop het geheel is gebouwd.”

Kubernetes valt onder een bredere visie en aanpak, zoals rond applicatieontwikkeling op basis van API’s (Application Programming Interfaces). In het cloud-tijdperk is het gemeengoed om je applicatie op te knippen in functionele onderdelen, die zelfs elders in de cloud gehost kunnen worden. Bij een DevOps-aanpak met continuous integration & delivery kan de aandacht vooral gaan naar nieuwe functionaliteiten en minder naar infrastructuurkwesties. De niet-functionele noden (veiligheid, performance, hoge beschikbaarheid, flexibiliteit, elastische schaaluitbreiding …) blijven essentieel, maar net op die noden biedt Kubernetes een antwoord, door automatisering.

2. Is K8s mainstream?

Mainstream is het als technologie intussen wel, luidt het uniforme antwoord van een aantal specialisten. “Of het nu over on-premise, public cloud of hybrid cloud gaat, Kubernetes kom je intussen overal wel tegen. Geen enkel bedrijf of geen enkele IT-afdeling stelt zich nog de vraag: wat is dat ding, Kubernetes? of waarom zou ik dat gaan doen?”, antwoordt Bob Dubois, Open Transformation Principal EMEA bij Red Hat. Maar volgens hem betekent het (groeiende) besef dat er iets met Kubernetes te doen valt daarom nog niet dat organisaties (en hun IT-afdeling) er ook effectief mee aan de slag gaan. “Bij sommige bedrijven lopen de developers vooruit op de rest van de organisatie, en dus doen ze het zelf op hun eigen manier. Dan spreken we eigenlijk over shadow-IT. Bij andere bedrijven heeft een centraal platformteam wel degelijk een Kubernetes-aanbod voor intern gebruik, maar de adoptie daarvan loopt moeilijker dan gehoopt.”

Volgens Rouven Besters, regional director Benelux & Nordics van VMware Tanzu, dat recent een rondvraag deed bij bedrijven voor zijn ‘State of Kubernetes’-rapport, is de bocht ingezet en uit zich dat onder meer in het aantal clusters. “In 2020 zei 30 procent van de respondenten dat ze vijf of minder clusters hadden draaien. In 2022 is dat nog maar 12 procent en zegt bijna 30 procent dat ze meer dan vijftig clusters hebben draaien. De sprong is dus gemaakt.”

Is dit ook van tel in ons land? Bij een meer lokale cloud- en hostingpartij als Combell maakten ze bijvoorbeeld zowat drie jaar geleden de switch. Ze integreerden Kubernetes in hun aanbod naar klanten. Besters ziet dat ook bij de grote bedrijven in België en bij de moderne kleine bedrijven. “Kubernetes is een thema waar ze dagelijks mee bezig zijn. De moderne kleinere bedrijven werken bijna altijd met clouddiensten, dus zijn containers daar altijd een belangrijke factor. Ze hebben meer dan vijf clusters in gebruik en in productie.”

3. Wat is de grootste drijfveer?

Toepassingen met een hogere flexibiliteit, meer efficiëntie voor ontwikkelaars en beter cloudgebruik worden hierbij vaak aangehaald. “Door met containers te werken, kun je de applicatie in zekere mate loskoppelen van de onderlaag, zodat je de container eenvoudiger kunt verplaatsen en efficiënter kunt werken. Het is inderdaad zo dat Kubernetes ook de onderliggende resources managet, maar dat is niet het doel van Kubernetes. Met Kubernetes wordt het eenvoudiger en sneller om applicaties te ontwikkelen”, stelt Rouven Besters van VMware Tanzu. “Gebruikers noemen nog een ander voordeel en dat is een verbeterde resource utilization, waardoor ze bijvoorbeeld hun cloudkosten verminderen door efficiënter gebruik”, haalt hij aan.

Maar het belangrijkste voordeel van Kubernetes blijft, volgens Besters, dat ontwikkelaars eenvoudiger moderne applicaties kunnen ontwikkelen. “Wanneer een ontwikkelaar een applicatie bouwt, wil hij die snel kunnen vrijgeven zodat gebruikers er snel gebruik van kunnen maken. Een vlotte weg van ontwikkeling naar productie is cruciaal wanneer je moderne applicaties bouwt en dat is wat Kubernetes doet: het volledige proces automatiseren, versnellen en efficiënter maken. Het neemt daarbij werk uit handen. Daardoor schakelt het de menselijke factor en dus de kans op manuele fouten en procesverstoring uit. Als je op grote schaal containers wilt gebruiken, is manueel werk sowieso niet meer mogelijk. Dan heb je gewoon een tool nodig die kan automatiseren en orkestreren.”

4. Wat is de grootste uitdaging?

Omgaan met de complexiteit is de grootste uitdaging. “Maar de complexiteit van Kubernetes zit niet zozeer in het technische luik, hoewel ook daarin veel verschillen zijn tussen aanbieders”, oppert Bob Dubois. “De echte complexiteit zit in het organisatorische aspect rondom deze nieuwe technologie. Dit geldt voor cloud in zijn geheel, waarvan Kubernetes een onderdeel is of kan zijn. Als een bedrijf zich niet organiseert om als cloud native-organisatie te werken, is het opzetten van een Kubernetes-platform een maat voor niets”, stelt hij.

"Als een bedrijf zich niet organiseert om als cloud native-organisatie te werken, is het opzetten van een Kubernetes-platform een maat voor niets"

Sommige bedrijven zetten een centraal Kubernetes-platform op en hopen dat de developers vanzelf wel zullen komen met hun applicaties. “Dit leidt in veel gevallen tot een empty cluster syndrome, omdat het platform niet gebruiksvriendelijk genoeg is of niet de juiste tools erop beschikbaar zijn”, vindt Dubois. “In sommige gevallen gaan ontwikkelingsteams dan maar hun eigen weg en bouwen ze hun eigen Kubernetes naar eigen wens. Op de korte termijn lijkt dat een tijdswinst op te leveren, maar op de langere termijn liggen problemen op de loer met onder meer operations, stabiliteit, upgrades, security en compliance”, klinkt het. En dan nog is er de samenwerking. “Toen DevOps nog geen jobtitel was, moest het de samenwerking tussen Dev- en Ops-teams versterken. Kubernetes zonder een DevOps-teamgeest is gedoemd te verworden tot een rups die nooit een mooie vlinder werd”, oppert Dubois. Hij ziet ook hoop. “Er is een kentering bezig waarbij bedrijven steeds vaker inzien dat teams en processen aan de basis liggen van een succesvol gebruik van cloudtechnologie zoals Kubernetes.”

5. Levert de IT-markt (al) voldoende eenvoud/ondersteuning?

Het is zeker zo dat de markt vraagt naar een eenvoudiger Kubernetes”, oppert Rouven Besters van VMware Tanzu. “De consensus is dat het moeilijk is, waardoor je mensen met specifieke skills, ervaring en expertise nodig hebt. Die medewerkers zijn er altijd te weinig.”

Net als Red Hat, Microsoft en veel andere partijen proberen ze ook bij VMware het gebruik eenvoudiger en efficiënter te maken, bijvoorbeeld voor ontwikkelaars. “Kubernetes an sich laat namelijk nog veel te wensen over om applicaties sneller te bouwen, veilig te laten werken, de operatoren efficiënt te laten zijn en de ontwikkelaar effectiever te maken. Alleen met Kubernetes kom je er dus niet. De ontwikkelaars van Kubernetes zeggen niet voor niets: ‘Kubernetes is a platform for building platforms.’ Je krijgt dus een halffabricaat als infrastructuur maar daar moet je verder mee aan de slag”, zegt Besters. VMware biedt net daarom een tool suite, technologie en expertise aan om het vervolg eenvoudig en efficiënt te maken.

6. On-premise, single cloud of toch al multi-cloud?

Worden de meeste realisaties met Kubernetes toch niet vooral gedaan voor on-premise en single cloud-omgevingen? “Uit ons onderzoek blijkt inderdaad dat 52 procent van de uitrol nog altijd on-premise gebeurt. Ten opzichte van 2021 is dit cijfer wel een beetje gezakt”, stelt Besters (het was 55 procent). Volgens hem zit er wel een grote evolutie in de uitrol via multi-cloud. “Die evolueert namelijk van 36 procent in 2021 naar 46 procent in 2022, onder andere ten nadele van de single public cloud.”

En hoe zit het in onze contreien? Besters kan de cijfers bevestigen voor België en Nederland. “Daar zit net de moeilijkheid voor bedrijven: alle uitdagingen in verband met compliance, security en operations over de verschillende clouds heen beheren. Je wilt dit uiteraard niet voor elke cloud afzonderlijk uitwerken. Vandaar dat één operationeel systeem voor Kubernetes, voor multi-cloudomgevingen aan de orde is.”

7. Hoe ziet de toekomst van Kubernetes eruit?

Voor een buitenstaander lijkt Kubernetes een beetje het eindpunt in de containerevolutie. Al wil Besters dat nuanceren. “Wat orkestratie betreft, wordt Kubernetes in de markt algemeen als de basis beschouwd. Maar het opensource-ecosysteem in Kubernetes en errond ontwikkelt zich nog altijd enorm snel. Hier spreken van een eindpunt, is dus zeker niet correct”, vindt hij. “Voor een bedrijf is de container niet het eindpunt. Het wil snel nieuwe applicaties bouwen en bestaande applicaties ombouwen zodat het de gebruiker ervan de beste ervaring kan bieden. Dat doel start niet in Kubernetes maar wel met een framework dat bepaalt hoe een bedrijf snel en efficiënt nieuwe applicaties kan ontwikkelen en bestaande ombouwen”, stelt Besters. In dat verband verwijst hij naar het Spring framework dat belangrijker wordt en waar VMware trouwens ook een belangrijke driver van is.

8. Zijn dat de enige evoluties?

Zeker niet want er zijn ook andere en verwante. Een mooi voorbeeld van een (toekomstige) evolutie is volgens Besters ook Service Mesh, een type van networking dat specifiek ontwikkeld werd voor multi-cloudcontainers. “Daarnaast is kwaliteitsborging erg belangrijk voor een bedrijf. Je wilt dat je ontwikkelaars de nieuwste releases gebruiken maar die moeten wel door het bedrijf gevalideerd zijn, zodat vaststaat dat ze veilig en compliant zijn”, stelt Besters. Nog een belangrijke ontwikkeling, vindt hij de moderne datacomponenten die je in het ecosysteem wilt inbouwen. “Ook dat moet efficiënt en geautomatiseerd verlopen. Bijgevolg heb je een moderne data-architectuur nodig, zodat die het moderne applicatielandschap kan volgen.”

Evoluties zitten overal. Naast het framework en ecosysteem gaat ook heel wat energie en ontwikkeling naar manieren om de ontwikkelaar efficiënter te laten werken. “Kubernetes brengt immers diverse uitdagingen met zich mee. Denk aan de complexiteit ervan, het ontbreken van security en de enorme inspanningen die organisaties moeten doen om talent met expertise van Kubernetes te rekruteren. Daarom is het belangrijk dat er spelers zijn die best practices, templates en tooling voorzien om de veiligheid te garanderen. Kubernetes eenvoudiger maken zodat developers kwaliteitsvolle software kunnen opleveren in productie, dat blijft the way to go.”


© SAI 2024 Alle rechten voorbehouden | Privacy | Contact | Lid Worden | Over SAI | Raad van Bestuur | Partners en Steun