Orchestrazione del contenitore
cloud leadspace
Orchestrazione del contenitore

L'orchestrazione del contenitore automatizza e semplifica il provisioning, la distribuzione e la gestione delle applicazioni containerizzate.

Prodotti in evidenza

Red Hat OpenShift on IBM Cloud

IBM Cloud Satellite

IBM Cloud Code Engine

IBM Cloud Kubernetes Service


Cos'è l'orchestrazione del contenitore?

L'orchestrazione del contenitore automatizza provisioning, distribuzione, rete, scala, disponibilità e gestione del ciclo di vita dei contenitori. Oggi Kubernetes è la più popolare piattaforma di orchestrazione del contenitore e la maggior parte dei fornitori di cloud pubblico - tra cui Amazon Web Services (AWS), la piattaforma Google Cloud, IBM Cloud, Microsoft Azure - offre i servizi gestiti di Kubernetes. Altri strumenti di orchestrazione del contenitore includono Docker Swarm e Apache Mesos.


Maggiori informazioni sui contenitori e perché necessitano di orchestrazione

I contenitori  sono componenti applicativi leggeri ed eseguibili che combinano il codice sorgente dell'applicazione con tutte le librerie del  sistema operativo  (OS) e le  dipendenze  necessarie per eseguire il codice in qualsiasi ambiente. 

La capacità di creare contenitori esiste da decenni, ma è diventata ampiamente disponibile nel 2008 quando Linux ha incluso nel proprio kernel la funzione contenitore, e ampiamente utilizzata con l'arrivo della piattaforma di  containerizzazione a codice sorgente aperto Docker nel 2013. (Docker è così popolare che "contenitori Docker " e "contenitori" sono termini spesso usati come sinonimi.) 

Dato che sono più piccoli, più efficienti in termini di risorse e più portatili delle macchine virtuali (VM), i contenitori - e più precisamente i  microservizi containerizzati o le funzioni serverless  - sono diventati  di fatto le unità di calcolo delle applicazioni cloud-native moderne. (Per ulteriori informazioni sui benefits dei contenitori, vedi la visualizzazione interattiva dei dati qui sotto)

In piccole quantità, i contenitori sono abbastanza facili da distribuire e gestire manualmente. Ma nella maggior parte delle organizzazioni il numero delle applicazioni containerizzate sta crescendo rapidamente e gestirle in scala - soprattutto nell'ambito di un' integrazione continua / fornitura continua (CI/CD) o di una pipeline  DevOps  - è impossibile senza automazione.

Ecco l'orchestrazione del contenitore, che automatizza le attività delle operazioni distribuendo ed eseguendo applicazioni e servizi containerizzati. Secondo la più recente ricerca IBM (PDF, 1,4 MB), il 70% degli sviluppatori che utilizzano contenitori dichiara di usare una soluzione di orchestrazione del contenitore e il 70% di questi dichiara di usare un servizio di orchestrazione del contenitore completamente gestito (gestito in cloud) nella propria organizzazione.

Scarica il report completo: Containers in the enterprise

Come funziona l'orchestrazione del contenitore

Sebbene ci siano differenze nelle metodologie e nelle capacità fra strumenti, l'orchestrazione del contenitore è essenzialmente un processo in tre fasi (o ciclo, se nell'ambito di una pipeline agile o DevOps ).

La maggior parte degli strumenti di orchestrazione del contenitore supporta un modello di configurazione dichiarativo : uno sviluppatore scrive un file di configurazione (in YAML o JSON a seconda del tool) che definisce uno stato di configurazione desiderato e lo strumento di orchestrazione esegue il file utilizzando la propria intelligenza per ottenere quello stato. Il file di configurazione tipicamente

  • Definisce quali immagini del contenitore formano l'applicazione e dove si trovano (in quale registro)
  • Esegue il provisioning dei contenitori con memoria e altre risorse
  • Definisce e protegge le connessioni di rete tra i contenitori
  • Specifica il controllo versioni (per rollout a fasi o canary)

Lo strumento di orchestrazione programma la distribuzione dei contenitori (e delle repliche dei contenitori, per resilienza) su un host, scegliendo il migliore host in base alla capacità della CPU disponibile, della memoria o di altri requisiti o vincoli specificati nel file di configurazione. 

Una volta che i contenitori sono distribuiti, lo strumento di orchestrazione gestisce il ciclo di vita dell' applicazione containerizzata in base al file delle definizioni del contenitore (molto spesso un Dockerfile). Questo include 

  • Gestire la scalabilità (ampliamento e riduzione), bilanciamento del carico di lavoro, allocazione delle risorse  tra i contenitori; 
  • Garantire disponibilità e prestazioni spostando i contenitori su un altro host nel caso di un'interruzione o di una carenza di risorse del sistema
  • Raccogliere e memorizzare dati di registrazione e altre telemetrie utilizzate per il controllo del corretto funzionamento e delle prestazioni dell'applicazione.

Benefits dell'orchestrazione del contenitore


È probabilmente chiaro che il principale vantaggio dell'orchestrazione del contenitore è l' automazione - e non solo perché riduce notevolmente lo sforzo e la complessità di gestire un grande parco di applicazioni containerizzate . Automatizzando le operazioni, l'orchestrazione supporta un approccio agile o DevOps  che consente ai team di sviluppare e distribuire in cicli rapidi e iterativi e di rilasciare più velocemente nuove funzionalità e capacità.

In aggiunta, l'intelligenza di uno strumento di orchestrazione può migliorare o estendere molti dei benefits intrinseci della containerizzazione. Per esempio, l'automazione della selezione dell'host e dell'allocazione delle risorse, basata sulla configurazione dichiarativa , aumenta al massimo l'uso efficiente delle risorse di elaborazione; il monitoraggio del corretto funzionamento e la riassegnazione dei contenitori aumentano al massimo la disponibilità.


Kubernetes

Come abbiamo osservato, Kubernetes è la più popolare  piattaforma di orchestrazione del contenitore. Insieme ad altri strumenti nell'ecosistema dei contenitori, Kubernetes consente a un'azienda di consegnare una platform-as-a-service (PaaS) altamente produttiva che affronta molti dei compiti e dei problemi relativi alle infrastrutture e alle operazioni nello sviluppo di applicazioni cloud-native , in modo che i team di sviluppo possano concentrarsi esclusivamente su codifica e innovazione.

I vantaggi di Kubernetes rispetto ad altre soluzioni di orchestrazione sono in gran parte un risultato della sua funzione più completa e sofisticata in diversi settori, tra i quali:

  • Distribuzione contenitore. Kubernetes implementa un numero definito di contenitori su un host specificato e li mantiene in esecuzione in uno stato desiderato. 
  • Rollout. Un rollout è una modifica di una distribuzione. Kubernetes consente di iniziare, sospendere, riprendere o eseguire il ripristino dello stato precedente dei rollout. 
  • Rilevamento servizi. Kubernetes può automaticamente esporre un contenitore a Internet o ad altri contenitori utilizzando un nome DNS (domain name server) o indirizzo IP. 
  • Provisioning della memoria. Gli sviluppatori possono impostare Kubernetes per fornire memoria permanente, locale o in cloud, ai tuoi contenitori, secondo necessità. 
  • Bilanciamento del carico di lavoro e scalabilità. Quando c'è un picco del traffico su un contenitore, Kubernetes può impiegare il bilanciamento del carico di lavoro  e scalare per distribuirlo attraverso la rete, in modo da assicurare stabilità e prestazioni. (Inoltre evita agli sviluppatori il lavoro di impostare un bilanciatore di carico.)
  • Autocorrezione per la High Availability. Quando un contenitore non funziona, Kubernetes lo può riavviare o sostituire automaticamente. Può anche eliminare i contenitori che non soddisfano i requisiti del controllo del corretto funzionamento. 
  • Supporto e portabilità attraverso molteplici  fornitori cloud. Come osservato in precedenza, Kubernetes si avvale di una vasta assistenza presso tutti i principali fornitori cloud. Questo è particolarmente importante per le organizzazioni che distribuiscono applicazioni su un ambiente cloud ibrido o multicloud ibrido.
  • Il crescente ecosistema degli strumenti a codice sorgente aperto. Kubernetes dispone inoltre di un parco strumenti di usabilità e rete in continua espansione per migliorare le proprie capacità attraverso l'API (interfaccia di programmazione delle applicazioni) Kubernetes. Questi includono Knative, che consente l'esecuzione dei container come carichi di lavoro serverless, e Istio, un mesh dei servizi a codice sorgente aperto. 

Ulteriori informazioni su Kubernetes


Orchestrazione del contenitore e IBM Cloud

I contenitori sono ideali per modernizzare le proprie applicazioni e ottimizzare l'infrastruttura IT. I servizi di contenitore da IBM Cloud, creati su tecnologie a codice sorgente aperto come Kubernetes, possono facilitare e accelerare il tuo percorso verso lo sviluppo di applicazioni cloud-native e verso un approccio a un cloud ibrido aperto che integra le migliori caratteristiche e funzioni di cloud privato, cloud pubblico e infrastruttura IT installata in loco.

Entra nella fase successiva:

  • Scopri come è possibile distribuire cluster ad alta disponibilità e completamente gestiti per le tue applicazioni containerizzate con un singolo clic usando Red Hat OpenShift su IBM Cloud.
  • Distribuisci e gestisci applicazioni containerizzate in modo coerente attraverso ambienti on-premises, edge computing e cloud pubblico da qualsiasi fornitore con IBM Cloud Satellite.
  • Esegue  immagini di contenitori, lavori batch o codice origine come carico di lavoro serveless- nessun dimensionamento, distribuzione, rete o scala richiesti - con IBM Cloud Code Engine.

Per iniziare subito, registrarsi per un account  IBM  Cloud.


Soluzioni correlate

Modernizza le applicazioni

Crea, modernizza e gestisci le applicazioni in modo sicuro su qualsiasi cloud con fiducia


Ottimizza la tua infrastruttura IT

Una strategia di cloud ibrido open source ti consente di creare e gestire i carichi di lavoro da qualsiasi ubicazione, senza vincoli imposti dal fornitore


Infrastruttura IT installata in loco

Sfrutta le soluzioni infrastrutturali on-premises aperte, flessibili e sicure per sbrigliare la tua strategia di cloud ibrido