L’espressione Software Defined Storage è nata come estensione dei concetti del Software Defined Networking al mondo dei sistemi di storage. Anche in questo caso l’attenzione si incentra sulla separazione delle funzioni, in questo caso di quelle che stabiliscono come “muovere” i dati fra lo storage e le applicazioni che li richiedono da quelle che fisicamente spostano i dati.

C’è però una importante distinzione: la gestione dello storage è “astratta” da sempre (noi pensiamo a file e documenti, i sistemi di storage a blocchi di zero e uno da memorizzare sparsi su zone di un disco o celle di memoria) e ci sono già molti approcci distinti che estendono ulteriormente questa astrazione di fondo. Perciò il concetto di SDN appare subito abbastanza chiaro mentre quello di SDS lo è meno e soprattutto si confonde con quello della virtualizzazione dello storage, che è diffuso da diversi anni. Non è però la stessa cosa, come in generale il concetto di “software-defined x” è sempre diverso da quello di “virtualizzazione di x”.

Leggi anche: La rete SDN dell’incredibile infrastruttura IT del CERN parla (anche) italiano

La virtualizzazione dello storage permette di unire risorse di storage fisicamente distinte in quello che appare come un unico pool omogeneo. Il SDS disaccoppia le applicazioni dall’hardware che costituisce la rete di storage e permette un’allocazione dinamica e automatizzata delle risorse di storage in base alle necessità delle applicazioni stesse. Quindi l’astrazione è più profonda: la virtualizzazione separa la capacità di storage dall’harwdare, il SDS separa tutte le funzioni di storage dall’hardware.

EMC VMAX All Flash

EMC VMAX All Flash

Tanto che la SNIA ha indicato cinque requisiti chiave che devono essere presenti in una soluzione software perché sia catalogabile come Software Defined Storage:

  1. Funzioni di automazione che semplifichino la gestione dell’infrastruttura
  2. Interfacce (API) standard per dialogare con i servizi e i dispositivi di storage
  3. Una forma di virtualizzazione che permetta alle applicazioni scritte con tali API di dialogare con qualsiasi storage (a blocchi, a file e a oggetti)
  4. Scalabilità per ampliare l’infrastruttura di storage senza impattare sulle sue prestazioni
  5. Trasparenza per permette a chi usa lo storage di verificare direttamente il suo consumo di risorse.

Nel mondo software-defined lo storage è forse quello in maggiore evoluzione e in cui si sta facendo chiarezza solo da poco. Gli approcci al SDS sul mercato sono molti e spaziano dalla realizzazione di architetture software-defined a partire da server generici con il loro storage a sistemi più strettamente integrati in stile convergente.

Leggi anche: