Secondo Gartner entro il 2025 a livello globale l'85% delle organizzazioni utilizzerà i container negli ambienti IT di produzione. Tale stima di crescita è molto significativa considerato che nel 2020 l’adozione era fissata a circa il 30%.

La tecnologia container non è un semplice trend, è una tecnologia già presente da anni e ben consolidata.

Per comprendere la tecnologia container e i suoi vantaggi, è opportuno introdurre nuovi concetti. Spesso sentiamo parlare dei microservizi. Che cosa sono? I microservizi rappresentano dei mattoncini elementari che compongono un’applicazione complessa. Ogni microservizio è indipendente ed eroga una specifica funzione di un’applicazione.

I container rappresentano invece un contenitore logico, all’interno del quale viene incapsulato un microservizio.

I Pod sono insiemi di container che condividono le stesse risorse, la stessa rete e che vengono eseguiti sullo stesso nodo di un cluster logico.

CaaS, abbreviazione di Container as a Service, è un modello di business con cui i CSP (Cloud Service Provider) mettono a disposizione dei propri clienti servizi cloud basati sulla virtualizzazione a container.

Il modello CaaS si trova quindi a metà strada tra il più noto modello IaaS (Infrastructure as a Service) dove l’infrastruttura IT (vcpu, ram, storage) è fornita a servizio e il modello PaaS (Platform as a Service) dove viene erogata a servizio la piattaforma su cui sviluppare le applicazioni software.

Container fisici come esemplificazione di container software

donvictorio / iStock via Getty Images

Se andiamo a ripercorrere l’evoluzione del computing, il primo step è costituito dai server fisici hardware, su questi server è installato un sistema operativo e quindi le applicazioni.

Il secondo step evolutivo è invece la virtualizzazione, che è semplicemente il processo tecnologico che astrae le componenti fisiche (hardware), e le rende disponibili sotto forma di risorse virtuali (chiamate virtual machines) tramite software chiamati Hypervisor.

Il terzo step evolutivo è costituito dai container che invece di virtualizzare lo stack hardware, eseguono la virtualizzazione a livello del sistema operativo.

All'utente (end user), attraverso le macchine virtuali, viene fornito un insieme di risorse virtuali su cui installare un sistema operativo.  Attraverso i container viene fornito invece all’utente una partizione del sistema operativo su cui installare direttamente applicazioni (chiamato appunto container di applicazioni).

Virtual Machine

metamorworks / iStock via Getty Images

La tecnologia a container rispetto alla virtualizzazione rappresenta di fatto un innalzamento del livello di astrazione (di fatto si sale di un livello nello stack applicativo avvicinandosi al mondo delle applicazioni) che consente quindi maggiore focus e readiness nel rispondere alle esigenze del business e del mercato sempre più dinamico.

Quali sono i principali benefici dei container?

I container sono indipendenti dalla piattaforma hardware e software sottostante, quindi possono essere creati e replicati in modo semplice e veloce.

Abilitano inoltre l’Hybrid e il Multicloud perchè possono essere eseguiti nella pratica in qualsiasi ambiente IT, nei datacenter on premise, nei cloud pubblici di differenti provider.

Proprio perché i container possono essere eseguiti in qualsiasi ambiente IT (Sviluppo, Test, Produzione, ecc), questo costituisce un importante vantaggio in tutto il ciclo di vita di un software: gli sviluppatori IT impiegheranno meno effort a eseguire debug, rilasci, configurazioni, ma possono dedicarsi invece a distribuire nuove funzionalità di business.

Microservizi Cloud

NatalyaBurova / iStock via Getty Images

Ogni container, sfruttando le funzionalità del Kernel Linux, dispone di risorse isolate rispetto agli altri container, quindi le applicazioni eseguite sui container sono separate le une dalle altre con i conseguenti vantaggi in ambito sicurezza e gestione degli attacchi informatici.

Inoltre, i container abilitano logiche a microservizi più facilmente gestibili e controllabili, nella pratica quando occorre aggiornare, modificare, cancellare un microservizio, si agisce solo su quello e non sull’intera applicazione.

Un altro importante vantaggio è costituito dall’elevata scalabilità nella risposta a variazioni del carico elaborativo applicativo, in particolare è possibile variare in modo dinamico e flessibile sia al numero di container in esecuzione (scaling orizzontale) che alle risorse computazionali di CPU/RAM (scaling verticale).

Saas e Cloud Computing

loops7 / iStock via Getty Image

Quando utilizzare i container e quando le virtual machines?

Questo dipenderà dai casi d’uso e dagli ambiti di applicazione. Le virtual machine rappresentano la scelta migliore negli ambienti IT tradizionali in cui vi sono applicazioni «non containerizzabili» dove quindi il passaggio ai container potrebbe non essere sostenibile, perché dovrebbe prevedere una completa reingegnerizzazione e ridisegno delle applicazioni.

I container sono invece indicati in ambienti cloud native quindi che già nascono nativamente nell’ambito di una strategia cloud, o se gli ambienti IT sono sviluppati con logiche a microservizi o che abbracciano le metodologie di sviluppo software moderne come DevOps.

Oggi molte applicazioni web stanno passando a un approccio basato sui microservizi che sfrutta appieno i vantaggi dei container.

Anche gli ambienti in cui la velocità di provisioning è prioritaria costituiscono un altro frequente caso di utilizzo: i container mediamente si avviano molto più velocemente delle virtual machines.

I container, come si è già detto, trovano applicazione negli ambienti Hybrid e Multicloud che nei prossimi anni rappresenteranno i modelli cloud più diffusi nelle organizzazioni e per questo motivo i container si candidano ad assumere un ruolo sempre più importante e strategico nel panorama dell’Information Technology and Communications.

Scritto da:
Guido De Silvo
Product Marketing Manager
MBA, PMP | Marketing & Sales | Cloud, Multicloud & ICT
https://www.linkedin.com/in/guidodes
Scopri i prodotti e le soluzioni Fastweb per innovare il tuo business