L’orchestratore Kubernetes si è affermato come strumento d’automazione nella gestione dei sistemi informatici rendendosi indispensabile dove servono grande dinamismo e la capacità di spostare i carichi d’elaborazione da un server all’altro, sia nel data center, sia su servizi in cloud differenti. Un’acquisizione tecnologica fondamentale nei contesti dove flessibilità e cambiamento sono strutturali per il business. Kubernetes è il risultato di un progetto open source che dà valore ai container Docker, strutture logiche con cui si virtualizzano interi sistemi, incapsulando e rendendo portabile il software applicativo.
Non è un caso che l’adozione di Kubernetes sia alla base dei molti progetti di trasformazione digitale cloud-native delle aziende, dove è richiesta semplificazione e velocità nella gestione di ambienti d’elaborazione ibridi e multicloud. L’orchestratore accelera i deploy applicativi e permette di ricollocare automaticamente o da console i carichi di lavoro laddove, per esempio, serve avere più potenza, garantire continuità o contenere i costi d’esercizio. Con Kubernetes le imprese possono inoltre sfruttare i servizi in cloud senza perdere il loro potere di scelta e di contrattazione (lock-in) nei confronti dei provider.
Kubernetes, la lingua franca dell’orchestrazione IT
Orchestratore open source per container contenenti software applicativo, Kubernetes consente ai team IT di standardizzare le operazioni IT e gestire servizi con un più alto livello di astrazione: la standardizzazione rende più semplice garantire la continuità e le prestazioni delle applicazioni che girano in ambienti complessi, sia attraverso console sia sfruttando l’automazione. Kubernetes accelera i deploy applicativi perché non devono più essere gestiti in modo diverso a seconda dell’applicazione o del sistema su cui avviene l’installazione. Inoltre, permette di ottenere più trasparenza sullo stato delle risorse e di spostare facilmente i workload tra i data center e i cloud di fornitori differenti.
“Kubernetes offre grandi vantaggi ai team IT – spiega Paolo Mainardi, CTO di SparkFabrik, realtà che opera nello sviluppo software e nei servizi a supporto delle migrazioni in cloud – perché integra le modalità di gestione delle applicazioni su piattaforme diverse, consentendo di trattare nello stesso modo i deploy applicativi su sistemi locali, in cloud privato e pubblico”.
Grazie al fatto d’essere open source, Kubernetes è diventato la lingua franca nei servizi d’infrastructure as a service (IaaS) con il supporto diffuso da parte dei cloud provider. “In pochi anni Kubernetes ha raccolto nuovi sviluppi e investimenti superiori a ogni altra piattaforma proprietaria e può oggi dispone di un vastissimo ecosistema di soluzioni a supporto. Una condizione vantaggiosa per creare nuovi servizi IT più dinamici e aggiornare in chiave cloud-ready la gestione delle operation”.
Kubernetes nel paradigma della moderna IT cloud-native
Cos’hanno in comune Kubernetes e l’IT cloud-native? “Oggi, molti confondono l’adozione dei servizi di cloud con la trasformazione in logica cloud-native dei servizi aziendali, – spiega Mainardi – cosa diversa e molto più complessa, che richiede cambiamenti culturali da parte dell’azienda, degli skill delle persone oltre a tool specifici come Kubernetes”.
Il semplice lift & shift delle applicazioni esistenti su cloud non paga. “Riproduce i limiti dei vecchi data center, rischiando alla fine di far spendere più soldi. Nella nostra esperienza come sviluppatori e pionieri nell’uso dei container e dell’orchestrazione, sappiamo che i vantaggi del cloud si ottengono rendendo cloud-ready l’azienda. Un compito che richiede l’acquisizione delle competenze per disegnare le nuove applicazioni come collezioni di servizi (i microservizi – ndr) impacchettare codice nei container e quindi fare deploy più rapidi, sfruttando l’automazione”.
Velocizzando e automatizzando i deploy, Kubernetes è un anello fondamentale della catena di processi per la messa in produzione delle nuove applicazioni a supporto dei progetti aziendali. A cominciare dalla messa a terra del metodo agile con cui oggi si affrontano in modo iterativo e incrementale molti progetti complessi, facendo continui deploy di prototipi, aggiornati in base ai requisiti e ai feedback degli utenti. “Per le realtà che realizzano internamente il software, Kubernetes è un complemento al DevOps, la moderna metodologia che fonde insieme il lavoro e le competenze dei team che sviluppano codice e che gestiscono le operation IT. Una modalità che collega anche la security e l’analisi funzionale, avvalendosi dell’automazione per riuscire a portare rapidamente in produzione il codice applicativo sviluppato”.
Il percorso per diventare cloud-ready
Il passaggio alla logica cloud-native è oggi fondamentale per le realtà che vogliono sfruttare lo sviluppo software come elemento differenziante dei propri processi, prodotti e servizi. “Per molte aziende il software non è più una commodity, ma un elemento di competitività – spiega Mainardi – come nel caso di mercati borsistici, società finanziarie, farmaceutiche e altre realtà clienti che, nel corso del tempo, abbiamo aiutato a migliorare i processi di sviluppo e la velocità nei deploy con Kubernetes”.
Per diventare cloud-native serve innanzitutto investire sulla formazione e sul potenziamento della collaborazione sia tra i team tecnici sia tra questi e le line-of-business. “Nei progetti che affrontiamo, un assesment iniziale ci consente di definire il modello da raggiungere attraverso l’adozione di tool, la formazione delle persone, la definizione delle fasi di cambiamento e i progetti pilota. In un cloud journey efficace servono tre mesi per intervenire sui pillar fondamentali che riguardano la containerizzazione del software, l’automazione dei test funzionali, di sicurezza, per modernizzare il deploy degli artefatti e la gestione operativa. Per molte tipologie di clienti, Kubernetes si rivela un ingrediente fondamentale di questa trasformazione. Dopo i primi tre mesi, impiegati anche per la formazione del personale all’uso dei tool e alle nuove modalità di lavoro, i team sono pronti per affrontare da soli i progetti aziendali, fruendo all’occorrenza dei nostri professional services”.
Introdurre Kubernetes e altre innovazioni dell’IT nelle realtà d’impresa più strutturate, che ancora oggi utilizzano tool e metodologie superate, non è comunque una passeggiata. “Serve dedicare tanto impegno non soltanto sulle tecnologie, ma sull’organizzazione del processo di lavoro, sugli aspetti culturali e personali – spiega Mainardi – perché è importante non far sentire ‘sbagliate’ le persone che hanno più esperienza e far venire meno la loro partecipazione al cambiamento”.