Pubblicato: 21 Luglio 2021  -  Ultimo aggiornamento: 21 Luglio 2021

Container e Kubernetes, cresce l’utilizzo delle tecnologie cloud native

Container e Kubernetes, cresce l’utilizzo delle tecnologie cloud native

L’utilizzo di container e Kubernetes (il noto sistema open-source di orchestrazione e gestione di container, ossia di unità standard di software grazie alle quali “impacchettare” il codice e tutte le sue dipendenze e “disaccoppiarlo” dall’ambiente di esecuzione, rendendo così molto più facile la distribuzione di un’applicazione indipendentemente da quale sia l’effettivo ambiente di destinazione, sia un data center privato, un cloud pubblico o il laptop di uno sviluppatore) cresce significativamente ogni anno. Tuttavia, Kubernetes non è l’unico sistema adottato per semplificare l’esecuzione delle applicazioni all’interno della propria azienda; molto spesso ci si trova di fronte ad un mix di scelte che, oltre a container e Kubernetes, prevedono anche Virtual Machine e bare metal.

Questo è lo scenario fotografato di recente da Canonical, la società fondata dall’imprenditore sudafricano Mark Shuttleworth per la promozione di progetti legati all’open source (il più noto e ormai diffusissimo è Ubuntu, una distribuzione GNU/Linux basata sul sistema operativo multipiattaforma Debian GNU/Linux), che ha rilasciato il report “Kubernetes and cloud native operations report 2021” lo scorso giugno.

Come parte attiva della Cloud Native Computing Foundation (CNCF), Canonical “sfrutta” l’enorme base di utenti di Ubuntu per fotografare ed analizzare l’utilizzo delle tecnologie cloud native da parte delle organizzazioni aziendali in tutto il mondo.

L’ultimo report ha coinvolto oltre 1200 persone ed uno dei punti chiave più interessanti riguarda proprio l’utilizzo di container e Kubernetes. Mentre ben il 45,6% degli intervistati riferisce di utilizzare Kubernetes in produzione, solo il 15,7% riferisce di utilizzare esclusivamente Kubernetes. Le persone intervistate riferiscono di esplorare l’utilizzo di container e Kubernetes accanto ad altre scelte (bare metal, VM – Virtual Machine, applicazioni serverless).

Chi utilizza le tecnologie cloud native e con quali vantaggi

Dal Report 2021 sulle operazioni Kubernetes e cloud native di Canonical, emerge che ad utilizzare container e kubernetes come orchestratore (nonché altre tecnologie cloud native) sono principalmente gli sviluppatori (per lo più sviluppatori back-end e sviluppatori full-stack) e le figure di DevOps (per lo più ingegneri SRE/DevOps e architetti delle infrastrutture).  

Guardando alle tecnologie cloud native più in generale, gli obiettivi che si pongono le aziende nell’adottarle possono essere raggruppati nei seguenti driver (figura 1):

  • miglioramento di manutenzione, monitoraggio e automazione delle applicazioni
  • modernizzazione delle infrastrutture
  • time to market più rapido
Tecnologie Cloud Native - obiettivi di adozione
Figura 1 – Tra gli obiettivi di adozione delle tecnologie cloud native spiccano il miglioramento del mantenimento, monitoraggio e automazione delle applicazioni e la modernizzazione infrastrutturale

Le tecnologie cloud native, container e Kubernetes in testa, forniscono alle aziende una piattaforma per innovare e raggiungere i propri obiettivi. Tra i vantaggi che apportano, ce ne sono alcuni ritenuti più evidenti ed importanti.

Durante il sondaggio è stato chiesto agli intervistati di valutare i seguenti vantaggi su una scala da 1 a 5, dove 1 è il minimo e 5 il più importante (senza tuttavia dare una definizione specifica ad ogni singola voce: le persone che hanno partecipato all’indagine li hanno interpretati come meglio credevano):

  • Tecnologia all’avanguardia
  • Produttività degli sviluppatori
  • Elasticità e agilità
  • Portata globale
  • Software open source
  • Portabilità
  • OpEx e CapEx ridotti
  • Ottimizzazione delle risorse
  • Operazioni più semplici

Questi i risultati emersi (i benefici sono elencati dal più importante al meno, in base ai voti medi rinvenuti dal sondaggio):

  • Elasticità e agilità (con una media di punteggio pari a 4,2)
  • Ottimizzazione delle risorse e produttività degli sviluppatori (con una media pari a 4,1)
  • Time-to-market più rapido e operazioni semplificate (con una media di punteggio pari a 4)
  • Portabilità e software open source (la media è pari a 3,9)
  • Tecnologia all’avanguardia e portata globale (media 3,8)
  • OpEx e CapEx ridotti (media 3,6)

Utilizzo di container e Kubernetes

Come già accennato, l’utilizzo di container e Kubernetes non è l’unica via scelta dalle aziende per modernizzare le infrastrutture e le architetture applicative. Il 29,9% delle persone che hanno preso parte al sondaggio dichiara di eseguire le applicazioni su un mix di bare metal, virtual machines e Kubernetes. Solo il 15,7% degli intervistati dice di eseguire tutte le applicazioni della propria organizzazione aziendale esclusivamente su Kubernetes (figura 2).

Container e Kubernetes - utilizzo
Figura 2 – Container e Kubernetes: Kubernetes non è l’unico sistema scelto nelle aziende. Spesso, per semplificare l’esecuzione delle applicazioni si fa una di mix tra bare metal, virtual machine e Kubernetes

Andando poi ad esplorare i casi d’uso nell’utilizzo delle tecnologie cloud native, ciò che emerge è che la distribuzione e/o gestione di Kubernetes as a service è ciò su cui stanno maggiormente lavorando oggi sviluppatori e team DevOps (nel 36,3% dei casi).

Seguono progettualità legate a:

  • la modernizzazione delle soluzioni applicative proprietaria verso architetture a microservizi (34% dei casi),
  • il passaggio a soluzioni open source (26,7%),
  • l’orchestrazione di carichi di lavoro in un’impostazione multicloud (25,7%),
  • la gestione e la configurazione di ambienti di cloud ibrido (25,3%),
  • l’utilizzo di migliori strumenti cloud native (24,6%),
  • la distribuzione di soluzioni aziendali in diverse aree geografiche (20%).

Container e Kubernetes, le sfide aperte

Infine, l’indagine è servita anche per indagare le sfide aperte, ossia gli ostacoli che incontrano gli sviluppatori ed i team DevOps durante la migrazione o nell’utilizzo di container e Kubernetes.

Ecco dove si riscontrano i maggiori ostacoli e le sfide da affrontare:

  • mancanza di competenze interne/manodopera limitata (54,5%),
  • struttura informatica aziendale (37,3%),
  • incompatibilità con i sistemi legacy (32,6%),
  • difficoltà nel formare gli utenti (29,7%),
  • problemi di sicurezza e conformità non affrontati adeguatamente (24,7%),
  • integrazione tra diverse applicazioni cloud-native (19%).

Tuttavia, nonostante ci siano ancora alcune sfide aperte, la community che ruota intorno a container e Kubernetes, e più in generale alle tecnologie cloud native, ha ormai tracciato la rotta per ridefinire i modi in cui vengono create, distribuite e gestite le applicazioni software. Siamo di fronte ad un vero e proprio cambio di paradigma rispetto agli approcci tradizionali… e la strada è ormai tracciata ed avviata.