Att drifta Kubernetes är svårt. Många organisationer har börjat inse att de får mer tid över till att lösa andra tekniska problem om de lämnar över jobbet med mjukvarucontainers till andra företag som en drifttjänst.

De mest använda Kubernetes-lösningarna – ibland talar man om Kubernetes-as-a-service, KaaS – är Amazon Elastic Kubernetes Service (EKS), Azure Kubernetes Service (AKS) och Google Kubernetes Engine (GKE). Och varje molnoperatör erbjuder sina tjänster som, mer eller mindre, totallösningar i form av drifttjänster. Ett exempel är den omstridda GKE Autopilot och de serverlösa EKS Fargate. Det finns flera, som Rancher, Red Hat Openshift och VMware Tanzu, men de tre stora molnoperatörerna dominerar.

Molnoperatörerna anstränger sig att hitta en avvägning mellan å ena sidan att låta kunderna styra och integrera efter eget val och å andra sidan att abstrahera krångliga funktioner som autoskalning, uppgraderingar, konfigurering och hantering av kluster. Allt eftersom dessa drifttjänster har mognat har allt fler organisationer kommit fram till att hantering av egna Kubernetes-kluster är ett resurskrävande arbete som varken gör till eller från och har blivit allt mer onödigt.

– Folk som går så långt att använda binärkod med öppen källkod och att skriva egna verktyg är extrema exempel, och det finns inte många skäl att göra det i dag, om man inte använder Kubernetes på ett riktigt unikt sätt, säger Joe Beda, medgrundare av Kubernetes och chefsutvecklare på VMware Tanzu.

– Det finns alltid undantag, organisationer med hög teknisk och driftsmässig kapacitet kan köra Kubernetes själva, men det är uppenbart att för de flesta kunder är det en överväldigande uppgift, säger Deepak Singh, vice vd med ansvar för beräkningstjänster på Amazon Web Services:

– Svårigheterna med att skala Kubernetes, komplexiteten i att hantera kontrollplaner, API-skiktet, databaser – det är inget för veklingar.

Brendan Burns, vice vd med ansvar för Azure Compute, tidigare chefsutvecklare för Kubernetes på Google, ser den växande aptiten på drifttjänster för Kubernetes som driven av två faktorer. Dels bättre funktionalitet för verksamheten – i synnerhet sådant som stöd för privat nätverk och konsekvent policyhantering – dels i ett bredare perspektiv ökad rörlighet och snabbhet.

Vad förändras med drifttjänster?

Stephen O’Grady, som är medgrundare av den utvecklarinriktade analysfirman Redmonk, säger sig kunna se ett mönster växa fram i dag med Kubernetes som liknar det som tidigare utvecklades med databaser och CRM: ingen administratör kunde tänka sig att lämna över kronjuvelerna till en drifttjänst – tills de gjorde det.

– När ett företag betraktar något som strategiskt är deras första impuls att köra det i egen regi, säger han:

– Men sedan inser de med tiden att detta inte ger dem någon konkurrensfördel, och inte bara det: operatörerna kan sköta det bättre än de själva kan. Kommer alla företag att gå i den riktningen? Nej, men aptiten och färdens riktning verkar vara tydlig.

Ihor Dvoretskyi, utvecklarbiträde på Cloud native computing foundation (CNCF), ser samma trend bland många olika typer av Kubernetes-användare:

– Numera ser vi hur stora kunder i reglerade miljöer som använder drifttjänster i större omfattning än tidigare, säger han.

Ta finansdatajätten Bloomberg. Så sent som 2019 sa dess chef för beräkningsinfrastruktur, Andrey Rybka, till Infoworld:

– Man måste verkligen ha ett expertteam som har koll på Kubernetes uppåt och CNCF och hela ekosystemet för att den kunskapen ska finnas i huset. Man kan helt enkelt inte förlita sig på en operatör och man måste förstå alla komplexiteter som är inblandade.

Snabbspola till 2021. Nu har Bloomberg laster i drift hos alla de tre stora Kubernetes-drifttjänsterna. Vad är nytt?

– Molnoperatörerna har gjort ett bra jobb med att förbättra tjänstekvaliteten på sina Kubernetes-erbjudanden, säger Andrey Rybka:

– Hittills så har det funnits en riktigt bra trend mot att drifttjänsterna blir allt mer mogna.

Det handlar också om att använda rätt verktyg för rätt jobb. Bloomberg kör fortfarande ungefär 80 procent av sina Kubernetes-laster i huset, och företaget har satsat stort på att utveckla intern kompetens i att hantera den miljön på ett tillförlitligt sätt, och ovanpå det en intern utvecklingsplattform. Men för laster som lämpar sig för molnet ”förlitar vi oss på Kubernetes-drifttjänster, för vi kan inte göra jobbet bättre själva”, säger Andrey Rybka.

Växande aptit på Kubernetes-drifttjänster

Oavsett vad man tittar på så visar siffrorna på en omställning från Kubernetes med öppen källkod i egen regi till distributioner med drifttjänst.

I den senaste enkäten från CNCF Cloud native uppger 26 procent av de svarande att de använder en Kubernetes-drifttjänst. Det är en ökning mot förra årets 23 procent, och börjar närma sig installationer i huset, 31 procent. De tillfrågade som är med i CNCF kan ha påverkat resultatet på grund av det ingår organisationer som sköter Kubernetes själva och gillar att meka med det. Så den faktiska användningen av Kubernetes-drifttjänster kan vara högre än vad CNCF-undersökningen tyder på.

Flexeras rapport 2021 State of cloud, visar att 51 procent av de tillfrågade använder AWS alternativ för containerdrifttjänst. Den omfattar både Amazon EKS och Amazons tjänst ECS, som inte är Kubernetes. Kubernetes i egen regi ligger på 48 procent, aningen högre än Azures drifttjänst (AKS) på 43 procent och Googles (GKE) på 31 procent.

Enligt Datadogs senaste Container report är det grovt räknat 90 procent av de organisationer som kör Kubernetes på Google Cloud som använder GKE. AKS håller på att bli standard för Kubernetes-användare på Azure: två tredjedelar av de svarande använder det. Samtidigt har Amazons EKS gått upp 10 procent på årsbasis och fortsätter att öka.

När det gäller just AWS säger Deepak Singh att ”bara ett fåtal kunder som börjar med AWS i dag börjar inte samtidigt med EKS, och ett stort antal kunder som har kört Kubernetes själva kör det nu på EKS. Att köra det i egen regi är helt enkelt inte värt besväret”. Reseprisjämförelsesajten Skyscanner har till exempel helt nyligen gått över från att sköta Kubernetes själva till att använda EKS.

Varför satsa på en drifttjänst för Kubernetes?

Brist på intern expertis, säkerhet och att faktiskt kunna hantera containerbaserade miljöer var några av de problem som oftast nämndes som svårigheter med Kubernetes, allt enligt Flexeras undersökning.

I organisationer med färre än tusen anställda och med svårigheter att hitta molnkompetens är drifttjänster ännu mer populära, visar Flexeras undersökning. AWS drifttjänstalternativ är utan jämförelse det vanligaste sättet att sköta containers – 52 procent – medan Kubernetes i egen regi ligger på 37 procent, Azures drifttjänst på 35 procent och GKE på 23 procent.

Ihor Dvoretskyi på CNCF nämner administrationsomkostnader och tids- och resursåtgång som de främsta skälen till att företag väljer drifttjänster:

– Om de blir nöjda med en drifttjänst är uppenbarligen det rätta valet att inte uppfinna hjulet på nytt, säger han.

För resedataföretaget Amadeus har Kubernetes med drifttjänst levt upp till löftet att förenkla hanteringen. Amadeus har i stadig takt sedan 2017 gått över till Kubernetes som underliggande infrastruktur.

– Det blir mindre jobb, ingen tvekan om det. Det drivs för oss, och det gör skillnad för oss eftersom det är svårt för oss att ha nog med folk för att köra Kubernetes, säger Sylvain Roy, vice vd med ansvar för tekniska plattformar och utveckling på Amadeus. I dag kör Amadeus ungefär en fjärdedel av alla laster i ett Kubernetes-kluster, antingen i huset eller i ett privat eller offentligt moln, huvudsakligen genom Red Hats plattform Openshift.

– Den viktigaste faktorn är total ägandekostnad. Hur mycket kostar det och hur många anställda behöver vi för att sköta det, jämfört med om vi gör det i egen regi, säger Sylvain Roy om hur man bedömer om en last ska köras i en Kubernetes-drifttjänst.

Amadeus har hittills inte flyttat några laster till drifttjänster, men efter ett nytt avtal med Microsoft testar företaget AKS och andra drifttjänster ”när och var det verkar vettigt”.

För närvarande gäller detta inte kärnapplikationer. Men för ”programmeringsverktyg och program som inte räknas till kärnan av vår verksamhet, och för mindre, nischade användningsfall, är det rimligt att använda något i stil med AKS.

Kan man lita på drifttjänster?

För många organisationer hänger beslutet att använda drifttjänster för Kubernetes ytterst på tillit, vilket operatörerna medger.

– Det fanns farhågor när Kubernetes kom att det var ett lockerbjudande, ett landrofferi där de stora molnföretagen skulle ta från de öppna grupperna och att det skulle sluta som open core. Det har tagit nästan fem sex år att motbevisa det, säger Kelsey Hightower, förste utvecklare på Google Cloud.

Likaså säger Deepak Singh på AWS att det är viktigt för en del kunder att EKS förblir nära Kubernetes utförande i öppen källkod ”utan något mysko voodoo där inuti som skulle kunna skapa skillnader”. AWS la nyligen ut sitt utförande av EKS på Github för att undanröja sådana misstankar.

Joe Beda på VMware medger att ”det är svårt att ha detta samtal utan att snacka om inlåsning”, och han råder alla som ska fatta beslut om detta att utvärdera riskerna noga:

– Hur sannolikt är det att du går över till något annat? Om du gör det, vad kommer det att kosta? Hur mycket kod måste skrivas om och hur mycket vidareutbildning krävs? Alla som gör sådana här satsningar måste vara insatt i kraven, riskerna och avvägningarna, säger Joe Beda.

CNCF driver Certified Kubernetes Conformance Program som säkerställer interoperabilitet från en installation till en annan, oavsett vilken den certifierade operatören är.

Varför kör inte alla Kubernetes som drifttjänst?

På företag i samma klass som Bloomberg och Amadeus och med samma komplexitet kommer en del äldre, eller mycket känsliga, laster att behöva hanteras i huset. De körs på Kubernetes-kluster som kommer att drivas i egen regi ett tag framöver.

– De som önskar sköta en del själva kommer att få bekymmer med dataplanet. De behöver skräddarsy eller specialisera vissa områden. Men de har inget emot en drifttjänst för kontrollplanet, säger Kelsey Hightower på Google.

Deepak Singh på AWS urskiljer två slags kunder som fortfarande inte lär haka på trenden med drifttjänster för Kubernetes. Den ena är de som han kallar för ”byggare”, den andra är de som sitter med invecklade beroenden. För byggarna ”satsar vi på att erkänna dem och ägna tid åt att ge dem kärn-Kubernetes på AWS” med projekt som Karpenter, en autoskalare skriven i öppen källkod.

– Den andra klassen är de som inte kör ren Kubernetes. De har gjort förgreningar och förändringar och lagt till beroenden som innebär att ett driftat kontrollplan som de inte kan påverka blir ett problem. De har byggt ett Franken-Kubernetes, och det tar dem ett tag att gå tillbaka till vanilj-Kubernetes, säger Deepak Singh.

Om en organisation redan har gjort stora investeringar i att utveckla och anställa kompetens för att fintrimma sina egna Kuberneteskluster så är detta inte bortkastade pengar om man sedan bestämmer sig för att anlita drifttjänster där det är lämpligt, säger Ihor Dvoretskyi.

– Den kompetensen är definitivt inte värdelös, säger Ihor Dvoretskyi:

– Även om man kör Kubernetes helt och hållet med en drifttjänst och bara skriver några program på toppen av det existerande klustret så blir programmen mer funktionella om man vet hur det fungerar under huven.

På det stadium som Kubernetes för närvarande befinner sig i pekar allt på att det återstår allt färre tvingande skäl att kika under huven på företagets Kubernetes-installation.

– Du kanske ser det som en existerande investering som ingen vill skriva av som en tagen kostnad än så länge, eller det kanske finns konservativa tankegångar i organisationen om vissa laster eller verksamheten, säger Stephen O’Grady:

– Eller det kanske finns misstro mot att låta en del av infrastrukturen, betraktad som strategisk, flytta utanför din kontroll. Men när man ser att kollegor gör det minskar misstron, och man kommer att få se att fler och fler tar hem fördelarna.