Che cos'è l'orchestrazione dei container?

L'orchestrazione dei container esegue automaticamente il provisioning, il deployment, la scalabilità e la gestione delle applicazioni containerizzate senza che sia necessario preoccuparsi dell'infrastruttura sottostante. Gli sviluppatori possono implementare questa orchestrazione ovunque si trovino i container, in modo da automatizzarne la gestione del ciclo di vita. 

Funzionamento dell'orchestrazione dei container

Gli strumenti di orchestrazione dei container come Google Kubernetes Engine (GKE) semplificano il deployment e l'esecuzione di applicazioni e microservizi containerizzati. Gli orchestratori di container in genere applicano le proprie metodologie e offrono funzionalità diverse, ma consentono a tutte alle organizzazioni di coordinare, gestire e monitorare automaticamente le applicazioni containerizzate. 

Vediamo come funziona l'orchestrazione dei container. 

L'orchestrazione dei container utilizza la programmazione dichiarativa, il che significa che occorre definire l'output desiderato anziché descrivere i passaggi necessari per realizzarlo. Gli sviluppatori scrivono un file di configurazione che definisce la posizione delle immagini dei container, ad esempio per stabilire e proteggere la rete tra container ed eseguire il provisioning delle risorse e dello spazio di archiviazione dei container. Gli strumenti di orchestrazione dei container utilizzano questo file per ottenere automaticamente lo stato finale richiesto. 

Quando esegui il deployment di un nuovo container, lo strumento o la piattaforma lo pianifica automaticamente e trova l'host più appropriato in base ai vincoli o ai requisiti predeterminati definiti nel file di configurazione, come CPU, memoria, vicinanza ad altri host o persino metadati. 

Quando i container sono in esecuzione, gli strumenti di orchestrazione automatizzano la gestione del ciclo di vita e le attività operative in base al file di definizione dei container, tra cui:

  • Provisioning e implementazione
  • Scale up o scale down dei container e bilanciamento del carico
  • Allocazione delle risorse tra container
  • Spostamento dei container in un altro host per garantire la disponibilità in caso di carenza di risorse o di interruzione imprevista
  • Monitoraggio delle prestazioni e dello stato di integrità dell'applicazione
  • Allocazione delle risorse tra container
  • Service Discovery

L'orchestrazione dei container può essere utilizzata in qualsiasi ambiente di computing che supporti i container, dai tradizionali server on-premise ad ambienti di computing pubblici, privati, ibridi e multi-cloud. 

Vantaggi dell'orchestrazione dei container

Uno dei maggiori vantaggi dell'orchestrazione dei container è che semplifica le operazioni. L'automazione delle attività non solo aiuta a ridurre al minimo lo sforzo e la complessità della gestione delle app containerizzate, ma offre anche molti altri vantaggi.

Sviluppo di applicazioni affidabili

Gli strumenti di orchestrazione dei container contribuiscono a rendere lo sviluppo di app più rapido e ripetibile. Ciò aumenta la velocità di deployment e permette di supportare approcci di sviluppo agili come DevOps. 

Scalabilità

L'orchestrazione dei container consente di fare lo scale up o lo scale down dei deployment dei container in base ai cambiamenti dei requisiti dei carichi di lavoro. Puoi anche gestire la scalabilità del cloud se scegli un'offerta gestita, oltre a scala on demand l'infrastruttura sottostante.

Riduci i costi

I container richiedono meno risorse delle macchine virtuali e permettono di ridurre i costi di infrastruttura e generali. Inoltre, le piattaforme di orchestrazione dei container richiedono meno tempo e capitale umano, generando ulteriori risparmi sui costi. 

Sicurezza ottimizzata

L'orchestrazione dei container consente di gestire i criteri di sicurezza su più piattaforme e contribuisce a ridurre gli errori umani che possono portare a vulnerabilità. Inoltre, i container isolano i processi delle applicazioni, diminuendo le superfici di attacco e migliorando la sicurezza generale.

Alta disponibilità

Semplifica l'individuazione e la correzione degli errori dell'infrastruttura grazie agli strumenti di orchestrazione dei container. In caso di errore di un container, uno strumento di orchestrazione può riavviarlo o sostituirlo automaticamente, contribuendo a mantenere la disponibilità e aumentare l'uptime delle applicazioni. 

Aumenta la produttività

L'orchestrazione dei container aumenta la produttività degli sviluppatori in quanto contribuisce a ridurre le attività ripetitive e a eliminare il carico di installazione, gestione e manutenzione dei container.  

Tipi di strumenti di orchestrazione dei container

Le piattaforme di orchestrazione dei container offrono strumenti per automatizzare questo aspetto, nonché la possibilità di installare altre tecnologie open source per il logging, il monitoraggio e l'analisi degli eventi, ad esempio Prometheus.

Esistono due tipi di piattaforme di orchestrazione dei container: auto-create o gestite. 

Le piattaforme di orchestrazione di container autocreate offrono il controllo completo della personalizzazione e, in genere, vengono create da zero o sfruttando una piattaforma open source. Tuttavia, le piattaforme autocreate comportano attività onerose di gestione e manutenzione. 

La piattaforma di orchestrazione dei container open source più comune per lo sviluppo cloud-native è Kubernetes. A volte abbreviata in K8s, è un sistema di orchestrazione di container open source originariamente sviluppato da Google sulla base del suo sistema interno di gestione dei cluster, Borg. Oggi è considerata la scelta più naturale per il deployment e la gestione dei container.

L'altra opzione è utilizzare una piattaforma gestita o un'offerta Containers-as-a-Service (CaaS) da un provider cloud, come Google, Microsoft, Amazon o IBM. Con le piattaforme di orchestrazione di container gestite o CaaS, il cloud provider è responsabile della gestione dell'installazione e delle operazioni. Di conseguenza, puoi semplicemente utilizzare le funzionalità e concentrarti sull'esecuzione delle applicazioni containerizzate. 

Esempi e casi d'uso dell'orchestrazione dei container

Quali sono alcuni esempi di orchestrazione dei container e perché dobbiamo prima orchestrare i container?

Nello sviluppo moderno, la containerizzazione è diventata una tecnologia fondamentale per la creazione di applicazioni cloud-native. Anziché grandi applicazioni monolitiche, gli sviluppatori adesso possono creare applicazioni individuali con componenti a basso accoppiamento (comunemente noti come microservizi).

Sebbene i container siano generalmente più piccoli, più efficienti e offrano una maggiore portabilità, occorre fare attenzione a un possibile svantaggio. Più container ci sono, più è difficile utilizzarli e gestirli. Una singola applicazione può contenere centinaia o persino migliaia di singoli container che devono collaborare per garantire le funzionalità dell'applicazione. 

Poiché il numero di applicazioni containerizzate continua a crescere, gestirle su larga scala è quasi impossibile senza l'uso dell'automazione. È qui che entra in gioco l'orchestrazione dei container, in cui vengono eseguite attività critiche di gestione del ciclo di vita in una frazione del tempo. 

Supponiamo che tu abbia 50 container di cui devi eseguire l'upgrade. Potresti fare tutto manualmente, ma quanto tempo e impegno dovrebbe dedicare il tuo team per portare a termine questa attività? Con l'orchestrazione dei container, puoi scrivere un file di configurazione e lo strumento di orchestrazione dei container farà tutto per te. 

Questo è solo un esempio di come l'orchestrazione dei container possa contribuire a ridurre i carichi di lavoro operativi. Ora, considera quanto tempo ci vorrà per il deployment, la scalabilità e la protezione degli stessi container se tutto venisse sviluppato utilizzando sistemi operativi e linguaggi diversi. E se dovessi spostarli in ambienti diversi?

Un approccio dichiarativo può semplificare numerose attività ripetitive e prevedibili necessarie per garantire il corretto funzionamento dei container, ad esempio la configurazione dell'allocazione delle risorse, della gestione delle repliche e del networking.

Risolvi le tue sfide aziendali con Google Cloud

I nuovi clienti ricevono 300 $ di crediti gratuiti da spendere su Google Cloud.
Parla con un esperto del team di vendita di Google Cloud per discutere della tua sfida unica in modo più dettagliato.

Fai il prossimo passo

Inizia a creare su Google Cloud con 300 $ di crediti gratuiti e oltre 20 prodotti Always Free.

Google Cloud
  • ‪English‬
  • ‪Deutsch‬
  • ‪Español‬
  • ‪Español (Latinoamérica)‬
  • ‪Français‬
  • ‪Indonesia‬
  • ‪Italiano‬
  • ‪Português (Brasil)‬
  • ‪简体中文‬
  • ‪繁體中文‬
  • ‪日本語‬
  • ‪한국어‬
Console
Google Cloud