Riuscire a ‘spremere’ tutte le migliori performance dall’all-flash storage. È questa la sfida attuale delle aziende che, dopo aver deciso di passare alla tecnologia flash abbandonando gli hard disk drive, devono ora riuscire ad ottimizzarne l’investimento identificando il miglior modo per utilizzarle. Quando lo storage basato su flash diventò una delle opzioni percorribili per le alte performance, fu proposto dai vendor come ‘tier statico’ (un repository primario di dati statici) e i workload dovettero essere spostati manualmente all’interno dei nuovi sistemi. Il risultato è che le prime installazioni di all-flash storage array furono guidate dalle criticità di determinati workload che richiedevano prestazioni estreme (come le Vdi, virtual desktop infrastructure). Con il passare del tempo ci si è però resi conto che un simile approccio era del tutto inefficiente (a partire dall’alto costo delle risorse all-flash storage), innanzitutto perché non era così semplice identificare i workload più idonei da migrare, in secondo luogo perché anche i workload più ‘estremi’ non richiedono le elevate perfomance della tecnologia flash in modo continuativo.
“Ampliare l’implementazione dell’all-flash storage significava dunque, per i vendor, fornire nuova funzionalità per abilitare un certo livello di automazione per spostare i dati dentro e fuori dagli ambienti flash”, ricorda George Crump, presidente della Storage Switzerland, società di analisi specializzata in ambito storage e virtualizzazione, in un articolo pubblicato da TechTarget (‘Tiering vs. Caching in Flash-Based Systems’). “I fornitori hanno seguito due strade, quella del tiering e quella della memorizzazione nella cache (caching); due approcci spesso confusi e ritenuti uno sinonimo dell’altro, ma non è così”.
Tiering non solo per la ‘lettura’
Entrambi gli approcci si basano su algoritmi che determinano quali dati debbano essere movimentati e spostati da un ambiente storage all’altro ma, in molti casi, i vendor hanno affinato questi algoritmi per indirizzare specifiche problematiche o abilitare particolari modelli di accesso e utilizzo dei dati.
Nel modello di tiering i dati sono ‘semplicemente’ spostati dai vari ambienti storage verso quelli all-flash a seconda di determinate regole (per esempio mantenendo negli all-flash storage array i dati con maggior frequenza di accesso o a supporto di processi mission-critical); “Questo significa che non ci sono dati che ‘sopravvivono’ sia nei sistemi flash sia negli hard disk drive tradizionali – sottolinea Crump -; in questo scenario bisogna dunque impostare ambienti di ‘high availability’ perché ogni piccolo downtime potrebbe significare la perdita dei dati, soprattutto se si considera che ad essere ‘spostati’ sull’all-flash storage sono i cosiddetti ‘active data’ (cioè a maggior frequenza di accesso ed utilizzo) che solitamente contengono informazioni critiche”.
In questo modello, i nuovi dati o quelli modificati (quindi la scrittura dei dati) vengono salvati in hard disk drive ‘tier 1’ e solo dopo la loro lettura/analisi vengono spostati negli altri sistemi; gli algoritmi devono quindi ‘regolare’ accessi multipli e spostamenti di dati in poco tempo. Secondo l’analisi di Crump, “questo approccio risulta sicuro perché assegna ai dati la tecnologia più adatta ma le operazioni di scrittura (write I/O) potrebbero non beneficiare mai delle prestazioni della tecnologia flash, ‘relegate’ solo alla lettura dei dati”.
In realtà, aggiunge l’analista, “mano a mano che la tecnologia è maturata anche gli algoritmi di tiering si sono affinati, tanto che oggi la ‘tripla fase’ di scrittura/lettura/spostamento è in realtà ridotta e anche le operazioni di scrittura avvengono direttamente in ambienti flash”.
Caching, memoria ‘a tempo’
Il pilastro fondamentale dell’approccio cosiddetto di caching è il tempo; a differenza del sistema di tiering che può ospitare sui sistemi flash i dati anche per settimane o mesi, i dati rimangono nella cache [area di memoria estremamente veloce ma solitamente di un basso ordine di grandezza di capacità – ndr] solo per il ‘tempo necessario’ di utilizzo (da parte dei workload e delle applicazioni). Esistono tre diversi tipi di caching:
- write-around: significa che i dati vengono scritti su storage tradizionale (hard disk drive) e poi copiati su sistemi flash a seconda della loro ‘qualifica’ (processo dunque simile al tiering ma in questo caso i dati vengono copiati, non spostati). In questo caso un errore nei sistemi flash non comporta la perdita dei dati ma potrebbe comunque avere ricadute di performance (nel momento in cui i dati non vengono più resi disponibili dai sistemi falsh ma dagli hard disk tradizionali), oltre al fatto che le numerose copie di dati richiedono poi funzionalità di gestione e controllo aggiuntive;
- write-through: in questo caso i dati in scrittura memorizzati nella cache vengono inviati contemporaneamente sia ai sistemi flash sia agli hard disk drive, superando così il problema di dover pre-qualificare i dati attivi (in questo caso però le prestazioni della scrittura sono fortemente dipendenti dallo spazio sul disco rigido e dalla capacità della cache);
- write-back: in questo modello le prestazioni dei processi di scrittura vengono garantite dal fatto che la cache funge da sistema storage riconoscendo i dati come se fossero già scritti nei sistemi di archiviazione, scrivendoli in realtà in un secondo momento quando le infrastrutture e le risorse risultano disponibili. Sono evidenti le ripercussioni sulle performance immediate, ma il rischio che qualcosa possa accadere prima che i dati vengano trascritti dall’area di cache all’area di immagazzinamento storage è piuttosto elevato, con evidente pericolo di perdita dei dati.
Come scegliere allora?
“Non ci sono significativi vantaggi a favore dell’uno e dell’altro approccio – risponde l’analista Crump -, è sufficiente che siano messe in atto tutte le politiche di sicurezza e ridondanza, le funzionalità più critiche dalle quali dipendono le reali performance dell’all-flash storage. Grazie al progressivo calo dei prezzi delle tecnologie flash, anche il costo dei sistemi di ridondanza è oggi più basso di quanto ci si possa aspettare”.