Cloud & Serverless
Waarom Kubernetes Vaak Te Veel van het Goede Is
Kubernetes is de onbetwiste leider als het gaat om het orkestreren van containers (Docker). Het biedt enterprise-schaalbaarheid, self-healing, en een extreem rijk ecosysteem. Echter, Kubernetes kent een enorm donkere kant: het beheer van de infrastructuur is extreem complex. Zelfs met managed services zoals AWS EKS of Google GKE moeten operations-teams nog steeds de onderliggende ‘Worker Nodes’ (de fysieke virtuele machines) patchen, upgraden, beveiligen en configureren voor auto-scaling. Voor veel bedrijven, of voor losse product-teams die simpelweg snel een API online willen hebben, voelt Kubernetes als het besturen van een Boeing 747 om boodschappen te doen. De oplossing die de kloof dicht tussen de vrijheid van containers en het gemak van Serverless, heet Serverless Containers.
De Paradigmaverschuiving: Vergeet de Knooppunten (Nodes)
Het idee achter serverless container-platforms, aangevoerd door marktleiders AWS Fargate en Google Cloud Run (gebaseerd op Knative), is simpel: u levert enkel een Docker-image aan de cloud-provider. U specificeert hoeveel CPU en RAM uw specifieke container nodig heeft, en de cloud-provider zoekt zelf een plekje op hun gigantische, onzichtbare serverpark om uw applicatie te draaien. Er zijn geen servers te configureren, geen besturingssystemen te patchen (geen AMI’s of Ubuntu-updates), en geen cluster-upgrades uit te voeren. Dit is de ultieme manifestatie van ‘NoOps’.
AWS Fargate: Naadloze Integratie, Trage Scaling
AWS Fargate integreert diep met het bestaande AWS-ecosysteem, specifiek ECS (Elastic Container Service) en EKS. Het grote voordeel van Fargate is dat het naadloos samenwerkt met de zware netwerkbeveiliging van AWS (VPC’s, Security Groups). U kunt uw containers volledig isoleren in privé-netwerken. Echter, de architectuur van Fargate voelt soms wat zwaar aan. Het opschalen (starten van een nieuwe container bij toenemend webverkeer) kan al snel tientallen seconden duren, wat het ongeschikt maakt voor extremepieken. Bovendien draait Fargate altijd; het kent geen ‘Scale-to-Zero’, waardoor u blijft betalen als er ’s nachts geen bezoekers zijn.
Google Cloud Run: Razendsnel en Scale-to-Zero
Aan de andere kant van het spectrum staat Google Cloud Run, geprezen door developers om zijn extreem soepele ‘developer experience’. Waar Fargate zich richt op infrastructuur-integratie, richt Cloud Run zich op pure snelheid en HTTP-gebaseerde applicaties. Het grootste voordeel? Cloud Run kan applicaties in milliseconden opschalen en ondersteunt ‘Scale-to-Zero’. Als uw web-API ’s nachts nul verzoeken krijgt, schaalt de infrastructuur terug naar nul en betaalt u absoluut niets. Komt er opeens een piekaanval van 10.000 verzoeken? Cloud Run draait binnen enkele seconden honderden containers op om de load aan te kunnen. Het nadeel is dat het minder geschikt is voor zware achtergrond-processen zonder HTTP-triggers, hoewel Cloud Run Jobs deze kloof recentelijk vult.
De Keuze voor de Architect
Voor enterprise applicaties met complexe netwerk-eisen, specifieke GPU-vereisten (zoals AI-training), of daemon-sets (achtergrond logging agents), blijft een volledig Kubernetes-cluster noodzakelijk. Echter, voor 80% van de standaard stateless microservices, web-API’s en data-processing scripts bieden Serverless Containers een veel kortere time-to-market tegen een veel lagere operationele overhead. U betaalt wellicht iets meer per CPU-seconde in vergelijking met kale servers, maar u bespaart honderdduizenden euro’s op Kubernetes beheerders (FTE’s). Bekijk verdere overwegingen op Computable.
Volgende: Ransomware Resilience: Air-Gapping en Immutable Storage in Moderne Back-ups
