I container sono una forma di virtualizzazione dei sistemi operativi. È possibile utilizzare un singolo container per qualsiasi tipo di esecuzione, da un microservizio o un processo software a un applicazione più complessa. Il container contiene tutti gli eseguibili necessari, il codice binario, le librerie e i file di configurazione. A differenza degli approcci che prevedono la virtualizzazione di macchine e server, i container non contengono immagini del sistema operativo. Questo li rende più leggeri e portabili, con un overhead significativamente inferiore. Nelle implementazioni di applicazioni di maggiori dimensioni, è possibile implementare più container sotto forma di uno o più cluster di container. Tali cluster possono essere gestiti da un container orchestrator come Kubernetes.
I container offrono una soluzione ottimizzata per creare, testare, implementare e ridistribuire le applicazioni su più ambienti dal laptop in locale di uno sviluppatore a un data center on-premise o addirittura al cloud. I vantaggi dei container includono:
L’utilizzo dei container nelle organizzazioni include:
In genere, nel contesto degli ambienti container, sono due i tool e piattaforme utilizzati per la creazione e la gestione dei container. Si tratta di Docker e Kubernetes.
Docker è un ambiente di runtime utilizzato per creare e costruire software all'interno dei container. Utilizza immagini Docker (snapshot copy-on-write) per implementare applicazioni o software containerizzati negli ambienti di sviluppo, test e produzione. Docker è basato su open standard e può essere utilizzato negli ambienti operativi più comuni, tra cui Linux, Microsoft Windows e altre infrastrutture on-premise o basate sul cloud.
Tuttavia, le applicazioni containerizzate possono essere piuttosto complicate. Durante la produzione, in molti casi potrebbe essere necessario disporre di centinaia o migliaia di container separati. In tali casi, gli ambienti di runtime container come Docker si avvalgono di altri strumenti per orchestrare o gestire tutti i container operativi.
Uno dei tool più diffusi a questo scopo è Kubernetes, un container orchestrator in grado di riconoscere diversi ambienti di runtime container, tra cui Docker.
Kubernetes si occupa di orchestrare il funzionamento di più container. Gestisce aree come l'utilizzo delle risorse infrastrutturali sottostanti per le applicazioni containerizzate, quali la quantità di risorse di calcolo, di rete e di storage richieste. Gli strumenti di orchestrazione come Kubernetes semplificano l'automazione e la scalabilità dei workload basati su container per gli ambienti di produzione live.
A volte gli utenti confondono la tecnologia dei container con le macchine virtuali (VM) o la tecnologia di virtualizzazione dei server. Sebbene esistano alcune analogie di base, i container sono molto diversi dalle macchine virtuali.
Le macchine virtuali vengono eseguite in un ambiente hypervisor in cui ogni macchina virtuale deve disporre di un sistema operativo guest proprio, con i file binari, librerie e applicazioni corrispondenti. Ciò comporta un notevole consumo di risorse di sistema e di overhead, in particolare quando più macchine virtuali vengono eseguite sullo stesso server fisico, ciascuna con il proprio sistema operativo guest.
Ogni container, invece, condivide uno stesso sistema operativo host o kernel di sistema ed è molto più leggero, spesso solo alcuni megabyte. L’avvio di un container può quindi essere eseguito in pochi secondi, a differenza delle macchine virtuali standard che richiedono normalmente diversi gigabyte e minuti.
NetApp crede nella tecnologia dei container e sta lavorando a strumenti e innovazioni comprovati in grado di offrire e gestire storage persistente per qualsiasi applicazione, in qualsiasi luogo. Un esempio chiave di questo lavoro è lo sviluppo di Trident. Trident semplifica più che mai il consumo di storage persistente on-demand con le applicazioni containerizzate.
Stiamo lavorando attivamente su nuove soluzioni per accelerare DevOps promuovendo una maggiore velocità e agilità nello sviluppo software. Il consumo delle risorse dell'infrastruttura, come lo storage, dovrebbe essere semplice, ed è proprio con questo obiettivo che NetApp sviluppa soluzioni per la gestione dei container e per offrire una maggiore scalabilità delle applicazioni su una grande varietà di piattaforme.
Accelera i workload containerizzati ovunque tu scelga di implementarli. Sia on-premise che nel cloud, NetApp offre soluzioni complete per la gestione dei dati.
Semplice e on-demand.
Storie di successo del leader mondiale nella gestione e nello storage dei dati
Bandwith, provider di piattaforme API, offre servizi vocali, di messaging e gestione delle emergenze che interessano milioni di persone ogni giorno. Gli sviluppatori di Bandwith si dedicano incessantemente all'innovazione per far evolvere la piattaforma aziendale e portare più rapidamente nuovi servizi sul mercato.
PostFinance si affida a strumenti e tecnologie all'avanguardia sviluppati o adattati in modo specifico per il mercato svizzero. I sistemi NetApp® forniscono i dati dei file per transazioni bancarie sicure e accelerano lo sviluppo di prodotti e servizi finanziari con storage persistente.
DevOps è lo strumento di cui il processo di sviluppo delle applicazioni ha sempre avuto bisogno. Anziché utilizzare funzioni autonome separate, i reparti di sviluppo software (Dev) e delle operazioni IT (Ops) possono collaborare con responsabilità end-to-end dalla fase di ideazione fino alla produzione.
NetApp consente di implementare un’esperienza DevOps perfetta e coerente on-premise, oltre che nei cloud privati e pubblici. In questo modo, il reparto delle operazioni può fornire un’infrastruttura automatizzata con meno complessità tecniche e gli sviluppatori possono lavorare in ambienti affidabili e prevedibili con meno ostacoli e più velocemente.
To edit this Page SEO component