9min

Cloud is ‘composable’. Het is een term die we keer op keer voorbij horen komen wanneer leveranciers van bedrijfstechnologie de deugden van cloud computing proberen aan te prijzen. Men stelt dat het op diensten gebaseerde model van onder andere compute, opslag en analytics een composable en controleerbare weg biedt naar allerlei soorten vrijheid.

Een belangrijk onderdeel van dat ‘composable’-thema is het gebruik van containers. Containers zijn de losstaande elementen van softwarecode die alles bevatten wat nodig is om een applicatieworkload, systeemproces of een ander kleiner onderdeel van een netwerksysteem van logica op een hoger niveau te draaien.

In een wereld (of universum) van gecontaineriseerde computing moeten we werken met een groot aantal bewegende delen. Dit betekent dat het niet vanzelfsprekend is om te weten wat waar naartoe gaat op een bepaald moment. Daarom pleiten we nu voor het gebruik van container orchestration, met open-source Kubernetes als de feitelijke standaard in deze sector.

Kubernetes, ook bekend als K8s, is een platform voor het beheren van Linux, Windows of andere containers en elementen van microservice-architecturen in private, public en hybrid cloudomgevingen. Kubernetes-software engineers (meestal gewoon cloud computing engineers genoemd) zijn er in veel soorten en maten. Zo zijn er developers van softwaretoepassingen, DevOps-beoefenaars, systeemarchitecten en anderen in aanverwante disciplines. Deze groepen gebruiken Kubernetes allemaal om automatisch een aantal applicatiecontainers te implementeren, te schalen, te onderhouden, te plannen en te bedienen. Vaak worden deze acties uitgevoerd op een aantal clusters, nodes of andere locaties in een cloudnetwerk.

Gezien het belang, het overwicht en de bekendheid van Kubernetes – en het feit dat de Cloud Native Computing Foundation (CNCF) deze week Kubecon + CloudNativeCon Europe 2023 in Amsterdam organiseert: hoe moeten we de technologie in haar huidige vorm zien in 2023? Met andere woorden: wat is de staat van Kubernetes?

Uitdagingen voor de toekomst

Rob Tribe herinnert ons eraan dat Kubernetes nu de standaard is voor containers. Tribe is VP van systems engineering bij cloud-bedrijf Nutanix. Hij stelt dat de meeste ondernemingen Kubernetes nu op schaal beginnen te evalueren en/of te implementeren. Echter staan we volgens Tribe nog aan het begin van deze technologie en zullen er nog veel ontwikkelingen aankomen.

“Kubernetes op schaal implementeren in een onderneming, op een kosteneffectieve manier, kent een aantal belangrijke uitdagingen, een situatie die we hebben belicht in het vijfde jaarlijkse Nutanix Enterprise Cloud Index (ECI) rapport,” aldus Tribe. “Volgens Gartner zal in 2027 25 procent van alle bedrijfsapplicaties in containers draaien, een stijging ten opzichte van de 10 procent waar in 2021 sprake van was. In veel gevallen is dit een grote uitdaging. Dit komt door het feit dat de meeste Kubernetes-oplossingen niet bedoeld zijn om enterprise-schaal te ondersteunen, en nog minder om dat kunnen doen op een manier die kosteneffectief is.”

Tribe suggereert dat het Nutanix Cloud-platform enterprise organisaties in staat stelt Kubernetes te draaien in een software-gedefinieerde infrastructuuromgeving, die lineair kan schalen.

Vishal Ghariwala, CTO voor APJ & GC bij het Duitse SUSE heeft een weloverwogen kijk op waar we nu staan. Hij zegt dat nu Kubernetes steeds meer gemeengoed wordt. Tegenwoordig erkennen klanten dat de selectie van Kubernetes-platforms een aanpak op maat vereist.

“Sommigen zullen waarde zien in opiniërende Kubernetes-platforms die PaaS-achtige mogelijkheden bevatten. Dit is zelfs zo als ze slechts een fractie van de mogelijkheden benutten”, aldus Ghariwala. “Klanten die prioriteit geven aan platform engineering geven wellicht de voorkeur aan een Kubernetes-platform dat gedistribueerde clusters op een uniforme manier kan beheren. Tegelijkertijd moet dit flexibel genoeg zijn om DevOps-tools van derden te integreren om een PaaS-platform op maat te creëren.”

Beheerde Kubernetes-diensten op de cloud zijn de populairste keuze onder klanten met beperkte middelen en vaardigheden. De VP van SUSE herinnert ons eraan dat geavanceerde klanten meer dan één van deze opties kunnen gebruiken. Dit vanwege verschillende zakelijke vereisten en vaardigheden, en om lock-in risico’s te minimaliseren. “Het is echt bemoedigend om te zien dat er meerdere paden naar Kubernetes-adoptie te bewandelen zijn,” aldus Ghariwala. “Dat stelt klanten namelijk in staat om de optie te kiezen die het beste past bij hun use case en vereisten.”

Paradoxaal platform

Ten minste één persoon heeft zich echt geconcentreerd op de kwestie waar het hier om gaat.

“Kubernetes bevindt zich op een paradoxaal punt. Het doel is namelijk om het beheer van containers te vereenvoudigen, dat lukt zelfs op grote schaal. Maar het zorgt voor complexiteit op het gebied van adoptie. Het resultaat is een technologie die rijp is voor platforming”, aldus Ram Iyengar, developer advocate van de Cloud Foundry Foundation.

Iyengar is niet de enige die dit doorheeft. Het is een thema dat in de hele industrie doorklinkt. Emile Vauge is oprichter en CEO van Traefik Labs. Hij stelt dat naarmate organisaties Kubernetes sneller in productie nemen en gebruiken, het handmatig beheren van meerdere clusters onhoudbaar wordt. Na de eerste adoptie, zegt hij, realiseren veel enterprise IT-organisaties zich snel dat Kubernetes tegelijkertijd het krachtigste en toch meest complexe platform is dat ooit is ingezet en beheerd.

“Het beheer van vloten Kubernetes-clusters brengt uitdagingen met zich mee op het gebied van connectiviteit, beheer en beveiliging op ongekende schaal. De enige manier om Kubernetes-implementaties op schaal efficiënt te beheren, is door een moderne cloud-native infrastructuur en een operationeel model aan te nemen,” stelde Vauge voor. “Investeren in een Kubernetes-native controlepaneel – die volledig GitOps-compliant en zeer interoperabel is – zal organisaties in staat stellen om hun Kubernetes-implementaties te versnellen en hun digitale transformatie-initiatieven te versnellen,” zei hij.

Zo blijkt dat we in de fase zijn beland waarin specialisten in Kubernetes-native controlepanelen het gebruik van Kubernetes-native controlepanelen aanraden. Geen beloning als je correct raadt wat Traefik Labs ontwikkelt. Ondanks deze zelfbedienende suggesties is het punt dat gemaakt wordt duidelijk. We moeten ons afvragen hoe we afstappen van handmatig beheer van Kubernetes-systemen.

Een haat-liefdeverhouding

“De populariteit van containerisatie groeit zonder twijfel. We zagen pulls en downloads van containers zelfs verdubbelen in het laatste kwartaal. Die populariteit zal blijven groeien voor ontwikkelaars omdat ze flexibel te gebruiken zijn en kunnen worden ingezet waar ze nodig zijn. Vanuit het perspectief van een cloud provider betekent dit dat er een beetje een haat-liefdeverhouding bestaat met Kubernetes,” aldus Matt Yonkovit, hoofd open-source strategie bij Scarf. Dit bedrijf levert analyses over het gebruik en de downloads van open-source software.

Yonkovit denkt dat cloud service providers (ook bekend als hyperscalers) Kubernetes op termijn zullen moeten steunen. Dit ondanks het feit dat ze graag klanten willen binden aan hun eigen services. Op termijn zullen ze moeten concurreren op de waarde die ze toevoegen.

“Het grote slagveld voor de toekomst zit nog steeds aan de kant van beveiliging,” zegt hij. “Je kijkt rond in de expohallen en je ziet dat bijna een kwart van de stands van beveiligingsbedrijven is. Daar is een goede reden voor. Daarnaast geeft het aan dat het beveiligingsmodel voor Kubernetes nog steeds niet volledig gestandaardiseerd is. Het zou mooi zijn als de software ooit standaard veilig is.

IBM Cloud-CTO Jason McGee wijst op een ander belangrijk ontwikkelingsthema. Volgens hem worden Kubernetes en containers steeds meer gebruikt om high-performance workloads te draaien. Zozeer zelfs dat de ‘Big Blue’ (IBM) onlangs zijn eigen cloud-native AI-supercomputer heeft aangekondigd. IBM Vela draait op Kubernetes en containers.

“Het razendsnelle succes van Kubernetes kan worden toegeschreven aan verschillende factoren, maar twee van de grootste zijn omstandigheid en gemeenschap,” aldus Suda Srinivasan, VP strategie en marketing bij Yugabyte.

Srinivasan dat het succes van Kubernetes ten eerste een geval is van ‘right place, right time’. “Naarmate meer bedrijven hun applicaties naar de cloud verplaatsen en de technologiestack steeds complexer wordt, helpt Kubernetes de tijdrovende operationele taken van containerbeheer te vereenvoudigen en te automatiseren, waardoor IT-professionals zich kunnen richten op meer strategische taken.”

Het tweede punt dat hij aanwijst gaat over de blijvende waarde van open source en een toegewijde gemeenschap. Kubernetes bewijst dat open-source een robuust en betrouwbaar alternatief is voor traditionele legacy- en licentiesoftware.

“Een sterke en betrokken gemeenschap voegt niet alleen waarde toe aan het project door middel van bijdragen, maar promoot en zet de software ook in, waardoor het bereik toeneemt en nieuwe en diverse use cases worden geïdentificeerd. Het succes van Kubernetes is inmiddels bekend. Het vertoont vooralsnog geen tekenen van afremming. Elke grote cloud-provider biedt nu een beheerd of geïmplementeerd Kubernetes-dienstenaanbod, waardoor ondernemingen overal app-modernisering volledig kunnen omarmen”, aldus Srinivasan.

Meer inzet, meer risico

De manier waarop veel organisaties Kubernetes inzetten, verhoogt de kans op problemen. Applicatie-developers evolueren van de inzet van grote clusters naar meerdere kleinere. Dit biedt meer flexibiliteit om applicaties in te zetten en te draaien, maar zorgt ook voor complexiteit wanneer applicaties veilig met elkaar moeten praten. Dat stelt Sitaram Iyer, in zijn hoedanigheid als senior director cloud-native solutions bij Venafi, een bedrijf dat bekend staat om zijn geautomatiseerde technologie voor certificaatbeheer,

“Binnen elk Kubernetes-cluster heeft elke regel code en microservice een machine-identiteit nodig voor veilige communicatie”, stelt Iyer. “Door het inzetten van complexe, multi-cluster strategieën wordt een enorm aantal identiteiten gecreëerd die niet handmatig beheerd kunnen worden. Veel bedrijven wenden zich tot oplossingen zoals service mesh (voor bijvoorbeeld Istio) om deze toestroom van machine-identiteiten te helpen beheren. Dit vergroot echter het risico, omdat service meshes alleen zelfondertekende machine-identiteiten ondersteunen, waardoor organisaties kwetsbaar blijven.”

In plaats van te vertrouwen op zelfondertekende certificaten voor toepassingen, beweert Iyer dat bedrijven het beheer van machine-identiteiten in eigen hand moeten nemen, Dit doen ze door een control plane te adopteren om machine-identiteiten automatisch te vernieuwen, in te trekken en te beheren. Raad eens welk bedrijf machine control plane identiteitstechnologieën maakt? Ja, dat klopt, maar de complexiteitsfactor is nog goed te zien.

Micha Hernandez van Leuffen, oprichter & CEO van Fiberplane, vat alle uitspraken die hier tot nu toe zijn gedaan samen. Hij stelt dat een van de grootste huidige uitdagingen voor Kubernetes is om een balans te vinden tussen de kracht en de complexiteit ervan. Kubernetes is een ongelooflijk krachtige tool voor het beheer van containers en infrastructuur op schaal. Hernandez van Leuffen is er echter stellig over dat de steile leercurve ontmoedigend kan zijn voor ontwikkelaars die hun applicaties snel en gemakkelijk willen implementeren.

Vervolgens stelt van Leuffen dat Kubernetes en de manier waarop ontwikkelaars het kunnen gebruiken, toegankelijker en ontwikkelaarvriendelijker moeten worden. Alleen dan kan het echt de standaard voor container orchestration worden zonder de geavanceerde functies op te offeren die het zo’n krachtig platform maken.

Plateau van de adoptiecurve

Laten we ons er dan tot slot aan herinneren dat het Kubernetes-project een plateau aan het bereiken is in zijn adoptiecurve. Dat zegt Adolfo García Veytia, staff OSS Engineer bij Chainguard, een bedrijf dat bekend staat om zijn software supply chain security-technologie.

García Veytia zegt dat Kubernetes in het algemeen de laatste jaren aanzienlijk is gerijpt. Het heeft zich ontwikkeld tot de praktische basis voor nieuwe platforms. In het bijzonder heeft het nu faciliteiten voor zowel extensie- als runtime policy-enforcement, waardoor het kernplatform traag en saai is geworden en de spannende innovatie zich verplaatst naar aangrenzende projecten binnen het cloud-native ecosysteem.

“We zijn erin geslaagd het saaier te maken, wat betekent dat het stabieler wordt,” stelt García Veytia, in een welkome openbaring. “Deze fase in de volwassenheid van het project betekent dat de investering van de gemeenschap minder gericht zal zijn op het bouwen van nieuwe functies en meer op het waarborgen van de continuïteit ervan. Nu zie je dat deelnemende organisaties hun expertise inzetten om te helpen op gebieden als infrastructuur, artefactdistributie en in ons geval supply chain security.”

De staat van Kubernetes is dus duidelijk. DevOps-specialisten denken dat Kubernetes meer DevOps nodig heeft, identiteitsspecialisten denken dat het meer identiteitscontroles nodig heeft en specialisten in de beveiligingslaag denken dat Kubernetes meer beveiliging nodig heeft. Data analytics-abstractie en democratiseringspecialisten denken dat… ah oké, je hebt ‘m door. De toestand die we hebben bereikt, wordt in wezen bepaald door de inherente kracht ten koste van de complexiteit die Kubernetes biedt.

Wanneer we kunnen evolueren naar ‘saai’, stabiel en Kubernetes zien als een soort utility computing-functie die er gewoon is omdat het moet, dan zijn we (zoals ook het geval is met elk ander technologisch construct, dienst, methodologie of praktijk) op een goede plaats.