Le implementazioni cloud-native e l’uso di Kubernetes sono in aumento. Secondo la società 451 Research quasi tre quarti delle aziende nel mondo, utilizzano o stanno pianificando l’adozione di Kubernetes entro i prossimi due anni. Molte aziende, in particolare in settori come i servizi finanziari che producono e consumano enormi quantità di dati, già prima della pandemia stavano cercando nuovi metodi per accelerare i cicli di sviluppo. Considerando il business che andrà online nel 2020 e le aziende che stanno cercando di creare o ampliare la loro offerta digitale, questa necessità è ancora più sentita.
Per comprendere i motivi della crescita dell’utilizzo di Kubernetes e cosa significhi per le aziende, dobbiamo capire l’analogia tra animale e gregge, familiare a molti nell’IT. In sostanza, l’idea è che alcuni manager IT vedono i server e i sistemi all’interno dell’infrastruttura IT della loro azienda come animali. Gli danno un nome, si prendono cura di loro e dedicano la loro vita lavorativa a mantenerli felici, sani e vivi. Man mano che le risorse IT crescono, i tre o quattro server diventano 10-20 server fisici, forse qualche macchina virtuale (VM) e un paio di cloud diversi. Quello che abbiamo ora è un gregge piuttosto che qualche animale. Sì, ci prendiamo cura di loro, ma come singoli soggetti sono sostituibili.
Se volessimo continuare con questa analogia, i team IT moderni gestiscono oggi qualcosa che è più simile a un impianto di allevamento industriale. Non possiamo più contare o vedere tutti i nostri animali. Una grande quantità vive in altre fattorie e paghiamo altre persone per prendersi cura di loro, anche se è ancora nostra la responsabilità se si perdono, vengono rubati o si ammalano. In effetti, al giorno d’oggi non importa dove sono e in che posto sono tenuti. Tutto ciò che ci interessa è ciò che producono – o tornando al mondo della tecnologia – ciò che abilitano. Questo naturalmente si riferisce alla moderna infrastruttura digitale, composta da carichi di lavoro fisici, virtuali e cloud.
La containerizzazione accelera il DevOps
Negli ultimi anni abbiamo assistito all’arrivo dei container. Mentre le VM si riferiscono all’hardware che viene eseguito su più istanze del sistema operativo (OS), i container permettono di eseguire più carichi di lavoro su una singola istanza del sistema operativo. Questo li rende più leggeri, più agili e più veloci da far girare rispetto alle macchine virtuali, che vengono eseguite su un proprio sistema operativo e hanno dimensioni maggiori per lo storage. Mentre gli ITDM non sono così interessati alle velocità e ai consumi della loro infrastruttura di storage, sono molto concentrati sulle prestazioni delle loro applicazioni e dei loro utenti finali (interni o esterni).
È qui che Kubernetes, intesa come piattaforma, diventa fondamentale, poiché permette all’IT di raggruppare i container che compongono un’applicazione in unità logiche. L’esecuzione di Kubernetes offre ai team IT la possibilità di accelerare e modulare la distribuzione delle applicazioni, in modo affidabile e con il minimo rischio. E’ possibile anche automatizzare la distribuzione delle applicazioni, riducendo il rischio di cambiamenti, permettendo un miglioramento continuo, l’aggiornamento e la sostituzione, eliminando i processi manuali e ripetitivi. Kubernetes dà ai team IT una maggiore agilità e flessibilità quando si tratta di bilanciare la capacità rispetto alle fluttuazioni della domanda, aggiungendo continuamente valore alle applicazioni, e la capacità di eseguire diverse applicazioni su piattaforme diverse contemporaneamente. Infine, Kubernetes rafforza il legame tra i team di sviluppo, controllo qualità e operazioni. DevOps consiste nel facilitare la collaborazione e nell’abbattere i silos all’interno di tali team, unendoli per raggiungere un obiettivo comune: creare più valore per l’azienda e i suoi clienti. In sintesi, ciò che Kubernetes può offrire a un’azienda è la capacità di fornire applicazioni più velocemente, su vasta scala e con maggiore precisione.
DevOps descrive un processo per fare le cose in modo cloud-native, quindi Kubernetes si adatta perfettamente agli obiettivi di qualsiasi team DevOps che lavori su un obiettivo comune. I potenziali benefici vanno oltre l’immaginazione di molte aziende. DevOps, che sfrutta l’automazione e la scalabilità offerte da Kubernetes, comporta cicli di sviluppo più rapidi. In poche parole, le aziende possono aggiornare, applicare patch e aggiornare le applicazioni molto più frequentemente di quanto potessero fare prima. Nel settore dei servizi finanziari, ad esempio, ciò è un vantaggio determinante. prima. Nel settore dei servizi finanziari, ad esempio, ciò è un vantaggio determinante. Quando gli sportelli bancari di tutto il mondo sono stati costretti a chiudere nel 2020, la stragrande maggioranza era pronta a servire i propri clienti digitalmente, attraverso l’online e il mobile banking. Questo livello di sofisticazione digitale è in parte dovuto ai cambiamenti portati delle così dette challenger bank nell’ultimo decennio, poiché aziende come Monzo e Revolut hanno sfidato le potenze globali. Un effetto di tali eventi è che le app e i servizi bancari ora hanno bisogno di essere aggiornati e migliorati su base mensile piuttosto che poche volte all’anno.
Guardando al futuro, tecnologie come l’intelligenza artificiale e il machine learning automatizzeranno ulteriormente il nostro modo di interagire con la banca, semplificando la gestione delle nostre finanze personali, il risparmio di denaro e il controllo delle spese. E in tal senso, le piattaforme Cloud-Native e le metodologie DevOps porteranno una rapida innovazione, considerando che le banche sono in competizione per avere le migliori app e servizi personalizzati.
Un approccio moderno alla protezione dei dati
Quando parliamo della scalabilità che il cloud-native e Kubernetes forniscono, possiamo anche riferirci alla ripetibilità e alla precisione con cui nuovi ambienti containerizzati possono essere avviati. Rimanendo sull’esempio dei servizi finanziari, uscendo dalla pandemia, vedremo le filiali fisiche cambiare, con sistemi digitali e contactless più avanzati. L’introduzione di nuove tecnologie e dispositivi in negozio diventerà parte della nuova norma, poichè le persone si aspetterà un’esperienza digital-first. Ciò richiederà probabilmente un certo livello di aggiornamento dell’IT in più sedi per garantire che i clienti un’esperienza coerente in ogni luogo.
Approcci di tipo Infrastructure as Code (IaC) diventeranno quindi vitali per le aziende che desiderano fornire un’esperienza “in-person” coerente e inclusiva in tutti i luoghi fisici. IaC si riferisce al processo di gestione e fornitura dell’infrastruttura attraverso file di definizione leggibili dalla macchina piuttosto che la configurazione manuale, che può essere compromessa da errori umani. L’IaC permette di eseguire un’attività ripetibile allo stesso modo ogni volta. Ripensando ai vecchi tempi, la replica degli ambienti IT su più sedi poteva essere fatta solo configurando e impostando un sito, quindi utilizzando lo stesso identico team e processo per ogni singolo luogo. In realtà, questo non è fattibile se si hanno più di 100 banche al dettaglio in ogni strada principale dell’Italia, per non parlare poi a livello globale. IaC significa che il metodo di configurazione usato per la prima sede è essenzialmente definito nel codice software che può essere prelevato e usato per creare una replica esatta più e più volte.
Inoltre, si riducono i tempi dei carichi di lavoro per tutte quelle aziende che utilizzano team di Platform Ops che forniscono servizi operativi ai team di sviluppo in modalità self service e collaborano con i Site Reliability Engineers (SRE). Che questi carichi di lavoro siano nel cloud, on-premises, virtuali o container, IaC offre maggiore velocità ed efficienza, rendendo ripetibile il processo. Questo non solo accelera il roll out di un’infrastruttura digitale su più sedi, ma riduce anche la possibilità di errori umani, che possono non essere maligni ma possono portare a interruzioni di sistema e vulnerabilità di cybersecurity.
Nei servizi finanziari, così come in molti altri settori, la protezione dei dati sta minando gli sforzi di trasformazione digitale intrapresi sin ora, con errori di backup e lacune che, secondo il Veeam Data Protection Report 2021, lasciano il 58% dei dati potenzialmente non protetti. Kubernetes e le piattaforme cloud-native sono fondamentali per la continua trasformazione digitale delle imprese, ma non risolvono il problema della gestione dei dati.
Esistono anche sfide meno visibili all’interno della data protection dovute da come viene utilizzato il codice per distribuire e modificare le applicazioni dato che ci sono dati statici che vengono generati da fonti esterne come, ad esempio, i database e gli utenti finali. Questi dati non sono contenuti nel codice, ma sono statici. Devono quindi essere protetti o attraverso uno sviluppo Continuous Integration (CI) / Continuous Delivery (CD) e un’API nativa che attivi un backup prima di qualsiasi cambiamento del codice, oppure attraverso un backup che utilizzi strumenti nativi sviluppati per Kubernetes. Le aziende che cercano di sfruttare le funzionalità di Kubernetes dovrebbero collaborare con un esperto di mondern data protection che conosca bene le piattaforme e gli strumenti cloud-native.
Poiché la diffusione e l’impatto dei container continuano, le aziende devono essere certi di proteggere e fare il backup dei dati in ambienti fisici, virtuali, cloud e Kubernetes. Questo è il motivo per cui le aziende che cercano di sfruttare l’agilità, la scalabilità e l’automatizzazione che Kubernetes offre, non possono trascurare la necessità di modernizzare le loro strategie e capacità di protezione dei dati.
A cura di Michael Cade, Senior Global Technologist, Veeam