Vai a

Che cosa sono i container?

I container sono pacchetti di software che contengono tutti gli elementi necessari per l'esecuzione in qualsiasi ambiente. In questo modo, i container virtualizzano il sistema operativo e sono eseguibili ovunque, da un data center privato al cloud pubblico o anche sul laptop di uno sviluppatore. Da Gmail a YouTube passando per Ricerca, tutti i prodotti e servizi Google vengono eseguiti in container. La containerizzazione consente ai nostri team di sviluppo di spostarsi velocemente, eseguire il deployment del software in modo efficiente e operare su una scala senza precedenti. Negli ultimi dieci anni abbiamo imparato molto sull'esecuzione dei carichi di lavoro containerizzati e abbiamo condiviso queste conoscenze con la community: dai primi contributi di cgroups al kernel di Linux alla pubblicazione open source delle progettazioni dei nostri strumenti interni come il progetto Kubernetes.

Definizione di container

I container sono pacchetti leggeri del codice dell'applicazione e di dipendenze come versioni specifiche di runtime e librerie dei linguaggi di programmazione necessari per eseguire i servizi software.

I container facilitano la condivisione di CPU, memoria, archiviazione e risorse di rete a livello di sistemi operativi e offrono un meccanismo di pacchettizzazione logico in cui le applicazioni possono essere astratte dall'ambiente in cui vengono effettivamente eseguite. 

Quali sono i vantaggi dei container?

Separazione delle responsabilità

La containerizzazione consente una chiara separazione delle responsabilità, in quanto gli sviluppatori si concentrano sulla logica e sulle dipendenze dell'applicazione, mentre i team delle operazioni IT possono concentrarsi sul deployment e sulla gestione anziché sui dettagli relativi alle applicazioni, come le versioni e le configurazioni specifiche del software.

Portabilità del carico di lavoro

I container sono in grado di funzionare praticamente ovunque, facilitando notevolmente lo sviluppo e il deployment: su sistemi operativi Linux, Windows e Mac, su macchine virtuali o server fisici, sulla macchina di uno sviluppatore o in data center on-premise e, ovviamente, nel cloud pubblico. 

Isolamento delle applicazioni

I container virtualizzano le risorse di CPU, memoria, archiviazione e rete a livello di sistema operativo, offrendo agli sviluppatori una visualizzazione del sistema operativo logicamente isolata da altre applicazioni.

Risolvi le tue sfide aziendali con Google Cloud

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

Container e VM

Dovresti già avere una certa familiarità con le VM: un sistema operativo guest come Linux o Windows in esecuzione su un sistema operativo host e con accesso all'hardware sottostante. I container vengono spesso paragonati alle macchine virtuali (VM). Come le macchine virtuali, i container consentono di pacchettizzare le applicazioni insieme a librerie e altre dipendenze, garantendo ambienti isolati per l'esecuzione dei servizi software. Tuttavia, come vedrai, le somiglianze finiscono qui, in quanto i container sono unità molto più leggere e offrono una miriade di vantaggi agli sviluppatori e ai team delle operazioni IT.

  • I container sono molto più leggeri delle macchine virtuali
  • I container eseguono la virtualizzazione a livello del sistema operativo, mentre le macchine virtuali a livello di hardware
  • I container condividono il kernel del sistema operativo e utilizzano una frazione della memoria richiesta dalle VM

A che cosa servono i container?

I container mettono a disposizione un meccanismo di pacchettizzazione logico grazie al quale le applicazioni possono essere astratte dall'ambiente in cui sono effettivamente eseguite. Questo disaccoppiamento consente di eseguire facilmente e in modo coerente il deployment delle applicazioni basate su container, indipendentemente dal fatto che l'ambiente di destinazione sia un data center privato, il cloud pubblico o il laptop di uno sviluppatore.

Sviluppo agile

I container consentono agli sviluppatori di lavorare molto più rapidamente evitando le preoccupazioni relative a dipendenze e ad ambienti.

Operazioni efficienti

I container sono leggeri e consentono di utilizzare solo le risorse di calcolo necessarie, così puoi eseguire le applicazioni in modo più efficiente.

Esecuzione ovunque

I container possono essere eseguiti virtualmente ovunque. Ovunque tu voglia eseguire il tuo software, puoi utilizzare i container.

Supportato dalla stessa esperienza che ha condotto allo sviluppo di Kubernetes, Google Kubernetes Engine (GKE), il primo servizio gestito pronto per la produzione sviluppato per l'esecuzione di applicazioni containerizzate, può aiutarti a implementare una strategia Kubernetes di successo per i carichi di lavoro cloud. 

Con Anthos, Google offre un'esperienza Kubernetes coerente per le tue applicazioni, sia on-premise che in ambienti multi-cloud. Anthos offre una soluzione affidabile, efficiente e sicura per eseguire i cluster Kubernetes ovunque.