Programmering

Hvad er CaaS? Enklere containeradministration

Da moderne, containeriserede applikationer fortsat viser sig at være populære hos organisationer, var det kun et spørgsmål om tid, før de store leverandører begyndte at tilbyde containerinfrastruktur og -administration "as-a-service".

Brug af containere stiger stærkt med virksomheder globalt, med 65 procent af organisationer, der oplyser, at de bruger Docker-containere, og 58 procent bruger Kubernetes orkestrationssystem på en eller anden måde, ifølge Flexeras seneste 2020 State of Cloud-rapport.

Mangel på ressourcer og ekspertise nævnes ofte som de største udfordringer i brugen af ​​containere til at bygge og vedligeholde applikationer. Så det bør ikke komme som nogen overraskelse, at udviklere i stigende grad henvender sig til automatiseringen, der leveres af containere-som-en-tjeneste (CaaS) tilbud, med de tre store cloud-udbydere foran.

Containers-as-a-service eller CaaS defineret

Med CaaS leverer cloud-leverandører i det væsentlige en hostet container-orkestreringsmotor - typisk baseret på det superpopulære Kubernetes open source-projekt, der stammer fra Google - til at implementere og køre containere, administrere klynger, automatisere skalering og fejlhåndtering og vedligeholde den fælles infrastruktur lag, med regeringsførelse og sikkerhed inkluderet.

Generelt er alt netværks-, belastningsafbalancering, overvågning, logning, godkendelse, sikkerhed, autoskalering og kontinuerlig integration / kontinuerlig levering (CI / CD) funktioner taget hånd om af CaaS-platformen.

Dette giver organisationer mulighed for at udnytte fordelene ved skyinfrastruktur, samtidig med at de hjælper med at undgå enhver leverandørlås, der følger med din typiske platform-as-a-service (PaaS) - som AWS Elastic Beanstalk, Azure App Service, eller Google App Engine - da containerne i sig selv giver mulighed for enkel bærbarhed på tværs af forskellige miljøer.

Hvis containere er den måde, du vil gå, så kommer forskellen mellem CaaS og kørsel på klassisk infrastruktur-as-a-service (IaaS) ned til, om din organisation har ressourcerne og færdighederne til at implementere og administrere Kubernetes (eller anden containerorkestrering) lag) selv, eller ville have gavn af at overlade det til en skyudbyder. Beslutningen kan også tænde for, om dit containermiljø skal spænde over flere skyer og / eller lokale miljøer. Et antal leverandører tilbyder CaaS-platforme, der kan implementeres enten on-prem eller i skyen (se nedenfor).

"Du kan enten administrere ting på infrastrukturniveau og oprette orchestratoren selv, eller du kan bruge en containerplatform, der håndterer den underliggende infrastruktur og giver en forudinstalleret orchestrator klar til at implementere og skalere dine containere," skrev tidligere Deutsche Bank og BBC-udvikler Rob Isenberg i sin bog, Docker for Rails Developers, udgivet af O'Reilly.

Fordelene

At køre dine containere på CaaS svarer til at køre dine virtuelle maskiner på IaaS: De primære fordele er implementeringshastighed og brugervenlighed såvel som enkelheden i pay-as-you-go cloud-modellen og den førnævnte frihed fra leverandørlås -i.

Ved at overlade din containerinfrastruktur til en cloudleverandør kan du komme i gang uden at investere i din egen hardware og uden at opbygge og køre dine egne Kubernetes-klynger (eller andet containerorkestrationssystem). Derudover kan du ved at containerisere applikationer lettere migrere applikationer til forskellige miljøer eller leverandørøkosystemer, hvilket giver større fleksibilitet og skalerbarhedsmuligheder.

Alt dette har også de vigtige muligheder for omkostningseffektivitet, da containere er bedre rustet til at skalere vandret, som efterspørgslen tilsiger, så organisationer kun kan betale for de skyressourcer, de bruger. Beholdere er langt mere lette end VM'er, hvilket betyder, at de er mindre ressourceintensive, hvilket ofte fører til gevinster i hastighed og reduktion af omkostningerne.

En anden fordel kommer med konsistens af instrumentering og logning, da isolering af individuelle tjenester i containere kan give mulighed for mere effektiv logaggregation og centraliseret overvågning gennem den populære implementering af sidevogn.

Migrering af traditionelle apps til containere er fortsat en betydelig barriere for vedtagelse, selv når de køres på CaaS, som citeret af 34 procent af respondenterne i Flexeras State of Cloud-rapport. Migrering til containere involverer ofte nedbrydning af monolitiske applikationer i mikrotjenester, hvilket for større, ældre organisationer kan være et stort kulturelt og teknisk skift, der ikke bør tages let.

[Også på: Hvad er Docker? Gnisten til containerrevolutionen]

Førende leverandørmuligheder

De fleste af de store skyudbydere har CaaS-tilbud, og der er flere andre udbydere, der ønsker at komme ind på handlingen.

Markedsleder på cloud-tjenester Amazon Web Services (AWS) har set stærk vedtagelse af sin Kubernetes-less Elastic Container Service (ECS) og Elastic Kubernetes Service (EKS). Tilsvarende er vedtagelsen af ​​Azure Kubernetes Service steget markant ifølge Flexeras analyse, ligesom Google Kubernetes Engine (GKE).

Alle tre sky giganter tilbyder også nu serverløs Kubernetes-tjenester med AWS ECS på Fargate, Google Cloud Run på GKE og Azure Container Instances. I modsætning til EKS, AKS og GKE fjerner disse tjenester behovet for at udføre serveradministrationsopgaver og er ideelle til on-demand forbrugsbrugssager.

Meget af Google Clouds containeradministrationsfunktioner ligger nu under Anthos-paraplyen, som muliggør styring af containerbaserede applikationer på tværs af lokal infrastruktur og de store offentlige skyer (Google Cloud Platform og AWS nu, med Azure-support på vej). Anthos kombinerer GKE til cloud-arbejdsbelastninger, GKE On-Prem og Anthos Config Management-konsol, som giver mulighed for centraliseret administration, politikker og sikkerhed på tværs af hybrid- og multicloud Kubernetes-implementeringer.

Bortset fra de "store tre" cloud-leverandører har leverandører inklusive IBM / Red Hat, VMware, SUSE / Rancher, Canonical, D2iQ (tidligere Mesosphere), Rackspace, Oracle, HPE, Alibaba, Huawei og Tencent alle smag af en administreret CaaS mulighed. Et antal af disse tilbud kan distribueres på stedet, i offentlige skyer eller begge dele.

Hvilken platform er den bedste?

Industrianalytikerhuset Gartner har ikke en magisk kvadrant for CaaS-udbydere, men i sin seneste Competitive Landscape: Public Cloud Container Services-rapport af Wataru Katsurashima identificerer den Googles GKE som den førende administrerede Kubernetes-mulighed.

Analytikere hos Forrester placerede AWS på det førende sted i sin seneste New Wave for Public Cloud Enterprise Container-platforme i 3. kvartal 2019 med Microsoft og Google lige bagved. Det skal bemærkes, at Forrester-rapporten kun tegnede sig for syv leverandører og dog er strengt fokuseret på offentlige skyinstallationer.

AWS “fører pakken med implementeringsmuligheder, sikkerhed og dybe integrationer” ifølge Forrester-forfatterne, Dave Bartoletti og Charlie Dai. "Med en bred vifte af fuldt administrerede (og serverløse) Kubernetes (K8s) forbrugsmuligheder og de fleste containere, der er direkte anvendt til sin skyinfrastruktur, fortsætter AWS med at innovere og dybt integrere sin containerplatform med sine førende sikkerheds- og netværksfunktioner."

Forrester-rapporten opfordrede både Microsoft og Google til at forenkle deres containerplatforme. Microsoft blev hyldet for sin stærkere udvikleroplevelse og globale rækkevidde, men bankede for dets kompleksitet - hvilket var et almindeligt refrain i rapporten. Google vandt ros for sin dybe Kubernetes-ekspertise og sin indsats for at krydse multicloud-miljøer, men blev ligeledes kritiseret for kompleksitet.

Når det er sagt, forbliver AWS EKS den mest almindeligt anvendte containeradministrationsplatform, ifølge CNCF Survey 2019, med GKE, Docker EE / CE og AKS, der ligger bagved.

Flexeras 2020-status for skyrapport knytter virksomhedsbrug af AWS EKS / ECS til 55 procent, hvor yderligere 23 procent af virksomhedens respondenter planlægger at bruge disse CaaS-muligheder i fremtiden. Adoptagelse af Azure Kubernetes Service nåede 50 procent, hvor yderligere 26 procent planlagde at bruge AKS i fremtiden. Og Google Kubernetes Engine nåede 26 procent, hvor 27 procent af virksomhedens respondenter planlagde at bruge GKS. Selvadministreret Kubernetes overgår dog stadig alle muligheder for 63 procent af virksomhedens respondenter, ifølge Flexera-rapporten.

Andre ressourcer

De primære informationskilder om CaaS er sælgerne selv, hvilket gør det vanskeligt at foretage et informeret, upartisk valg. Som beskrevet ovenfor har både Forrester og Gartner taget dybe dyk ind i landskabet, men deres linse er typisk, som leverandører skiller sig ud, snarere end hvordan man kommer op i fart med CaaS i produktionen.

Der er heller ikke mange bøger om emnet endnu, men Software Architect's Handbook fra O'Reilly giver et godt overblik.

Endelig har Docker været i centrum for containere og containeradministration i årevis, og virksomheden har noget godt videoindhold om emnet, herunder denne session med teknisk medarbejder, Patrick Chanezon, og denne oversigt fra Sandor Klein, vicepræsident for Europa , Mellemøsten og Afrika.