iStock_000012120788MediumQuando si è alla ricerca di un nuovo sistema di storage per la propria azienda, soprattutto per chi non fa questo mestiere spesso, ci si trova davanti a mille domande e a poche risposte. Soprattuto perché, spesso, i fornitori non sono li per spiegare come funzionano veramente le cose ma, piuttosto, per venderti la loro soluzione.

In generale ci sono diverse caratteristiche che bisogna guardare in uno storage, e queste sono indipendenti da come lo storage è implementato. Queste sono le caratteristiche principali che devono essere alla base delle richieste che il cliente fa ai diversi fornitori.

Se poi, dopo aver letto l’articolo, ti interessa approfondire l’argomento non mancare a Roma il 26 Marzo 2015 per il Mini.unpluegged!

1. IOPS

flashNon c’è dubbio che questa è una caratteristica fondamentale. Il numero di operazioni di IO che il sistema di storage sarà in grado di fare è importantissimo per poter valutare quale carico può sostenere. Quello che è importante però non è il “dato di targa” (quello che si legge nel datasheet), quello è finto! Infatti, la maggior parte delle volte vengono presentati dati che mostrano quante IOPS si possono ottenere dalla cache o usando un block-size decisamente inusuale per il mondo reale… insomma, inutile.

Una volta misurate le necessità della propria infrastruttura, esistono diversi sistemi per ottenere questo dato (a volte lo fanno anche i produttori, o consulenti come il sottoscritto), è sufficiente fornire questa misura al fornitore. Sarà poi lui a dover certificare il numero di IOPS del sistema che propone e che sia allineato alle vostre necessità. Ovviamente, visto che il diavolo è sempre nei dettagli, dovrete fornire anche la tipologia di carico di lavoro (le percentuali di read/write, quanto di queste IOPS sono sequenziali o random e la dimensione dei blocchi medi). In questo modo si elimina ogni tipo di dubbio e si mette il fornitore nelle condizioni di preparare la migliore offerta tecnica ed anche quella più credibile/confrontabile con le altre.

2. Latenza

sirionteIl secondo parametro fondamentale è la latenza. In pratica in quanto tempo vengono confermate le operazioni di IO di cui sopra. Un sistema tradizionale, con dischi rigidi, ha normalmente un tempo di risposta che si aggira nell’ordine di diversi millisecondi (unità/decine di mS). Tempo che però si può alzare facilmente quando i dischi coinvolti sono SATA o che si può abbassare notevolmente se si introduce la memoria Flash (in questo caso non è difficile trovare tempi sotto il millisecondo).

Questo dato è importantissimo perché è direttamente correlato ai tempi di risposta che sarà in grado di offrire la vostra applicazione. Ad esempio, la prima volta che un mio cliente passò da un sistema a dischi ad un sistema Flash, la latenza fu tagliata quasi di 10 vole e un grosso job sull’ERP che durava 36 ore passò a poco più di 4. Questo job particolare non faceva un numero eccessivo di IO ma era un mix fra CPU e IO, aggiungendo la memoria flash si sono eliminati la maggior parte dei tempi morti per la CPU che stava in attesa di dati da elaborare.

3. Prevedibilità

Screen Shot 2015-02-16 at 09.54.17So che non è italiano ma “predicibilità” da ancora di più l’idea secondo me. Io non faccio differenze fra sistemi All-Flash o Hybrid, ma preferisco sempre verificare quali sono le necessità reali del cliente e consigliare il miglior sistema. Oggi, la memoria flash, quando utilizzata in modo corretto, permette di avere un rapporto costo/prestazioni decisamente valido ma è vero che se c’è una grande necessità di spazio e le richieste da parte dell’utente non sono pressanti, un sistema ibrido potrebbe essere sufficiente e più economico.

In ogni caso, la grande differenza sta spesso nella prevedibilità del sistema. Un sistema di storage prevedibile è importante per poter essere sicuri dei risultati del servizio che si eroga. Ad esempio, se prendo un sistema ibrido e ottengo il 90% delle IO dalla memoria flash ed un 10% dai dischi meccanici, avrò dei picchi nella latenza e questo potrebbe pregiudicare o meno il risultato delle attività sullo storage. Se la regola generale è che più il workload è importante per l’azienda, più deve essere prevedibile il suo comportamento e risultato, allora per tutti i workload primari è meglio utilizzare memoria flash mentre per gli altri potrebbe essere sufficiente uno storage ibrido. Ovviamente questa regola è sempre da verificare sul campo per diversi motivi: da una parte il costo della memoria flash cala sempre di più, permettendone un utilizzo sempre più ampio, dall’altra le esigenze in termini di capacità aumentano allo stesso modo. Io ho opinioni molto chiare su come dovrebbero essere organizzate le infrastrutture di storage moderne… ma poi dipende sempre dalle dimensioni, dai budget e dalle reali necessità.

4. Efficienza

Se è vero che il costo della memoria Flash è in calo costante, è altrettanto vero che il costo per GB è ancora molto elevato e, allo stesso tempo, le necessità di spazio continuano ad aumentare in modo quasi esponenziale.

Una caratteristica fondamentale nei sistemi di storage moderni è quindi quella di poter ottimizzare l’uso dello spazio raw (cioè della totalità dello spazio prima di ogni forma di protezione o compressione dei dati). Infatti, quello che si compra non deve essere lo spazio “grezzo” ma quello utile!

I sistemi più sofisticati in circolazione oggi permettono di ottimizzare lo spazio al massimo. In pratica, ogni volta che un dato viene scritto, questo viene deduplicato e/o compresso riducendo quindi lo spazio reale occupato. Inoltre, anche i RAID tradizionali sono stati sostituiti da meccanismi di protezione più sofisticati che permettono una migliore utilizzazione delle risorse.

Per l’utente la cosa importante è quanto è efficiente il sistema di storage che si sta valutando rispetto ai dati che si vogliono salvare. Non è solo una questione di quale tecnica viene implementata per diminuire il foorprint dei dati, ma anche se queste possono essere usate congiuntamente: un DB è meglio comprimerlo, mentre un data store per le VM è meglio deduplicarlo ad esempio. In ogni caso, comunque, l’efficienza di alcune tecniche aumenta con l’aumentare dei dati (ad esempio, la deduplication può fare miracoli per infrastrutture VDI).

5. Granularità

Kaugummiautomaten Bubble gum machineLa capacità del sistema di storage di effettuare operazioni e operare sui singoli oggetti (piccoli insiemi di dati) invece che su grandi volumi sta diventando un altro aspetto fondamentale.

Ad esempio, con l’introduzione dei VVOL da parte di VMware, sparisce il concetto classico di datastore ed è possibile trattare ogni singola VM come un’unica entità. Questa nuova funzionalità, se supportata dallo storage, permette di delegare all’array molte operazioni e organizzare le VM in funzione delle effettive necessità. Questa capacità diventa particolarmente utile se si pensa alle snapshot o alla replica remota, che ora è possibile fare per singola VM direttamente dal storage, semplificando enormemente l’operatività…. e migliorando l’efficienza.

Granularità significa anche QoS (Quality of Service). Molti produttori stanno lavorando a sistemi per poter dare specifiche risorse e priorità (numero di IOPS ad esempio) ad ogni singolo oggetto salvato nell’array (VM, LUN o Volume). In questo modo, soprattutto negli ambienti più complessi, si può avere un sistema ancora più prevedibile e dare la giusta importanza ad ogni singola applicazione dell’azienda.

6. Data services

Screenshot 2014-11-18 16.25.50Ormai, molte funzionalità come le snapshot o le repliche remote dei dati vengono date per scontate. Purtroppo, ancora oggi, in alcuni casi ci sono limiti che nel tempo possono provocare non pochi mal di pancia. Se questi servizi vengono utilizzati a fondo, la loro implementazione è importante.

Facilità d’uso, integrazione con hypervisor e applicazioni, libertà di scelta nei protocolli e nelle topologie (soprattutto riguardo alla replica) ed efficienza delle singole funzionalità (Ad esempio l’utilizzo della deduplica anche durante la replica remota dei dati) sono tutte fondamentali per ottenere risparmi e maggior efficienza su tutti i fronti facilitando la vita a chi opera su questi sistemi.

7. Analytics

Cloud Monitoring

Cloud Monitoring

Diversi produttori stanno proponendo dei tool molto interessanti che riguardano proprio questo ambito. In pratica collezionano tutta una serie di metriche dai sistemi di tutti i clienti e li mettono a fattor comune.
In questo modo l’utente ha accesso ad informazioni interessantissime e può paragonare l’andamento del suo sistema con quello degli altri nel mondo.

Una funzionalità molto utile per capire se si sta operando nel modo giusto, se si è di fronte a potenziali problemi, quando sarà necessario aggiornare il sistema, ecc. La qualità e la quantità di informazioni resi disponibili da questi sistemi cloud-based è enorme e, spesso, sono di grande aiuto anche per chi sta supportando il cliente o sta sviluppando il sistema.
Infatti è più facile prevedere i guasti o, ad esempio, sviluppare nuove funzionalità sapendo come il sistema viene utilizzato nel mondo reale dai proprio clienti!

Questa diventerà una delle funzionalità più importanti di uno storage molto presto.

8. Scalabilità

iStock_000009047937MediumUltimo, ma non ultimo! La scalabilità è fondamentale per ogni tipo di azienda che guarda al futuro. I dati sono sempre di più e sistemi scalabili sono fondamentali per garantire la crescita con il minor impatto possibile. Scale-up e scale-out sono spesso scelte architetturali che hanno pro e contro e il tutto va valutato in funzione delle proprie esigenze. In alcuni casi esistono anche degli approcci misti (come ad esempio la capacità di “federare” diversi sitemi e gestirli come un singolo grande sistema anche se non possono condividere risorse fra i singoli nodi).

E’ chiaro che non è furbo comprare un sistema che non potrà crescere, ed è altrettanto chiaro che questa crescita deve avvenire senza impatti (fermi) terrificanti per i sistemi di produzione. Ad esempio, soprattuto ora che la garanzia di un disco SSD enterprise è normalmente di 7 anni, perché rinunciare ad espandere quello che si ha invece che comprare sistemi nuovi? (sempre che poi non ti violentino con contratti di manutenzione capestro).

Nota finale

Pure-Storage-FA-405-e1400208830481Lo storage, una delle componenti fondamentali delle infrastrutture IT, è spesso sottovalutato e spero di aver dato qualche idea in più su cosa guardare e chiedere ai fornitori quando si cerca una nuova soluzione.

Se vi interessa approfondire l’argomento vi ricordo che sarò a Roma con Pure Storage (26 Marzo 2015) e che parleremo di questi proprio di queste problematiche anche con il contributo di VMware.
L’evento è gratuito e le mie sessioni si alterneranno con quelle di VMware e Pure, avremo un utente finale a raccontare al sua esperienza e tanti momenti per discutere insieme delle diverse esperienze. Non esitate, iscrivetevi subito! I posti sono limitati.