I container sono in grado di risolvere un vecchio problema dell’IT, la portabilità del software e fanno esattamente ciò che promettono: rendono facile spostare il software da un ambiente all’altro, motivo per cui hanno preso piede così rapidamente.
L’arduo compito di spostare i sistemi operativi insieme alle applicazioni diventa superfluo: questi pacchetti di software eseguibili, leggeri e indipendenti, raggruppano in modo ordinato tutto ciò che è necessario per eseguire un’applicazione, dal codice alle impostazioni. Inoltre consentono di risparmiare tempo ed energie, perché un singolo pacchetto può essere riutilizzato.
I framework come Docker offrono una modalità standardizzata di impacchettare le applicazioni per l’intero ciclo di vita dello sviluppo del software.
Questo è uno dei motivi principali per cui Gartner prevede che entro il 2020 più del 50% delle organizzazioni globali eseguirà applicazioni containerizzate nel processo di produzione, a fronte di meno del 20% nel 2017.
Secondo Massimo Ceresoli, Head of Global Services – Southern Europe Orange Business Services, serve però prudenza prima di saltare nel vuoto
Anche se i team IT sono sotto pressione per accelerare la consegna delle applicazioni, i container non sono la panacea di tutti i mali. L’ecosistema dei container è ancora relativamente immaturo e le aziende devono essere pronte ad affrontare un ulteriore livello di complessità e di costi nell’implementazione dei container in produzione.
Utilizzare i container in produzione prevede una curva ripida di apprendimento a causa dell’immaturità della tecnologia e della mancanza di know-how operativo, secondo Arun Chandrasekaran, Vicepresidente della Ricerca di Gartner , che afferma come “I team delle infrastrutture e delle operazioni dovranno garantire la sicurezza e l’isolamento dei container negli ambienti di produzione, mitigando allo stesso tempo le preoccupazioni operative in merito alla disponibilità, alle prestazioni e all’integrità degli ambienti dei container“.
Dove si collocano le macchine virtuali
I container hanno indubbiamente dei vantaggi rispetto alle macchine virtuali, come il fatto che utilizzano meno risorse, perciò è possibile installare più applicazioni su un singolo server.
Ma ci sono casi in cui le VM possono essere un’alternativa praticabile, come la sicurezza: le piattaforme di gestione delle VM hanno normalmente sicurezza integrata, mentre i container sono esposti a rischi maggiori. Certo, ci sono dei modi per proteggere i container, ma non sono protetti di default.
L’economia dei container su larga scala può comportare sostanziali risparmi economici, ma la suddivisione in diversi container richiede più gestione. È per ragioni come questa che è probabile che le aziende eseguano parallelamente container e VM.
La storia non si ferma qui. Le organizzazioni più intraprendenti stanno già valutando come ottenere il meglio di entrambi i mondi attraverso l’integrazione di macchine virtuali e container. Collocando un container all’interno di una VM, ad esempio, gli amministratori possono scordarsi i problemi di sicurezza generati da più container che condividono il kernel del sistema operativo.
I vendor se ne stanno accorgendo: VMware, ad esempio, ha appena aggiornato la sua piattaforma di container integrati vSphere per semplificare l’implementazione e la gestione dei container software all’interno delle macchine virtuali.
Microservizi e DevOps
L’idea dietro ai cosiddetti “microservizi” è che le applicazioni sono più facili da creare, mantenere e scalare se sono costituite da una serie di componenti modulari. Questo approccio sta diventando sempre più interessante per i team DevOps, che possono lavorare con un’applicazione per tutto il suo intero ciclo di vita, accelerando rapidamente le release e apportando le modifiche necessarie.
Container e microservizi sono partner perfetti. I container rendono possibile, ad esempio, ridimensionare le singole applicazioni in modo indipendente, senza influire sugli altri servizi. Per far questo con una VM, invece, l’intero sistema dovrebbe essere ridimensionato. Inoltre i container sono più piccoli, cosa che rende la distribuzione più veloce.
C’è anche un enorme vantaggio in termini di portabilità: i microservizi “dockerizzati”, ad esempio, possono essere eseguiti in container distribuiti su qualsiasi server con Docker già installato. Eseguire lo stesso come servizio su nuove macchine virtuali richiederebbe prima l’installazione del software.
Orchestrazione di container
L’orchestrazione è la prossima grande innovazione di settore: affronta la questione di come distribuire e gestire più container in modo efficiente.
Soluzioni come Docker Swarm, Kubernetes, Apache Mesos e altri si stanno allineando, e cercano di attirare l’attenzione. Le soluzioni e gli approcci variano, e il miglior ecosistema per le imprese dipenderà dai loro specifici obiettivi di business.
Agilità, flessibilità e automazione sono tutti ingredienti essenziali per un’impresa digitale di successo, e di conseguenza i container avranno senza dubbio un enorme impatto sul futuro delle infrastrutture IT.
I costi più bassi, la velocità e la portabilità della tecnologia dei container saranno fondamentali per supportare sia le strategie DevOps che gli obiettivi aziendali.