Beheer

Infrastructuur
data center

Kubernetes start verovering applicatielandschap

Maar hoe kies je een passende distributie?

3 juli 2020

Maar hoe kies je een passende distributie?

Kubernetes - en daarmee het gebruik van containers - is voor steeds meer organisaties een mogelijkheid om oudere monolytische applicaties te voorzien van beter life cycle management en continous integration continous delivery (CI/CD). Maar hoe kom je aan de juiste Kubernetes-implementatie en onderhoud je die?

De afgelopen jaren was het gebruik van Kubernetes vooral populair bij het opzetten van nieuwe cloudgebaseerde toepassingen, waarbij gebruikersorganisaties de voordelen van containers en microservices optimaal wilden inzetten. Maar op basis van deze ervaringen groeit langzamerhand de interesse om Kubernetes breder in te zetten. "De afgelopen 6 tot 9 maanden is het aantal vragen dat ik daarover krijg echt significant toegenomen", zegt Gartner-analist Tony Iam. 

Een voorbeeld van zo'n transitie is de grote Italiaanse bank Intesa Sanpaolo, die in 2018 begon aan een digitaliseringsstrategie. De strategie is gericht op het zo veel mogelijk inzetten op microservices en container-architectuur. De monolytische toepassingen moesten, waar het kon, worden vervangen door multi-tier-applicaties om zo de ontwikkelcycli te bekorten, flexibeler te worden en de schaalbaarheid en betrouwbaarheid te vergroten, vertelt een woordvoeder van de bank.

Intesa Sanpaolo koos voor de pilots aanvankelijk een aanpak waarbij containers werden gebruikt op de bestaande infrastructuur van virtual machines (VM's). Hoewel dat goed ging, wilde de bank de overhead van de virtual machines kwijt - en de licentiekosten - door over te stappen op Kubernetes op 'bare metal'. Dat bleek een erg lastige klus. Daarom werd gekozen voor een aanpak met appliances van Diamanti, een Amerikaanse scale-up die een Kubernetes-implementatie levert, geïnstalleerd op custom x86-servers.

Day 2 nekt organisaties

De keuze voor een commercieel ondersteunde Kubernetes-implementatie is verstandig, volgens Gartner-analist Iam. "Het installeren en draaiend krijgen van een Kubernetes-platform is één ding, maar vooral de 'day two'-problematiek is voor de meeste organisaties niet te doen." Hij doelt op het onderhouden en actualiseren van de Kubernetes-implementatie. Het gaat om een zeer actieve opensourcegemeenschap achter Kubenetes die voortdurend nieuwe eigenschappen en verbeteringen toevoegt. Bovendien is het een complex opensourceproject dat bestaat uit verschillende componenten die elk hun eigen release-cadans hebben. En dan zijn er nog de beveiligingsaspecten. Iam: "Als je Kubernetes ziet als een soort besturingssysteem, heeft het een enorm aanvalsvlak en is het aanbrengen van beveiligingspatches heel belangrijk."

Steek zelf geen tijd in onderhoud platform

Een gebruikersorganisatie die het allemaal zelf wil doen, zit dus vast aan een groot aantal updates per jaar, waarvan op voorhand niet altijd even duidelijk is hoe stabiel deze zijn. "Gartner adviseert daarom gebruik te maken van een commercieel ondersteunde Kubernetes-distributie. Dan ligt de verantwoordelijkheid voor het leveren van een stabiele update bij de dienstverlener. Je kunt beter zelf je tijd en talent steken in het ontwikkelen van slimme containertoepassingen op het platform dan het onderhoud van het platform."

Er is wel een nadeel aan het gebruik van zo'n distributie. Elke leverancier creëert - soms bewust - een situatie van vendor lock-in, bijvoorbeeld door het gebruik van de meegeleverde tooling. "Wanneer je bijvoorbeeld kiest voor OpenShift en gebruikmaakt van de tools op dat platform, weet je dat die alleen werken op het OpenShift-platform. Dat hoeft niet erg te zijn. Klanten accepteren een lock-in wanneer ze er voldoende voordeel voor terugkrijgen. Maar je moet je als gebruikersorganisatie daarvan wel bewust zijn."

Kiezen uit enorm aanbod

Maar voor welke distributie kies je dan? Dat is nog niet eenvoudig, gezien het enorme aanbod. De Cloud Native Computing Foundation - de organisatie die de Kubernetes-ontwikkeling beheert - noemt op zijn website inmiddels 101 gecertificeerde platformen. Die voldoen dus allemaal aan de specificaties.

Een belangrijk onderscheid is volgens Iam al te maken tussen cloudgebaseerde platformen en distributies die organisaties 'on premise' kunnen draaien. "Als het kan, zou ik een cloudgebaseerde variant kiezen. Je hebt dan als gebruiker helemaal geen omkijken meer naar het up-to-date en veilig houden van het containerplatform. Maar dat kan niet altijd, vanwege productievereisten of wet- en regelgeving."

Iam somt de eigenschappen van de vijf distributies op die de in gesprekken met Gartner-klanten het vaakst naar voren komen.

  • OpenStack van RedHat. Een volwassen aanbod, mede te danken aan het feit dat RedHat al in een heel vroeg stadium bij Kubernetes was betrokken. Maar OpenShift is meer dan alleen een Kubernetes-platform. Het is eigenlijk een platform-as-a-service (PaaS). Er zit veel tooling bij om toepassingen te bouwen.
  • Tanzu van VMware. Dit is juist een vrij nieuw aanbod met een grote inbreng van  de PaaS-technologie die VMware kocht via de overname van Pivotal. Dat platform is weer geïntegreerd met Vsphere, waardoor het mogelijk is met één platform zowel containers als VM's te beheren. Ontwikkelaars kunnen hier hun CI/CD-processen mee opzetten. Deze variant krijgt vooral veel aandacht van bestaande Pivotal- en VMware-klanten.
  • Rancher van Rancher. Dit is een klein bedrijf dat zich heeft gespecialiseerd in het managen van verschillende Kubernetes-clusters en combinaties van clusters on-premise en in de cloud. De distributie kan daarbij omgaan met grote hoeveelheden clusters, tot wel een miljoen. Daarbij is het mogelijk ook Kubernetesdiensten van derden te integreren - dus bijvoorbeeld die van Amazon - EKS - en Microsoft - AKS (op Azure). Rancher werkt verder hard aan de ontwikkeling van Kubernetes voor edge-computing.  
  • Docker Enterprise van Mirantis. Opgezet door container-pionier Docker, maar verkocht aan het bedrijf Mirantis. Veel van de vroege gebruikers van Docker Swarms - Dockers oorspronkelijk containerbeheerplatform - schakelen nu over naar het gebruik van Kubernetes. Dan heeft het voordelen bij Mirantis te blijven.
  • Ksphere van D2IQ. Dit bedrijf - spreek uit: 'day two ai qu' - richt zich met name op het ontzorgen van de eerder genoemde 'day two'-operationele problematiek.

Daarnaast hebben AWS, Microsoft en Google hun eigen Kubernetes-platform in de cloud en heeft ieder van deze leveranciers een eigen manier bedacht om deze dienstverlening uit te breiden naar 'on premise'. Microsoft heeft Arc voor EKS, Google heeft Anthos en Amazon heeft Outposts.

Maar de lijst met distributies is dus veel langer en gevuld met partijen die ieder eigenschappen toevoegen die voor specifieke klanten heel aantrekkelijk kunnen zijn. Zo heeft bijvoorbeeld HPE een uitgebreid portfolio aan machine learning analytics toegevoegd aan hun Kubernetes-distributie.

En Diamanti - zoals de Italiaanse bank Intesa Sanpaolo gebruikt - heeft met Spektra een interessante aanpak door de distributie op bare metal van een appliance te leveren. Klanten kunnen die gebruiken in het eigen datacentrum en de bovendien een koppeling maken met andere clusters. "Je kunt dus clusters beheren die geografisch verspreid liggen. Niet te ver - denk eerder aan verschillende clusters in een stad dan aan 'East coast - West Coast'-afstanden", constateert Iam. "Kubernetes is niet ontworpen voor het overbruggen van grote afstanden. Elke keer dat je een verandering aanbrengt - een applicatie starten is bijvoorbeeld een verandering - moet dat worden gecommuniceerd naar elk knooppunt (node) in het cluster. Naar mate die verder uit elkaar liggen, kom je op een punt dat het te traag is om werkbaar te zijn."

Volgens Iam is de volgende uitdaging in de ontwikkeling van clusterbeheer het schuiven van applicaties en data tussen verschillende clusters, zogeheten federation across multiple custers. "Dat staat nog echt in de kinderschoenen. Het gaat dan niet meer alleen om het opstarten van clusters maar ook om de status van de clusters. Een van de heel belangrijke toepassingen is disaster recovery. Wanneer een cluster problemen heeft, kan de workload worden overgenomen door een ander cluster. Dan moet echter ook de 'state' van de cluster worden gerepliceerd." Portworks was de eerste die daarmee kwam, maar er zijn wel veel partijen mee bezig.

Andere use cases voor zo'n federated multicluster platform zijn bijvoorbeeld verschillende teams die willen samenwerken en daarvoor applicaties en data willen delen, maar op verschillende clusters zitten, soms zelf in verschillende geografische regio's. "We zitten wat dat betreft nog in het stenen tijdperk. Maar dat tilt gedistribueerd computergebruik wel echt naar een volgend niveau", mijmert Iam.

Lees meer over
Lees meer over Beheer OP AG Intelligence
Reactie toevoegen
De inhoud van dit veld is privé en zal niet openbaar worden gemaakt.