È la fine dell’infrastruttura come servizio?

Le infrastrutture IaaS hanno ancora senso di esistere?

 

Secondo noi si sta esaurendo l’epoca dell’infrastruttura come servizio, almeno come la conosciamo. Cerchiamo di capire cosa potrebbe esserci dopo.

 

Solo un decennio fa, l’esecuzione di macchine virtuali (VM) nel cloud era un metodo all’avanguardia. Questo ha reso la migrazione verso il cloud relativamente semplice: le aziende potevano semplicemente spostare le macchine virtuali che già stavano eseguendo sui loro server locali verso i server di un fornitore di infrastruttura come servizio (IaaS). Liberati dall’onere della manutenzione fisica dei server, le aziende hanno acquisito flessibilità e ridotto i costi.

Ma oggi nessuno sta costruendo nuove applicazioni basate su VM. Invece, si stanno rivolgendo a due modelli che sono più convenienti, a bassa manutenzione e scalabili di quanto le VM possano mai sperare di essere: containerizzazione e serverless. Questi due modelli, non le macchine virtuali, rappresentano il futuro del calcolo e delle architetture cloud-native.

 

Le macchine virtuali non sono l’ultimo punto di arrivo dell’evoluzione delle infrastrutture IT. 

La storia recente dell’infrastruttura IT è la storia dell’astrazione. Dagli anni ’90 – quando abbiamo eseguito applicazioni su hardware in rack fisici (riuscite ancora ad immaginarlvelo?) – ogni nuovo sviluppo ha sempre più sottratto e disaccoppiato le applicazioni dall’hardware, quindi la fetta di infrastruttura che le aziende hanno dovuto gestire è diventata sempre più sottile.

Ma il modello IaaS di esecuzione di macchine virtuali nel cloud non è certo l’ultimo passo di questa progressione.

Le macchine virtuali hanno alcuni svantaggi significativi:

  • Il fatto che ogni VM esegua più sistemi operativi crea inevitabilmente inefficienze. Anche quando vengono ridimensionati o dimensionati correttamente, il che non è un dato di fatto, le VM lasciano molta capacità inutilizzata sui server.
  • Le macchine virtuali lasciano le aziende responsabili di “dolorose” attività operative come il ripristino di emergenza, l’elevata disponibilità e il ridimensionamento, nonché le patch e la sicurezza.
  • Le VM non sono molto flessibili e funzionano in modo diverso su hyperscaler diversi, quindi una VM basata su Microsoft Azure non può essere migrata su AWS o Google Cloud.

Le aziende che stanno ancora tentando di migrare verso il cloud migrando le loro VM dovrebbero ripensarci due volte. Impegnarsi nello sviluppare un modello inefficiente ora frenerà i progressi in futuro.

 

Invece, le aziende dovrebbero cercare la containerizzazione o un modello serverless, anche se richiede cambiamenti significativi nei loro processi interni.

 

Container e Serverless riducono il carico operativo e aumentano l’efficienza

 

I container sono il prossimo passo nella tendenza all’astrazione. È possibile eseguire più containers su un singolo kernel del sistema operativo, il che significa che utilizzano le risorse in modo più efficiente rispetto alle macchine virtuali. In effetti, sull’infrastruttura richiesta per una macchina virtuale, è possibile eseguire una dozzina di contenitori.

Tuttavia, i contenitori hanno i loro lati negativi. Sebbene siano più efficienti in termini di spazio rispetto alle macchine virtuali, occupano comunque la capacità dell’infrastruttura quando sono inattivi, con costi inutili. Per ridurre questi costi al minimo assoluto, le aziende hanno un’altra scelta: muoversi agilmente senza server e usare paradigmi cloud-native e architetture serverless.

Il modello serverlessfunziona al meglio con le applicazioni guidate da eventi (event driven): applicazioni in cui un evento finito, come un utente che accede a un’app Web, fa scattare la necessità di calcolo. Con “serverless”, la società non deve mai pagare per i tempi di inattività, ma pagherà solo per i millisecondi di tempo di elaborazione utilizzati per l’elaborazione di una richiesta. Ciò rende serverless molto economico quando un’azienda inizia a un volume ridotto come un MVP, riducendo al contempo i costi operativi man mano che le applicazioni crescono di scala.

Alcuni consigli per far evolvere la tua infrastruttura IT

Il passaggio alla containerizzazione o a un modello serverless richiede importanti cambiamenti nei processi e nella struttura dei team IT e scelte ponderate su come eseguire la transizione stessa.

Qui sotto vi elenchiamo solo alcuni dei consigli per gestire con successo il passaggio ad una moderna infrastruttura IT:

  • Impara a riconoscere e valutare quale modello funziona meglio per il tuo caso d’uso. Se puoi sfruttare serverless,prova a riconoscerlo e sappi che dovresti usarlo. Oggi è il modello di infrastruttura IT più conveniente e lungimirante. Tuttavia, serverless rappresenta un paradigma di programmazione completamente nuovo. L’implementazione di solito è fattibile solo quando il tuo team sta programmando qualcosa di nuovo da zero, from scratch.
    Al contrario, i contenitori sono la soluzione più conveniente se si esegue il refactoring o la riformattazione di un’applicazione. Il framework di container leader, Kubernetes, è anche universalmente accettato su tutti gli Hyperscaler, il che rende i container ideali per mantenere la portabilità tra cloud o la portabilità ibrida, eseguendo le stesse applicazioni locali come nel cloud.
  • Adotta una mentalità cloud-native. Il passaggio alla moderna infrastruttura IT è una trasformazione delle persone e dei processi tanto quanto una trasformazione tecnologica. La gestione tradizionale dell’infrastruttura IT si basa fortemente su soluzioni point-and-click manuali. Al contrario, la gestione delle infrastrutture containerizzate o serverless è più simile all’ingegneria del software: i team IT utilizzano il codice per descrivere il risultato finale che desiderano e i sistemi automatizzati lo sviluppano.
    Per sfruttare appieno la flessibilità e l’efficienza offerte dalle infrastrutture moderne, i team IT devono passare a ciò che è noto come orientamento DevOps, che porta pratiche di sviluppo software agili nella gestione dell’infrastruttura. Ad esempio, i team IT aziendali tradizionali tendono a essere messi a tacere dalle funzioni, ma DevOps adotta un approccio più agile in cui un team possiede un’applicazione da un capo all’altro. Adattarsi a questo nuovo modo di lavorare è necessario per il successo della transizione infrastrutturale.
  • Evitare soluzioni proprietarie di terze parti. Esistono molti software di terze parti che affermano di rendere più semplice la transizione verso container o serverless. Tuttavia, alla fine, queste “astrazioni perdenti” possono solo aggiungere ulteriori passaggi e costi aggiuntivi. Sebbene possano semplificare la transizione iniziale, man mano che diventi più sofisticato, alla fine avrai esigenze che probabilmente non sono in grado di gestire. Invece, dovresti eliminare l’intermediario dall’inizio e utilizzare soluzioni open source con comunità attive, come Kubernetes, o adottare soluzioni fornite dagli Hyperscaler. Potrebbe esserci una curva di apprendimento più ripida, ma ciò farà risparmiare tempo in futuro ai team IT.
  • Non eseguire questa transizione tutta in una volta. Non devi passare a container o serverless in una volta sola, il che è estremamente difficile da fare. Invece, trasferisci alcuni servizi in container lasciando invariato il resto della tua applicazione. È possibile trasferire più servizi nel tempo fino a quando l’applicazione non è completamente containerizzata. Questa strategia di adozione incrementale è nota come “strangler method” (letteralmente – metodo strangolatore- ) poiché il nuovo codice strangola lentamente il vecchio. Questa strategia lenta e costante consente inoltre ai team IT di adattarsi a nuovi modi di lavorare.

 

 

Il futuro del calcolo

Il mercato delle VM probabilmente non cadrà dall’oggi al domani. Esistono troppi sistemi legacy già in esecuzione su tale infrastruttura nel cloud. Tuttavia, ciò non cambia il fatto che i contenitori e i serverless siano più flessibili, richiedono meno manutenzione, sono più facili da automatizzare e più economici. Sono il futuro del calcolo e le aziende dovrebbero fare entrare queste nuove tecnologie e processi nei loro core business.