Programmering

Hva er CaaS? Enklere containeradministrasjon

Ettersom moderne, containeriserte applikasjoner fortsetter å være populære blant organisasjoner, var det bare et spørsmål om tid før de store leverandørene begynte å tilby containerinfrastruktur og administrasjon "as-a-service."

Bruk av containere øker sterkt med bedrifter over hele verden, med 65 prosent av organisasjonene som oppgir at de bruker Docker-containere, og 58 prosent bruker Kubernetes orkestrasjonssystem på en eller annen måte, ifølge Flexeras nyeste rapport om State of Cloud fra 2020.

Mangel på ressurser og kompetanse blir ofte omtalt som hovedutfordringer ved bruk av containere til å bygge og vedlikeholde applikasjoner. Så det bør ikke komme som noen overraskelse at utviklere i økende grad vender seg mot automatiseringen som tilbys av containere-som-en-tjeneste (CaaS) tilbud, med de tre store skyleverandørene som leder an.

Containers-as-a-service, eller CaaS, definert

Med CaaS leverer skyleverandører i hovedsak en hostet containerorkesteringsmotor - vanligvis basert på det superpopulære Kubernetes open source-prosjektet, som stammer fra Google - for å distribuere og kjøre containere, administrere klynger, automatisere skalering og feiladministrasjon og vedlikeholde den felles infrastrukturen lag, med styring og sikkerhet inkludert.

Vanligvis blir alle nettverksfunksjoner, lastbalansering, overvåking, logging, autentisering, sikkerhet, autoskalering og kontinuerlig integrering / kontinuerlig levering (CI / CD) -funksjoner ivaretatt av CaaS-plattformen.

Dette gjør det mulig for organisasjoner å utnytte fordelene med skyinfrastruktur, samtidig som de hjelper med å unngå enhver leverandørinnlåsing som følger med din typiske plattform-som-en-tjeneste (PaaS) - som AWS Elastic Beanstalk, Azure App Service, eller Google App Engine - ettersom containerne i seg selv tillater enkel portabilitet i forskjellige miljøer.

Hvis containere er slik du vil gå, kommer forskjellen mellom CaaS og å kjøre på klassisk infrastruktur-som-en-tjeneste (IaaS) ned til om organisasjonen din har ressurser og ferdigheter til å implementere og administrere Kubernetes (eller annen containerorkestrering) lag) selv, eller ville ha nytte av å overlate det til en skyleverandør. Beslutningen kan også slå på om containermiljøet ditt må spenne over flere skyer og / eller lokale miljøer. En rekke leverandører tilbyr CaaS-plattformer som kan distribueres enten på stedet eller i skyen (se nedenfor).

"Du kan enten administrere ting på infrastrukturnivå og sette opp orchestrator selv, eller du kan bruke en containerplattform som håndterer den underliggende infrastrukturen og gir en forhåndsinstallert orchestrator klar for deg til å distribuere og skalere containerne dine," skrev tidligere Deutsche Bank og BBC-utvikler Rob Isenberg i sin bok, Docker for Rails Developers, utgitt av O'Reilly.

Fordelene

Å kjøre containere på CaaS ligner på å kjøre virtuelle maskiner på IaaS: De primære fordelene er distribusjonshastighet og brukervennlighet, samt enkelheten med betal-for-gang-sky-modellen og den nevnte friheten fra leverandørlås -i.

Ved å overlate containerinfrastrukturen til en skyleverandør, kan du komme i gang uten å investere i din egen maskinvare og uten å bygge og kjøre dine egne Kubernetes-klynger (eller annet containerorkestrasjonssystem). I tillegg, ved å containerisere applikasjoner, kan du lettere migrere applikasjoner til forskjellige miljøer eller leverandørers økosystemer, noe som gir større fleksibilitet og skalerbarhetsalternativer.

Alt dette har også de viktige mulighetene for kostnadseffektivitet, ettersom containere er bedre rustet til å skalere horisontalt slik etterspørselen tilsier, slik at organisasjoner kun kan betale for skyressursene de bruker. Beholdere er langt mer lette enn virtuelle maskiner, noe som betyr at de er mindre ressurskrevende, og ofte fører til gevinst i hastighet og reduserte kostnader.

En annen fordel kommer med konsistens av instrumentering og logging, da isolering av individuelle tjenester i containere kan gi mer effektiv loggaggregering og sentralisert overvåking gjennom den populære distribusjonsmodellen for sidevogn.

Migrering av tradisjonelle apper til containere er fortsatt en betydelig barriere for adopsjon, selv når de kjøres på CaaS, som sitert av 34 prosent av respondentene i Flexeras State of Cloud-rapport. Migrering til containere innebærer ofte å bryte monolitiske applikasjoner ned i mikrotjenester, noe som for større, eldre organisasjoner kan være et stort kulturelt og teknisk skifte som ikke bør tas lett.

[Også på: Hva er Docker? Gnisten for containerrevolusjonen]

Ledende leverandøralternativer

De fleste av de store skyleverandørene har CaaS-tilbud, og det er flere andre leverandører som ønsker å komme inn på handlingen.

Markedsleder for skytjenester Amazon Web Services (AWS) har sett sterk bruk av sin Kubernetes-less Elastic Container Service (ECS) og Elastic Kubernetes Service (EKS). På samme måte er adopsjonen av Azure Kubernetes Service betydelig høyere i henhold til Flexeras analyse, og det samme er Google Kubernetes Engine (GKE).

Alle de tre gigantene i skyen tilbyr også nå serverløst Kubernetes-tjenester, med AWS ECS på Fargate, Google Cloud Run på GKE og Azure Container Instances. I motsetning til EKS, AKS og GKE, fjerner disse tjenestene behovet for å utføre serveradministrasjonsoppgaver og er ideelle for brukstilfeller etter behov.

Mye av funksjonene til Google Clouds containeradministrasjon ligger nå under Anthos-paraplyen, som gjør det mulig å administrere containerbaserte applikasjoner på tvers av lokal infrastruktur og de store offentlige skyene (Google Cloud Platform og AWS nå, med Azure-støtte på vei). Anthos kombinerer GKE for arbeidsmengder i skyen, GKE On-Prem og Anthos Config Management-konsollen, som muliggjør sentralisert administrasjon, policyer og sikkerhet på tvers av hybrid- og multicloud Kubernetes-distribusjoner.

Bortsett fra de "store tre" skyleverandørene, har leverandører inkludert IBM / Red Hat, VMware, SUSE / Rancher, Canonical, D2iQ (tidligere Mesosphere), Rackspace, Oracle, HPE, Alibaba, Huawei og Tencent noen smak av en administrert CaaS-alternativ. En rekke av disse tilbudene kan distribueres på stedet, i offentlige skyer eller begge deler.

Hvilken plattform er best?

Bransjeanalytikerhuset Gartner har ikke et magisk kvadrant for CaaS-leverandører, men i sin siste Competitive Landscape: Public Cloud Container Services-rapport av Wataru Katsurashima identifiserer den Googles GKE som det ledende Kubernetes-alternativet.

Analytikere hos Forrester satte AWS på det ledende stedet for sin nyeste New Wave for Public Cloud Enterprise Container-plattformer, i 3. kvartal 2019, med Microsoft og Google like bak. Det skal bemerkes at Forrester-rapporten bare utgjorde syv leverandører, og er imidlertid strengt fokusert på offentlige skyutplasseringer.

AWS “leder pakken med distribusjonsalternativer, sikkerhet og dype integrasjoner,” ifølge Forrester-forfatterne, Dave Bartoletti og Charlie Dai. "Med et bredt spekter av fulladministrerte (og serverløse) Kubernetes (K8s) forbruksalternativer, og de fleste containere distribuert direkte til skyinfrastrukturen, fortsetter AWS å innovere og dypt integrere containerplattformen med sine ledende sikkerhets- og nettverksfunksjoner."

Forrester-rapporten oppfordret både Microsoft og Google til å forenkle containerplattformene sine. Microsoft ble hyllet for sin sterkere utvikleropplevelse og globale rekkevidde, men banket for kompleksiteten - noe som var et vanlig refreng i rapporten. Google vant ros for sin dype Kubernetes-ekspertise og sin innsats for å krysse multicloud-miljøer, men ble på samme måte kritisert for kompleksitet.

Når det er sagt, forblir AWS EKS den mest brukte containeradministrasjonsplattformen, ifølge CNCF Survey 2019, med GKE, Docker EE / CE og AKS som følger like bak.

Flexeras 2020-status for skyrapport knytter bedriftsbruk av AWS EKS / ECS til 55 prosent, med ytterligere 23 prosent av bedriftens respondenter som planlegger å bruke disse CaaS-alternativene i fremtiden. Adopsjon av Azure Kubernetes Service nådde 50 prosent, med ytterligere 26 prosent som planla å bruke AKS i fremtiden. Og Google Kubernetes Engine nådde 26 prosent, med 27 prosent av bedriftens respondenter som planla å bruke GKS. Imidlertid overgår selvadministrerte Kubernetes 63% av respondentene i virksomheten, ifølge Flexera-rapporten.

Andre ressurser

De viktigste kildene til informasjon om CaaS er selgerne selv, noe som gjør det vanskelig å ta et informert, upartisk valg. Som beskrevet ovenfor har både Forrester og Gartner tatt dype dykk i landskapet, men objektivet deres er vanligvis på hvilke leverandører som skiller seg ut, snarere enn hvordan de skal komme opp i fart med CaaS i produksjonen.

Det er heller ikke så mange bøker om emnet ennå, men Software Architect's Handbook fra O'Reilly gir god oversikt.

Endelig har Docker vært i sentrum for containere og containeradministrasjon i årevis, og selskapet har noe godt videoinnhold om emnet, inkludert denne økten med teknisk medarbeider, Patrick Chanezon, og denne oversikten fra Sandor Klein, visepresident for Europa. , Midtøsten og Afrika.

$config[zx-auto] not found$config[zx-overlay] not found