Vorrei proseguire il ragionamento che feci qualche settimana fa sullo storage midrange con un articolo più legato alla realtà di tutti i giorni.

Nel mio lavoro mi capita quasi quotidianamente di confrontarmi con vendor e clienti finali riguardo alle problematiche di storage. La scelta dello storage su cui l’azienda farà risiedere i propri dati è fondamentale perchè è una componente critica dell’infrastruttura. Inoltre, negli ultimi anni, e ancora di più in futuro, questa scelta sarà fondamentale vista la crescita esponenziale di dati che riscontriamo ogni giorno (soprattutto quelli non strutturati).

L’obiettivo di questo articolo è quello di fare luce su alcuni aspetti che dovrebbero influenzare la scelta di uno storage enterprise.

la protezione dei dati

Quando si fa la scelta per un nuovo storage, si da quasi per scontato che i dati verranno protetti da meccanismi RAID quello che spesso si ignora (o dimentica) è che il RAID si paga! il RAID 10 è il  più efficiente in termini di performance ma si perde il 50% dello spazio mentre il RAID 6 è spesso quello utilizzato per ottimizzare l’uso dei dischi più capienti ma è il meno performante, nel mezzo esistono diverse possibilità con risultati diversi.

I sistemi di storage di vecchia generazione organizzano i dischi in “raid groups” da cui vengono ricavati i volumi (LUN) che verranno poi messi a disposizione agli host. Al contrario, l’evoluzione tecnologica dei sistemi di ultima generazione, ha permesso di introdurre il concetto wide striping: grazie a queste nuove funzionalità è possibile trovare implementazioni RAID molto diverse e molto più efficienti di quelle tradizionali. In certi casi è possibile ottenere configurazioni che hanno l’efficenza in scrittura paragonabile a quella del RAID 10 e la sicurezza di protezione simile a quella del RAID 5/6.

Alle volte, capita anche di sottovalutare altri fattori legati alla protezione dei dati, un esempio su tutti? il tempo di ricostruzione dei RAID group. Questi “dettagli” sono lasciati spesso al caso e ci si accorge che per ricostruire un disco da 2TB ci possono volere anche 2 giorni solo dopo aver messo il sistema in produzione!

spazio, throughput e IOPS

Mi capita frequentemente che i clienti facciano richieste molto generiche, del tipo: “ho bisogno di 10TB FC/SAS e 20TB SATA”. Questa tipo di richieste, formulate in questo modo, significano un rischio considerevole per la buona riuscita del progetto. Oggi, 20TB SATA sono 10 HD da 2TB mentre 10TB FC/SAS si possono ottenere da una manciata di HD da 2,5″ 600GB/10K… e so benissimo che non è quello che intende realmente il cliente! (forse, spero!)

La realtà, purtroppo, è molto diversa: è giusto dividere in diversi tier ma senza una analisi adeguata i rischi di avere un sistema sovra o sotto dimensionato e, magari, sbilanciato sono considerevoli. Ogni tipologia di workload genera un diverso tipo di traffico (es.: uno streaming video è agli antipodi di un ERP) ed ha bisogno di essere trattato in modo diverso per ottenere il massimo spendendo il minimo. E’ sempre necessario misurare con cura le reali necessità dell’infrastruttura, isolando particolari carichi di lavoro, picchi e latenze. Una volta realizzata una immagine adeguata della situazione si può facilmente lavorare sull’evoluzione, sulla suddivisione dei tier e sulla loro dimensione.

i protocolli

Il mercato si sta dirigendo molto chiaramente in un unica direzione: lo unified storage. Unified storage significa, in modo molto riduttivo, uno storage capace di sopportare contemporaneamente sia traffico di tipo blocchi che di tipo file (SAN e NAS). Normalmente, lo “unified storage” è un oggetto più complesso e costoso degli altri ma è certo che, se l’azienda sta affrontando la scelta dello storage primario, è quello che permette le maggiori libertà operative e quindi notevoli risparmi in termini di ore uomo, performance, semplicità d’uso da parte degli utenti/amministratori, ecc.

scale-up o scale-out

Fino a pochi anni fa non esistevano tecnologie di tipo scale-out per lo storage ma ora le cose stanno cambiando.

Scale up (scalare verticalmente) significa avere la possibilità di aggiungere dischi, potenza di calcolo, funzionalità software e connettività sempre sullo stesso array. Scale out (scalare orizzontalmente) significa raggruppare diversi array (ognuno dei quali con i suoi controller, dischi, memoria, capacità di connessione) in un unico grande “array virtuale”. La scelta fra scale up e scale out dipende da molti fattori.T

radizionalmente, l’approccio scale-up è quello più utilizzato ma ora, che queste nuove tecnologie sono mature, sono molti i clienti che iniziano a valutare con favore questa interessante possibilità: in molti casi, soprattutto su installazioni importanti e in ambienti fortemente virtualizzati, l’elasticità operativa e le performance di un sistema scale-out sono indiscutibilmente superiori di sistemi scale-up paragonabili.

semplicità d’uso

Un interfaccia di management semplice e intuitiva permette di risparmiare tempo e, spesso, di rendersi indipendenti da consulenti esterni! Per quanto tutti i produttori stiano lavorando per sviluppare delle interfacce grafiche all’altezza del secolo in cui viviamo purtroppo, ancora oggi, mi capita spesso di avere a che fare con oggetti complicati e molto poco amichevoli. I costi che questo può procurare variano dalla maggiore necessità di training all’avere un rapporto storage admin/TB gestiti molto sfavorevole!

efficienza e funzionalità avanzate

La semplicità d’uso non è la sola a dover preoccupare, a quanto scritto sopra è necessario aggiungere l’efficenza del sistema che si sta valutando. I sistemi di storage moderni hanno inserito una serie di funzionalità molto sofisticate per migliorare l’uso delle risorse che spaziano da tecniche di riduzione dell’occupazione dei dati (ad es.: deduplication e compressione) a tecniche di snapshot e clonazione dei dati, passando per la movimentazione degli stessi fra i tier (o addirittura sistemi diversi) a caldo. Tutte queste tecniche hanno lo scopo di abbattere i costi di esercizio e massimizzare i tempi di uptime utilizzando la minor quantità di risorse possibili. In pratica, efficiente si può tradurre con minore TCO (total cost of ownership).

integrazione e automazione

Un ulteriore fattore di abbattimento dei costi è dato dalla possibilità di integrare lo storage e le sue funzionalità hardware con gli strati sovrastanti, siano essi il sistema operativo o l’applicativo). Alcuni produttori hanno sviluppato plug-in e software specifici per i vari hypervisor, S.O., DB, server di posta, ERP, ecc. in questo modo è possibile scatenare operazioni complesse con pochi click ottenendo risultati immediati, sicuri e senza difficoltà (es. clonare un DB per creare una nuova istanza di sviluppo in una manciata di secondi). Spesso, questi strumenti hanno un costo ma il vantaggio nel lavoro quotidiano fa si che l’investimento si ripaghi molto velocemente!

il disaster recovery

Le problematiche di DR e business continuity sono l’argomento più scottante in molte aziende, la vita stessa di un’impresa risiede nei sistemi informatici e l’accessibilità 7×24 non è più in discussione da anni. D’altro canto, implementare una soluzione di DR, non è come dirlo: In italia esistono molti problemi di connettività e banda disponibile quindi non è facile (o meglio, economico) mantenere sincronizzate grosse basi di dati. Esistono comunque, anche in questo caso, tecnologie di ottimizzazione che permettono di sfruttare al meglio la banda disponibile ed anche la possibilità di definire con grande granularità cosa, quando, come e dove copiare sui siti remoti.

il supporto

L’ho lasciato per ultimo perchè penso sia uno degli aspetti più importanti. Tutto può avere dei problemi e capita sempre nei momenti meno opportuni! Poter aprire una chiamata e avere dei tempi di risposta certi, interventi rapidi e risolutivi non è facile. Fra l’altro, mentre tutte le atre caratteristiche si possono anche misurare in anticipo, l’assistenza tecnica la si vive sempre dopo. Per la mia esperienza personale e professionale posso dichiarare con certezza che chi fa storage di mestiere è mediamente più bravo in questo mestiere mentre, nella maggior parte dei casi, è molto difficile avere un supporto adeguato da chi non ha una struttura dedicata di primo livello (mi riferisco ai vari big vendor tipo: “vendo tutto io”). Il problema del supporto generalista è il call center, telefonare, passare il primo muro delle composizioni numerico (premi 1 se…, premi 2 se…, …, premi 9 se hai uno storage!), poi l’approccio della “ragazzotta da call center” che sbaglia a segnare il problema, seguita dall'”ingegnere” (se è ingegnere) di primo livello, e così via. Voi, intanto, rischiate di perdere i dati!

il TCO è più importante del TCA!

Alla fine, so di ripeterlo fino alla noia, il TCA (costo di acquisto) è solo una porzione del costo totale (TCO) di una infrastruttura tecnologica. Certo, si devono fare i conti con budget limitati e, in fondo, ci “servono 10TB veloci e 20TB lenti” (quindi una stupida scatola piena di dischi e un paio di controller ?!) ma siamo sicuri che domani non mi serviranno altri 10TB? e che non dovrò replicarli? e che non li dovrò backuppare in una finestra di tempo limitata? e che? e che? e…

Nello storage ci sono i dati della tua azienda, quanto sono importanti? quanto crescono? ne puoi fare a meno? ti puoi permettere di non gestirli? o peggio, di perderli?