Questo articolo fa parte di una piccola serie (qui il primo e qui uno sullo storage tradizionale) che ha l’obiettivo di informare il lettore su come sta evolvendo lo storage enterprise e cosa si deve aspettare per la sua futura infrastruttura.

Architettura Scale-Out

Le architetture dominanti della prossima generazione sono tutte scale-out. Lo storage, il networking, server e il software sono tutti pensati per funzionare su hardware standard (commodity) o su appliance virtualizzate. Scalabilità orizzontale e tanto software a governare i processi di gestione, scambio dei dati e sincronizzazione: questa è la ricettà. L’obiettivo è quello di avere prodotti che possono partire da una configurazione minimale e che poi possono crescere senza particolari limitazioni. Stesse funzionalità per tutti, stessa semplicità d’uso, stessa architettura (dal piccolo alla grande impresa).
La prima grande implicazione di quanto ho scritto è che, in futuro, non esisterà più una vera classificazione dei prodotti in high end o mid range, ma ci sarà un solo prodotto che potrà soddisfare le più svariate esigenze in funzione della sua configurazione.

Principi di base

Al contrario di una architettura scale-up, che cresce verticalmente appunto, l’architetture scale-out è caratterizzata da un modello diametralmente opposto: invece di concentrare le risorse in un unico oggetto si suddividono le risorse in tanti piccoli nodi interconnessi fra di loro. L’obiettivo è quello di poter creare un cluster di nodi che per potenza di calcolo, throughput e scalabilità offre maggiori garanzie di un sistema tradizionale ma a costi più ridotti.
I sistemi di tipo scale out non sono immuni da difetti. Infatti, soffrono di diversi problemi legati principalmente alla velocità di interconnesione (e alla latenza) fra i nodi: caratteristiche che in certi casi possono rischiare non solo di compromettere le performance ma anche l’integrità dei dati! Proprio il motivo che ho appena descritto, le prime applicazioni importanti di sistemi scale out le abbiamo trovate nel super computer (cluster HPC) proprio perché sono stati i primi ad utilizzare sistemi di interconnesione ad alta velocità, come ad esempio infiniband. Negli ultimi anni comunque, sia per motivi legati alle minori necessità rispetto ad un sistema di super calcolo, sia per la maggiore maturità dei sistemi di connessione e sia del software, le architetture scale-out sono diventate diffusissime (es. cluster per la virtualizzazione o per la gestione di grandi basi dati sono ormai alla portata di chiunque).
Lo storage è stato l’ultimo ad adottare questo tipo di disegno architetturale  e, soprattutto è stato l’ultimo ad adottarla su grande scala. Dopo gli anni duemila infatti, alcune piccole startup hanno iniziato a proporre sistemi di questo tipo nella classe low end/mid range ma solo con le ultime evoluzioni tecnologiche è stato possibile far crescere queste soluzioni a livelli importanti.

Commodity hardware

Uno dei motivi che sta facendo proliferare le architetture scale out è l’hardware commodity dell’ultima generazione, dove per hardware commodity intendo i server x86 e Ethernet. Nel caso dei server è chiaro che la potenza di calcolo delle CPU, e i bassi costi di approvvigionamento di componenti fondamentali, come ad esempio la RAM, hanno permesso di ottenere prestazioni impensabili fino a qualche anno fa. Dal lato connettività, le ultime evoluzioni dell’hardware ethernet hanno permesso di abbattere drasticamente i costi mentre la banda per la connettività si è decuplicata!
La grande disponibilità di risorse ha reso possibile implementare meccanismi più sofisticati di replica/sincronizzazione dei dati fra i nodi e di migliorare utilizzo della risorse di spazio disco che erano prima un grave problema se comparato con le architetture tradizionali.

Nel prossimo articolo inizierò a parlare di alcune caratteristiche software degli storage di prossima generazione.