Sono stato invitato a partecipare in qualità di delegato allo Storage Field Day, nella sua quarta edizione in quel di San Josè, California. Ho potuto incontrare Avere Systems e parlare con loro delle loro soluzioni. La presentazione è stata fatta direttamente dal loro CEO e fondatore, Ron Bianchini.
Chi è Avere Systems
Avere è nata con l’obiettivo di ottimizzare i NAS eliminando i problemi di prestazioni e latenza con un design indicato come Edge-Core. La soluzione permette di ottimizzare i NAS, frapponendo i sistemi Avere tra gli utenti e il Filer nel backend.
Il sistema FXT non sostituisce il NAS, non offre capacità aggiuntiva, ma funziona da ottimizzatore, sia in lettura che soprattutto in scrittura, ma non solo. Accelerare l’I/O lo renderebbe solo un sistema di cache, ma Avere permette anche una esplorazione più veloce della moltitudine di directory e files che sono presenti in grandi installazioni; queste sono infatti le operazioni che rallentano veramente i NAS, e con questa tecnologia Avere promette una incremento fino a 50:1 delle prestazioni complessive. L’architettura è clusterizzabile fino a 50 nodi e permette in questo modo di avere un numero molto elevato di CPU e Memoria, al contrario del classico NAS che offre un determinato ammontare di potenza di calcolo anche quando vengono aggiunti ulteriori cestelli di dischi.
Avere funziona anche come “broker” permettendo di agire come front-end verso multipli Filer, effettuando repliche sincrone tra questi sistemi. Se al posto di un filer pensiamo di avere un servizio di Cloud Storage, si capisce come FXT può essere usato anche in presenza di un Cloud Storage come backend.
I vari nodi di Avere offrono funzioni di Tiering, Clustering tra i nodi, Replication (i blocchi più utilizzati vengono copiati più volte nei vari filer per avere maggiori accessi disponibili), Striping. Questo nel complesso, unito alla disponibilità di differenti Tier (RAM, SSD, SAS, SATA) all’interno di ogni FXT permette in definitiva l’aumento di prestazioni promesso. Il sistema funziona sia per accessi classici ai files, sia per l’uso di NFS come storage per Hypervisor come VMware, tanto da essere certificato da VMware stessa.
Questa parte ha portato a una breve ma interessante discussione sulla “trasparenza” che Avere garantisce al NAS retrostante. Il problema di un sistema di caching è che rende i dati presenti nel NAS “indietro nel tempo”. Se ad esempio abbiamo una cache di circa 4 ore, il contenuto nel NAS è di 4 ore prima. Questo non è un problema durante l’uso quotidiano, ma diventa un problema se voglio ad esempio orchestrare un backup (o snapshot) sullo storage. Avere ha una soluzione interessante, anche se migliorabile. E’ possibile innanzitutto definire la durata del caching, da 1 secondo fino ad 1 anno; in seguito è possibile definire periodi temporali in cui la cache deve essere “clean”, ovvero allineata con il NAS di backup. Se ad esempio eseguo i backup dalle ore 22 in poi, posso programmare Avere in modo che per quell’ora tutta la cache sia stata scaricata sul NAS e il sistema sia in una condizione “clean”.
In futuro, sarebbe auspicabile un sistema di orchestrazione tra Avere, il client (magari con un VSS provider) e il NAS. In questo modo il tutto sarebbe automatizzabile, e la cache verrebbe svuotata unicamente quando necessario e non in modo schedulato.
Filer broker
Molto interessanti sono stati gli esempi di “filer broker” presentati. I sistemi Avere possono essere posizionati in una specifica location senza che in questa vi sia nessun NAS. I dati vengono recuperati e gestiti da Avere direttamente attraverso una connessione WAN. Il vantaggio rispetto a soluzioni di WAN Acceleration è che non bisogna avere due sistemi a entrambe le estremità. La posizione remota può essere un ufficio centrale a cui l’ufficio remoto si collega, oppure un Cloud Storage provider dove un cliente salva i propri dati.
Agendo da broker, Avere è anche in grado tramite “FlashMove” di copiare i dati da un NAS a un altro in modo trasparente, oppure anche tra due Cloud Provider, o un mix dei due. Questo permette migrazioni completamente trasparenti tra due sistemi, in occasione di dismissioni di vecchi sistemi verso altri più nuovi, oppure verso un nuovo Cloud Provider (pensiamo al caso Nirvanix). Inoltre, una volta che i due NAS sono in completo sync, è possibile decidere di staccare il NAS sorgente oppure mantenerlo e tenere due copie dei dati, con una funzione che si chiama “FlashMirror”.
Con l’imminente rilascio della versione 4.0 del loro sistema operativo AOS, Avere sarà ancora più “Cloud”. Vi era già il supporto per EMC Atmos (che era raggiungibile tramite NFS, quindi esattamente come un NAS locale), ma con la nuova versione vi sarà il supporto per le librerie S3: quindi la possibilità di usare direttamente dietro un Edge uno spazio storage fornito da Amazon Web Services, o tramite sistemi compatibili come CleverSafe. In futuro arriverà il supporto per OpenStack Swift, quindi sarà possibile connettersi ad ulteriori Cloud Storage.
C’è anche il supporto per AWS Glacier, e ovviamente qui la gestione è un pò differente. Glacier non consente read/write immediate, ma è piuttosto un sistema di archiviazione. Pertanto, su Avere bisogna manualmente “congelare” una directory, che verrà quindi trasferita su Glacier. Ottima soluzione per quei dati (tipo i progetti ultimati) che contengono montagne di dati che non vengono più acceduti una volta realizzati.
Note Finali
I casi d’uso che ci sono stati presentati sono stati molto interessanti, e confermano una tendenza generale che ultimamente si sta affermando: basta aggiungere capacità per risolvere problemi di prestazioni! Bisogna ragionare su un disegno a due livelli per i nostri storage, anche utilizzando soluzioni di differenti produttori che possano lavorare in coppia, come in questo caso Avere e i vari NAS. Uno sarà un grande storage dal basso costo per GB, responsabile della capacità (Avere lo chiama Core), e un secondo sistema molto più performante e con meno spazio disco sarà responsabile delle prestazioni (Edge).
Ovviamente, in futuro potrebbero arrivare sistemi NAS che siano in grado di utilizzare meglio le memorie NAND, ma almeno all’orizzonte non si vedono simili sistemi, quindi Avere ha un serio vantaggio in questi sistemi. Avere è totalmente pensato per fare queste cose rispetto all’uso di dischi SSD all’interno di uno storage classico, che non è mai stato progettato per utilizzarli (oltre che il costo per questi dischi è assurdamente alto…).
Infine, il costo di un sistema Avere è tutto sommato accessibile: un sistema entry level a 2 nodi costa a listino circa 50.000 USD, e può essere poi scalato solo se e quando necessario. Inoltre, se invece di accelerare un sistema esistente pensiamo di dover realizzare un nuovo disegno, una soluzione molto intrigante è l’uso di una serie di FXT come Edge e dei semplici server assemblati come Core, risparmiando veramente tanti soldi e avendo le stesse prestazioni, dato che sono garantite dai sistemi Avere.