Cos'è CaaS? Gestione dei container più semplice

Poiché le moderne applicazioni containerizzate continuano a dimostrarsi popolari tra le organizzazioni, era solo una questione di tempo prima che i principali fornitori iniziassero a offrire infrastruttura di container e gestione "as-a-service".

Secondo l'ultimo rapporto 2020 sullo stato del cloud di Flexera, l'uso dei container è in costante aumento con le aziende a livello globale, con il 65% delle organizzazioni che dichiara di utilizzare i container Docker e il 58% che utilizza il sistema di orchestrazione Kubernetes.

La mancanza di risorse e competenze è spesso citata come sfide principali nell'utilizzo di container per creare e mantenere applicazioni. Non dovrebbe quindi sorprendere che gli sviluppatori si rivolgano sempre più all'automazione fornita dalle offerte di container-as-a-service (CaaS), con i tre principali fornitori di cloud in testa.

Container-as-a-service, o CaaS, definito

Con CaaS, i fornitori di cloud forniscono essenzialmente un motore di orchestrazione di container ospitato, in genere basato sul famosissimo progetto open source Kubernetes, originato da Google, per distribuire ed eseguire container, gestire cluster, automatizzare la scalabilità e la gestione dei guasti e mantenere l'infrastruttura comune livello, con governance e sicurezza incluse.

In generale, tutte le funzioni di rete, bilanciamento del carico, monitoraggio, registrazione, autenticazione, sicurezza, scalabilità automatica e integrazione continua / consegna continua (CI / CD) sono gestite dalla piattaforma CaaS.

Ciò consente alle organizzazioni di sfruttare i vantaggi dell'infrastruttura cloud, aiutando allo stesso tempo a evitare qualsiasi blocco del fornitore che verrebbe fornito con la tua tipica piattaforma come servizio (PaaS), come AWS Elastic Beanstalk, Servizio app di Azure, o Google App Engine, poiché i contenitori stessi consentono una semplice portabilità in vari ambienti. 

Se i container sono il modo in cui vuoi andare, la differenza tra CaaS e l'esecuzione su una classica infrastruttura come servizio (IaaS) dipende dal fatto che la tua organizzazione abbia le risorse e le competenze per implementare e gestire Kubernetes (o altra orchestrazione di container layer) stesso, o trarrebbe vantaggio lasciandolo a un fornitore di servizi cloud. La decisione può anche decidere se il tuo ambiente del contenitore deve estendersi su più cloud e / o ambienti locali. Un certo numero di fornitori offre piattaforme CaaS che possono essere distribuite in locale o nel cloud (vedi sotto). 

"Puoi gestire le cose a livello di infrastruttura e configurare tu stesso l'orchestrator, oppure puoi utilizzare una piattaforma container che gestisce l'infrastruttura sottostante e fornisce un orchestrator preinstallato pronto per distribuire e scalare i tuoi container", ha scritto l'ex Deutsche Bank e Lo sviluppatore della BBC Rob Isenberg nel suo libro, Docker for Rails Developers, pubblicato da O'Reilly.

I benefici

L'esecuzione dei contenitori su CaaS è simile all'esecuzione delle macchine virtuali su IaaS: i vantaggi principali sono la velocità di distribuzione e la facilità d'uso, nonché la semplicità del modello cloud pay-as-you-go e la suddetta libertà dal blocco del fornitore -in.

Lasciando la tua infrastruttura di container a un fornitore di cloud, puoi diventare operativo senza investire nel tuo hardware e senza creare ed eseguire i tuoi cluster Kubernetes (o altro sistema di orchestrazione dei container). Inoltre, containerizzando le applicazioni, è possibile migrare più facilmente le applicazioni in diversi ambienti o ecosistemi di fornitori, offrendo maggiore flessibilità e opzioni di scalabilità.

Tutto ciò offre anche quelle importantissime opportunità per l'efficienza dei costi, poiché i container sono meglio attrezzati per scalare orizzontalmente in base a quanto richiesto dalla domanda, consentendo alle organizzazioni di pagare solo per le risorse cloud che utilizzano. I container sono molto più leggeri delle VM, il che significa che consumano meno risorse, spesso portando a guadagni di velocità e riduzione dei costi.

Un altro vantaggio deriva dalla coerenza della strumentazione e della registrazione, poiché l'isolamento dei singoli servizi nei contenitori può consentire un'aggregazione dei registri più efficace e un monitoraggio centralizzato attraverso il popolare modello di distribuzione del sidecar.

La migrazione delle app tradizionali ai container rimane un ostacolo significativo all'adozione, anche quando viene eseguita su CaaS, come citato dal 34% degli intervistati nel report State of Cloud di Flexera. La migrazione ai container spesso comporta la suddivisione delle applicazioni monolitiche in microservizi, che per organizzazioni più grandi e meno recenti può rappresentare un importante cambiamento culturale e tecnico che non dovrebbe essere preso alla leggera.

[Anche su: Cos'è Docker? La scintilla per la rivoluzione dei container]

Opzioni di fornitori leader

La maggior parte dei principali fornitori di cloud ha offerte CaaS e ci sono molti altri fornitori che cercano di entrare in azione.

Il leader di mercato dei servizi cloud Amazon Web Services (AWS) ha visto una forte adozione dei suoi Elastic Container Service (ECS) senza Kubernetes e Elastic Kubernetes Service (EKS). Allo stesso modo, l'adozione di Azure Kubernetes Service è aumentata in modo significativo secondo l'analisi di Flexera, così come Google Kubernetes Engine (GKE).

Tutti e tre i giganti del cloud ora offrono anche servizi Kubernetes senza server , con AWS ECS su Fargate, Google Cloud Run su GKE e istanze di container di Azure. A differenza di EKS, AKS e GKE, questi servizi eliminano la necessità di eseguire attività di gestione del server e sono ideali per i casi d'uso di consumo su richiesta.

Gran parte delle funzionalità di gestione dei container di Google Cloud si trovano ora sotto l'ombrello di Anthos, che consente la gestione di applicazioni basate su container nell'infrastruttura locale e nei principali cloud pubblici (Google Cloud Platform e AWS ora, con il supporto di Azure in arrivo). Anthos combina GKE per i carichi di lavoro cloud, GKE On-Prem e la console Anthos Config Management, che consente l'amministrazione centralizzata, le policy e la sicurezza nelle distribuzioni Kubernetes ibride e multicloud.

A parte i "tre grandi" fornitori di cloud, i fornitori tra cui IBM / Red Hat, VMware, SUSE / Rancher, Canonical, D2iQ (ex Mesosphere), Rackspace, Oracle, HPE, Alibaba, Huawei e Tencent hanno tutti un certo sapore di una gestione gestita Opzione CaaS. Alcune di queste offerte possono essere distribuite in locale, in cloud pubblici o in entrambi. 

Quale piattaforma è la migliore?

La casa di analisi del settore Gartner non ha un quadrante magico per i fornitori di CaaS, ma nel suo ultimo rapporto Competitive Landscape: Public Cloud Container Services di Wataru Katsurashima, identifica GKE di Google come la principale opzione gestita di Kubernetes.

Gli analisti di Forrester hanno posto AWS al primo posto della sua più recente New Wave for Public Cloud Enterprise Container Platform, nel terzo trimestre del 2019, con Microsoft e Google appena dietro. Va notato che il rapporto Forrester ha preso in considerazione solo sette fornitori ed è tuttavia strettamente focalizzato sulle distribuzioni di cloud pubblico.

Secondo gli autori di Forrester, Dave Bartoletti e Charlie Dai, AWS "guida il gruppo con opzioni di distribuzione, sicurezza e integrazioni profonde". "Con un'ampia gamma di opzioni di consumo Kubernetes (K8s) completamente gestite (e senza server) e la maggior parte dei container distribuiti direttamente nella sua infrastruttura cloud, AWS continua a innovare e integrare profondamente la sua piattaforma di container con le sue principali funzionalità di sicurezza e rete."

Il rapporto Forrester ha esortato sia Microsoft che Google a semplificare le loro piattaforme container. Microsoft è stata lodata per la sua maggiore esperienza di sviluppatore e per la sua portata globale, ma ha bussato per la sua complessità, che era un ritornello comune nel rapporto. Google ha ottenuto riconoscimenti per la sua profonda esperienza in Kubernetes e per i suoi sforzi per attraversare ambienti multicloud, ma è stata ugualmente criticata per la complessità. 

Detto questo, AWS EKS rimane la piattaforma di gestione dei container più comunemente utilizzata, secondo il CNCF Survey 2019, con GKE, Docker EE / CE e AKS dietro.

Il report sullo stato del cloud 2020 di Flexera fissa l'utilizzo aziendale di AWS EKS / ECS al 55%, con un altro 23% degli intervistati aziendali che prevede di utilizzare queste opzioni CaaS in futuro. L'adozione del servizio Azure Kubernetes ha raggiunto il 50%, con un altro 26% che prevede di utilizzare AKS in futuro. E Google Kubernetes Engine ha raggiunto il 26%, con il 27% degli intervistati aziendali che prevede di utilizzare GKS. Tuttavia, secondo il rapporto Flexera, Kubernetes autogestito supera tutte le opzioni con il 63% degli intervistati aziendali.

Altre risorse

Le principali fonti di informazione su CaaS sono i fornitori stessi, il che rende difficile fare una scelta informata e imparziale. Come spiegato sopra, sia Forrester che Gartner hanno fatto immersioni profonde nel paesaggio, ma il loro obiettivo è in genere su quali fornitori si distinguono, piuttosto che su come essere al passo con CaaS in produzione.

Inoltre non ci sono ancora molti libri sull'argomento, ma il Software Architect's Handbook di O'Reilly offre una buona panoramica.

Infine, Docker è da anni al centro della gestione dei container e dei container e l'azienda ha dei buoni contenuti video sull'argomento, inclusa questa sessione con un membro dello staff tecnico, Patrick Chanezon, e questa panoramica di Sandor Klein, vice presidente per l'Europa. , Medio Oriente e Africa.