Una Software Defined Infrastructure è una infrastruttura di elaborazione (server, storage, networking) in cui tutti gli elementi sono virtualizzati e sono gestiti come servizi messi a disposizione delle applicazioni e dei carichi di lavoro da eseguire. L’elemento di base di una SDI è quindi la virtualizzazione di tutte le risorse, come in una Converged Infrastructure ma con un maggiore accento sulla virtualizzazione del networking.

Alle macchine virtuali del sistema viene presentata una rete altrettanto virtuale in cui tutte le funzioni (switching, routing, sicurezza, VPN, load balancing…) sono eseguite in software mentre la rete fisica fa solo da instradatore di pacchetti. In questo modo ogni macchina virtuale può avere le funzioni di rete che le servono e “portarsele dietro”, indipendentemente dall’host dove è stata attivata e anche se nel corso della sua esecuzione viene spostata su host diversi.

Il secondo elemento fondamentale di una SDI, anche più complesso della virtualizzazione, è l’automazione del funzionamento dell’infrastruttura stessa, il che si traduce in un gran numero di funzioni che devono essere configurate ed eseguite autonomamente: backup, disaster recovery, ottimizzazione delle reti, assegnazione delle risorse ai nuovi carichi di lavoro, controllo degli accessi e altre funzioni di sicurezza, analisi per la previsione di guasti e molto altro.

L'architettura di una SDI nel modello di VMware

L’architettura di una SDI nel modello di VMware

Tra virtualizzazione e automazione l’obiettivo di chi punta a una SDI è avere un’infrastruttura che possa gestirsi quasi da sola e ottimizzarsi in tempo reale all’avvio e alla scomparsa di applicazioni, carichi di lavoro, utenti. È un concetto molto simile a quello del cloud ma con l’importante differenza che deve gestire anche le applicazioni che non sono state sviluppate direttamente per il mondo cloud ma che magari sono in azienda da anni.

All’atto pratico oggi il termine SDI è quasi sinonimo di Hyper Converged Infrastructure, per due motivi. Il primo è che la distinzione tra le due categorie di infrastruttura è soprattutto nel grado di automazione dei processi di gestione, che per una SDI dovrebbe essere quasi totale.

Il secondo è che tecnicamente al momento la strada più breve per realizzare una SDI è adottare un’offerta di infrastruttura iper-convergente e cercare poi il massimo grado di automatismo permesso dalla specifica soluzione. Come per la HCI è comunque anche possibile realizzare una Software Defined Infrastructure in autonomia partendo dai suoi componenti software di virtualizzazione e gestione.