Magazine

Kubernetes e container, la scelta per la modernizzazione delle app

30/06/2023
Kubernetes e container, la scelta per la modernizzazione delle app
Come sappiamo, piattaforme come container e Kubernetes sono divenute tecnologie fondamentali, negli ultimi anni, per lo sviluppo di applicazioni cloud native e per la modernizzazione dei carichi di lavoro. In modo particolare Kubernetes, quale soluzione popolare per progetti innovativi, richiede alcune prerogative per far sì che i progetti basati su di esso siano di successo.

Parliamo di competenze adeguate e di pratiche DevOps mature che rendano operative le distribuzioni su larga scala. Da parte sua, l’ecosistema dei container è in rapida evoluzione, con molti progetti open source, il che rende complesso restare al passo con i cambiamenti. Non a caso, entro il 2027, oltre il 90% delle organizzazioni globali eseguirà applicazioni containerizzate in produzione, con un aumento significativo rispetto a meno del 40% nel 2021. Entro il 2027, il 25% di tutte le applicazioni aziendali verrà eseguito in container, dato che nel 2021 si attestava a meno del 10%. Sempre entro il 2027, oltre il 65% dei fornitori COTS (Commercial-of-the-Shelf) offrirà il proprio software in formato container, rispetto a meno del 20% nel 2021.

Come spiega Gartner in un suo recente report, “CTOs’ Guide to Containers and Kubernetes - Answering the Top 10 FAQs”: “I leader aziendali tendono a investire sempre più in strumenti container per consentire l'agilità del software, la produttività degli sviluppatori e la modernizzazione delle loro applicazioni. I grandi fornitori di cloud e di software di gestione dei container sono in continua competizione. La gestione multicloud, l'integrazione della catena di strumenti DevOps, la sicurezza integrata, i modelli di consumo flessibili e la maturità dei prodotti sono tra i principali fattori di differenziazione. Le imprese devono dunque affrontare sfide per misurare con precisione il ROI dei loro investimenti nelle tecnologie cloud native e creare la giusta struttura organizzativa per farli prosperare”.

Nel corso del 2023 vedremo le organizzazioni adottare nuove tecnologie cloud native in concomitanza all’aggiornamento della loro infrastruttura, in particolare nel passaggio a Kubernetes. L'ascesa dell’utilizzo di software cloud native ha però aumentato il numero di componenti che devono essere testati. Con la diffusione dell'architettura a microservizi, testare le singole unità di codice non è più sufficiente per garantire le prestazioni e l'affidabilità complessive dell'applicazione.

Nelle organizzazioni più mature, e con maggiori risorse, cominciano a palesarsi strumenti di automazione e di integrazione, anche basati su IA, per velocizzare il lavoro più tedioso e ripetitivo e, al contempo, ridurre gli errori in fase di progettazione. Continua Gartner: “Bisogna quindi assicurarsi che esista un solido motivo aziendale per adottare Kubernetes, identificando i casi d'uso appropriati e favorendo una cultura di DevOps prima di impegnarsi e scalare gli ambienti della piattaforma Kubernetes. Creare un team che curi la selezione della piattaforma, guidi la standardizzazione e l'automazione delle funzioni DevOps e collabori con gli sviluppatori per promuovere architetture native del cloud può essere un buon inizio”.

I vantaggi di Kubernetes

Kubernetes rappresenta una preziosa opportunità per le aziende che vogliono semplificare la gestione delle applicazioni all'interno di ecosistemi ibridi e multicloud. L'utilizzo della piattaforma di orchestrazione open source consente infatti di ottenere una serie di vantaggi come la possibilità di:
  • distribuire i container su diversi sistemi hardware;
  • ottimizzare le risorse garantendo le prestazioni delle applicazioni;
  • assicurare il corretto funzionamento dei container e la continuità del servizio;
  • automatizzare la distribuzione e l'aggiornamento del software;
  • impostare diversi livelli di sicurezza
Tutto ciò si traduce in vantaggi concreti:
  • grazie all'automazione, i processi di sviluppo, rilascio e distribuzione delle applicazioni containerizzate diventano semplificati e accelerati;
  • la gestione dinamica dei container e l'allocazione intelligente delle risorse consentono di guadagnare in termini di efficienza e di ridurre le spese IT;
  • la capacità di scalare rapidamente i container e di gestire i picchi di richiesta aumenta la disponibilità delle applicazioni e la continuità del servizio;
  • la portabilità delle applicazioni containerizzate aumenta la libertà di scelta dell'infrastruttura e la containerizzazione può essere una scorciatoia per migrare le applicazioni legacy al cloud, garantendo funzionalità e prestazioni in qualsiasi ambiente.

I casi d’uso principali

Parlando di casi d’uso, questi ormai sono diffusi rispetto a container e Kubernetes. Ad esempio per i microservizi, la cui architettura applicativa è caratterizzata da componenti indipendenti che sono distribuiti e accoppiati in modo dinamico. Poi relativamente agli abilitatori di tecniche DevOps, ossia software che automatizzano parte del lavoro di adozione, semplificando per gli sviluppatori e i team la modifica e l’aggiornamento del codice durante il ciclo di vita dello sviluppo del software. Vale la pena ricordare i benefici di portabilità delle applicazioni e la riduzione del rischio di lock-in tecnologico, oltre alla modernizzazione delle applicazioni legacy, che altrimenti dovrebbero essere abbandonate e ricreate da zero.

“Le applicazioni che sono buone candidate iniziali per la containerizzazione presentano le seguenti caratteristiche: basso grado di dipendenze esterne; le tecnologie dell'infrastruttura e della piattaforma su cui l'applicazione viene eseguita sono già disponibili come immagini di container, preferibilmente si tratta di applicazioni stateless per le implementazioni iniziali; l’app ha esigenze di elasticità rapida e richiede frequenti modifiche al codice e se si distribuisce un'applicazione COTS esiste un'immagine supportata dal fornitore”.

L'adozione di Kubernetes ha in genere seguito quella dei container (e microservizi) nei suoi primi anni e tale modello non è cambiato. Qualcosa di simile sta avvenendo con un'altra forma di architettura distribuita: l'edge computing. Un trend che lo stessa Gartner inserisce tra quelli prominenti già oggi, insieme alle VM convergenti, al supporto per le applicazioni statiche e la tecnologia serverless. Kubernetes non è solo per cluster di server e cloud ma è anche perfetto per la natura altamente distribuita degli ambienti edge, in cui i team IT possono supportare centinaia o migliaia di nuovi nodi. Le aziende hanno bisogno di un mezzo per estendere fino all'edge la stessa automazione e standardizzazione che applicano nei loro ambienti cloud e data center e in questo Kubernetes può rispondere correttamente a tali necessità. 

La tua organizzazione sta andando nella direzione dell’application modernization? Scopri l’offerta Aruba Enterprise per il cloud native oppure scarica il Report Gartner®, CTOs’ Guide to Containers and Kubernetes — Answering the Top 10 FAQs, Stefan Van Der Zijden, Arun Chandrasekaran, Wataru Katsurashima, 31 May 2022

GARTNER è un marchio commerciale registrato e un marchio di servizio di Gartner, Inc. e/o i suoi affiliati negli USA e nel mondo ed è utilizzato nella presente con autorizzazione. Tutti i diritti riservati.