MENO COSTI
E PIU’ EFFICIENZA CON IL PARALLEL I/0 Virtualizzazione e parallel I/O decuplicano le prestazioni e abbattono drasticamente il
costo per IOPS e dello storage
Giuseppe Saccardi
Copyright REPORTEC - 2016.
1
MENO COSTI E PIU’ EFFICIENZA CON IL PARALLEL I/0 Virtualizzazione e parallel I/O decuplicano le prestazioni e abbattono drasticamente il costo per IOPS e dello storage
2
SOMMARIO L'AUTORE ............................................................................................................... 4 RINGRAZIAMENTI ............................................................................................... 4 GLI ECONOMICS DELLO STORAGE NELL’ERA DELL’SDS, DEL CLOUD E DEI BIG DATA .......................................................................................................................... 5 STORAGE DA PERIFERICO A BUSINESS CENTRIC ................................................... 7 LA VIRTUALIZZAZIONE SOFTWARE-DEFINED ..................................................... 9 IL SOFTWARE DEFINED STORAGE .......................................................................... 11 BIG DATA, ANALYTICS E STORAGE....................................................................... 14 I BENEFICI DEL SOFTWARE PER IL PARALLEL I/O .................................................. 16 VIRTUALIZZAZIONE + I/O PARALLELO = MAGGIOR PRODUTTIVITÀ ................ 19 COME FUNZIONA IL SOFTWARE DI PARALLEL I/O ............................................ 20 RIDURRE LA LATENZA CON IL PARALLEL I/O DI DATACORE.............................. 24 PRESTAZIONI CERTIFICATE DA TEST INTERNAZIONALI ..................................... 28
CONCLUSIONE ......................................................................................................... 31 RIFERIMENTI ............................................................................................................ 33
3
L'AUTORE Giuseppe Saccardi è autore e coautore di libri, rapporti e survey nel settore dell’ICT. Ha lavorato in Sit Siemens, GTE, Honeywell, Datamont, Sixcom e Olivetti, maturando una trentennale esperienza nell'ICT. Ha partecipato come socio fondatore allo start-up di aziende operanti nel networking, nella monetica e come Internet Provider. E' iscritto all’ordine dei giornalisti della Lombardia. È cofondatore e president di Reportec.
RINGRAZIAMENTI Si ringraziano i professionisti DataCore per il materiale e i suggerimenti forniti nella realizzazione George
dell'opera
Teixeira,
e
CEO,
in
particolare
presidente
e
cofondatore di DataCore. George Teixeira è un esperto di virtualizzazione dello storage, I/O parallelo e sistemi real-time ed è autore ed esecutore della visione e della strategia di DataCore Software.
4
GLI ECONOMICS DELLO STORAGE NELL’ERA DELL’SOFTWARE DEFINED, DEL CLOUD E DEI BIG DATA Negli ultimi anni si è assistito ad un profondo cambiamento dello scenario e dei paradigmi alla base dello storage aziendale, sia che si tratti della grossa corporate internazionale che di un fornitore di servizi cloud o di una mediapiccola azienda impegnata in processi di business transformation e internazionalizzazione sui mercati. La necessità di riorganizzare il proprio sistema informativo, i processi di business e in definitiva quello che va sotto il termine di Digital Transformation trova la sua genesi e motivazione nel fatto che il modo di fare business è cambiato e i livelli di flessibilità richiesti sono enormemente aumentati, flessibilità che si deve inquadrare e corrispondere a costi ridotti sia come investimenti in Capex che Opex. Se in una prima fase di razionalizzazione dell’IT l'obiettivo era infatti quello di risparmiare consolidando e virtualizzando l'ambiente IT, ed in primis i server e lo storage, ora a questo si è aggiunta l’esigenza di mettere in grado il management di trarre dai dati aziendali informazioni utili al business dando la possibilità di usare analytics, memorizzare big data e affrontare sfide quali quelle offerte dall’IoT, o sviluppare soluzioni di cloud ibrido mantenendo però in casa quanto attinente al core business. Il management di un’azienda e di conseguenza il responsabile IT si trova quindi a dover rispondere a sfide, non necessariamente nello stesso ordine di importanza per i diversi tipi di aziende e settori in cui opera, quali: come rendere più flessibile l'infrastruttura storage;
5
come guadagnare dinamicità; quale architettura adottare per essere pronti per l'Internet of Things e le sfide poste dai Big Data; come organizzare lo storage per ottimizzare i costi e le applicazioni; come integrare cloud privati e pubblici in un cloud ibrido che sia contemporaneamente efficiente e sicuro. E questo in uno scenario globale interessato da dinamiche derivanti dalla diffusione impetuosa del Social Networking, della maggiore mobility di dipendenti e clienti e dell'esigenza di fruire i dati "anywhere" ed "anytime" in modo rapido e sicuro. Nel loro complesso quelle citate sono parte di un insieme di esigenze correlate riconducibili al concetto più ampio di un IT business centrico, ovverossia di come sia possibile orchestrare e gestire l'IT aziendale e il suo storage, oltre naturalmente quanto concerne server e networking, in modo che risulti funzionale agli obiettivi di business prefissatisi e alle strategie verso il Social, il tutto in un contesto economico e finanziario teso ad ottimizzare gli investimenti infrastrutturali e a massimizzare il ROI. Prima di passare ad analizzare più in dettaglio come sia possibile ottenere una elevata agilità, flessibilità e prestazioni dello storage minimizzando allo stesso tempo gli investimenti in Capex e Opex e quali possano essere esempi di tecnologie a tal fine utilizzabili, nei paragrafi seguenti sono esaminati alcuni dei trend in atto più significativi, e in particolare quanto connesso al Software-Defined Storage e ai Big Data, due dei paradigmi principali di questo momento evolutivo.
6
STORAGE DA PERIFERICO A BUSINESS CENTRIC Il problema, quando si tratta di dati e di come elaborarli in modo efficiente, è duplice: più dati genero e inserisco nel sistema informativo aziendale più aumentano: I tempi di elaborazione delle informazioni. I tempi necessari per processi di business continuity. Il tempo di recovery e per le elaborazioni per la sicurezza (ad esempio cifratura, backup remoto, vaulting, eccetera). D'altro canto, più sono i dati maggiore è il valore che si ha in azienda e maggiore è la possibilità di affinare e rendere precisi i processi decisionali che su di essi si basano. Il rovescio della medaglia è che ciò impone quasi obtorto collo l’adozione di nuove architetture storage come quelle definite a software e soluzioni di nuova concezione nella gestione del flusso dei dati per quanto concerne l’I/O. Si tratta in sostanza di agire sui più piani, rendendo più efficienti le reti e la connettività e allo stesso tempo operando a livello applicativo per ottimizzare i tempi di elaborazione, di estrazione e di salvataggio delle informazioni. Quello che ne consegue è che alle aziende necessitano soluzioni che siano contemporaneamente ideate sulla base delle specifiche esigenze, ma allo stesso tempo in grado di rispondere a logiche globali e aperte al maggior numero di utilizzatori possibile, accessibili in ogni momento con qualsiasi dispositivo e atte a favorire lo sviluppo del business. E soprattutto che permettano di riutilizzare al meglio, per contenere gli investimenti, quanto
7
già disponibile in azienda, riorganizzandolo secondo nuove logiche architetturali e di modalità di fruizione. Un dato di fatto è poi la spinta digitalizzazione in atto e come non si possa prescindere dal poter fruire dei dati "everywhere". Il problema che ci si trova però ad affrontare è, anche a seguito della progressiva diffusione dell'Internet of Things (IoT), che si devono fare i conti con una proliferazione non controllabile dei dati e una conseguente maggiore esigenza di sicurezza nel loro trattamento e archiviazione, sicurezza che deve essere intrinseca e molto spinta, e atta a garantirne la disponibilità nel tempo e la inalterabilità, casuale o fraudolenta. Un secondo aspetto del processo in atto è il cambio epocale che c'è nel modo in cui si fa il business nelle aziende. In sostanza, appare sempre meno pensabile che le decisioni vengano prese sulla base dei processi tradizionali perché si è alle prese con un nuovo percorso nella gestione che necessariamente passa attraverso una revisione accurata di tutte quelle che sono le procedure interne di una azienda. Per creare nuove opportunità di business le piattaforme IT e lo storage in particolare devono raccogliere, consolidare e gestire le informazioni in modo dinamico al fine di rendere possibili scelte strategiche che siano rapide ed efficaci. Cambiare il proprio modello di business può naturalmente non essere facile, raramente lo è, anche perché ciò implica un rinnovamento tecnologico che si affianca a contemporanei cambiamenti che devono essere apportati a livello dei processi aziendali. Nella realtà poi, ad oggi i processi di business si basano ancora in buona parte su architetture e modus operandi legati al mondo dell'on-line, al
8
transazionale, ai data base tradizionali e ciò inevitabilmente limita le possibilità di intervento in chiave fortemente evolutiva anche laddove si sia presa coscienza delle necessità di un rapido cambiamento perché per farlo necessitano investimenti e soprattutto soluzioni e competenze non sempre disponibili "in-house".
LA VIRTUALIZZAZIONE SOFTWARE-DEFINED Uno degli elementi che più caratterizzano l'IT è, come osservato, la sua evoluzione continua e in certi momenti tumultuosa. Le onde evolutive si susseguono e non a caso si parla da tempo della terza piattaforma, centrata su Internet, il Cloud e il Social. E' una evoluzione che si verifica sia per una reale necessità di congruenza tra le sue diverse componenti, che sono soggette a diverse spinte evolutive, che in certi momenti convergono (ad esempio tra capacità elaborativa e trasmissiva) e rendono possibile un balzo in avanti dal punto di vista concettuale e architetturale, che per mere esigenze dei fornitori di soluzioni tecnologiche. Non sempre, viene da considerare, è facile distinguere tra esigenze reali e di strategie di mercato. Ora, metabolizzato il Cloud Computing (che nel mondo enterprise è generalmente
adottato
sotto
forma
ibrida,
il
consolidamento,
la
virtualizzazione di server e storage, eccetera, il mondo dell'IT sta vedendo la progressiva diffusione del concetto di "Software-Defined", a cui può di volta in volta seguire Data Center, Storage, Network, Security, Management, e così via. E’ un trend che sta coinvolgendo in modo trasversale tutti i settori tecnologici inerenti l'ICT, e ora si parla oltre che di storage o network anche di
Sicurezza
definita
Communication e così via.
9
dal
software,
di
Software-Defined
Unified
Ad oggi, non esiste virtualmente settore dell'IT in cui non ci si possa aspettare che architetture e prodotti non vengano interpretati o presentati sotto questo nuovo paradigma dell'IT. In un mondo in cui si è proceduto ad una forte standardizzazione delle interfacce, dei protocolli di comunicazione, dei server (per questo riferiti come industry standard, ad esempio x86), sulla modalità di scambio dei dati sul piano geografico, nel modo di far parlare server e storage di produttori diversi, il "software" la fa di certo da padrone. Peraltro, la distribuzione di applicazioni e di sistemi di elaborazione e la possibilità di selezionare le risorse (ad esempio la tipologia di storage o di server) in base alle esigenze applicative è un processo che era già in atto da tempo. Se si vuole andare più indietro nel tempo, il modello OSI (acronimo di Open System Interconnection) è stato il primo tentativo (imposto obtorto collo ai produttori negli anni settanta e ottanta dagli enti governativi europei che richiedevano la compliance se si voleva partecipare alle gare pubbliche) di definire su scala mondiale un modo di relazionare le risorse ICT definito a software. In questo modello virtuale di un sistema ICT, mediante API standard ogni layer del modello generale di riferimento richiedeva e richiede i servizi (in termine di tipologia di apparati fisici o moduli software o prestazioni di cui disporre) al livello sottostante in funzione delle esigenze del momento delle applicazioni. Pur ristretto inizialmente e nel contesto OSI al mondo delle reti di telecomunicazione costituiva già in nuce (anche se allora non lo si sapeva) un approccio del tipo "Software-Defined".
10
In sostanza, quello in via di diffusione è un concetto che è potenzialmente sotto gli occhi di tutti da decenni e che è andato evolvendo nel tempo adattandosi alle esigenze economiche ed elaborative del mondo produttivo, dei servizi e, non ultimo, degli utilizzatori. La sua incarnazione massima è ora il Software-Defined Data Center (che racchiude server, storage, rete, sicurezza, management), ma questo solo perché la velocità delle moderne reti di comunicazione, fisse e mobili, ha permesso di tornare a focalizzare su di esso tutta una serie di funzioni (di sicurezza,
di
elaborazione,
di
distribuzione
delle
applicazioni,
di
virtualizzazione), che erano stati in precedenza distribuiti in un'ottica clientserver. La neo-centralizzazione si è combinata con il Cloud e con un approccio all'erogazione di servizi IT basato su data center fisici o virtuali distribuiti che, dal punto di vista del singolo fornitore di servizi, costituiscono delle entità virtuali di un unico grande data center ai fini della gestione dell'intero sistema, in modo da poter ottimizzare l'attribuzione e la fruizione delle risorse.
IL SOFTWARE DEFINED STORAGE Il concetto o paradigma Software-Defined (Software-Defined Storage nel caso sello storage) trae la sua genesi, come esaminato in precedenza, dal desiderio di poter realizzare una infrastruttura IT in cui il comportamento e le prestazioni dei diversi apparati che la compongono (anche con caratteristiche tecniche e funzionali molto diverse) possano essere programmabili e organizzabili tramite un'entità esterna astratta (software) di
11
livello superiore che ne orchestri il funzionamento in modo il più automatizzato possibile al fine sia di rendere rapidi (e meno costosi) gli interventi che ridurre il rischio sempre connesso ad interventi manuali. In un tale contesto il livello di astrazione che si introduce provvede a gestire i diversi apparati di storage mediante apposite API e protocolli concordati. In definitiva, quello che ne deriva è una ulteriore forte virtualizzazione della infrastruttura IT realizzata però a livello astratto e in cui i dispositivi fisici di storage, proprio perché standardizzati a livello di interfaccia, possono essere di fornitori diversi, perché la garanzia di intercompatibilità è assicurata proprio dal fatto di prevedere uno standard di riferimento comune e API condivise di controllo. Controllo che è demandato appunto ad un livello gerarchico software superiore. L’obiettivo principale del Software-Defined Storage (SDS), ma lo stesso si può dire per qualsiasi componente di una architettura Software-Defined, è quindi quello di riorganizzare in modo nuovo l’architettura di una infrastruttura IT strutturandola su due precisi piani: il piano di controllo e di astrazione che gestisce gli apparati fisici. il piano degli apparati fisici aperti, intercambiabili ed interoperabili. Ciò, come osservato, può essere realizzato mediante opportuni livelli di astrazione che in pratica seguono la strada già adottata nel campo dei server, dove si possono realizzare software molto complessi senza curarsi delle caratteristiche delle macchine, perlomeno una volta data per appurata la loro adeguatezza in termini di capacità elaborativa e di memoria interna disponibile. L'add-on costituito dal passare a una architettura SDS giace quindi più che nelle funzioni rese disponibili (ed economicamente apportanti un beneficio materiale facilmente calcolabile), in tutta una serie di benefici immateriali
12
ma che impattano profondamente sul business aziendale, soprattutto in termini di flessibilità, agilità, scalabilità e costi. Vediamoli in sintesi: Elevata autonomia nel procurement: il controllo dell'architettura hardware tramite un piano software permette di sperimentare una maggior flessibilità nel selezionare l'hardware di storage necessario per far fronte ai carichi di lavoro. Permette altresì di disaccoppiare hardware e software e di poter scegliere hardware a più basso costo in modo da rendere più rapido il ritorno dell'investimento. È anche più facile aggiornare lo storage intervenendo solo sul piano hardware senza interessare il piano software di controllo, limitando problemi e tempi di inatteso fuori servizio. Maggiore flessibilità: per sua natura, una soluzione SDS può essere implementata sotto forma di software e utilizzare uno storage già esistente, sia esso di tipo stand alone che compreso in altri sistemi come: server e virtual server, appliance e/o cloud pubblici o privati. Benefici economici: la separazione tra piano hardware e soprastante piano software di controllo permette di adottare hardware storage di diversi fornitori e di ridurre la dipendenza dal singolo produttore. Ciò permette di acquisire dispositivi di costo più basso e pagare un numero inferiore di licenze qualora queste si basino sul numero di dispositivi installati. Similmente alle piattaforme tradizionali di classe enterprise, le soluzioni SDS prevedono funzioni native per l'automazione delle operazioni di storage più frequenti in modo da ridurre al minimo possibile gli interventi del personale, interventi manuali che possono peraltro essere l'origine di errori. Gli approcci al SDS presentano però modi diversi. Uno degli approcci più adottato da parte dei maggiori player mondiali nel settore consiste in ogni
13
caso nel mantenere il più possibile la continuità con quanto già installato dai propri clienti, in modo da salvaguardare gli investimenti ed abilitare un passaggio "soft" a questo nuovo e promettente approccio allo storage. I newcomer sul mercato che sviluppano soluzioni SDS partendo da una situazione di green field si affiancano ad altri che stanno adottando un approccio che abilita un continuum tra quanto installato e una evoluzione in chiave SDS, cosa che viene abilitata tramite l'evoluzione della propria architettura in chiave SDS-like, e cioè con espansioni funzionali e gestionali che ne inglobino i vantaggi e i benefici concettuali. Uno degli aspetti chiave, ad esempio, è la possibilità di inserire e gestire in modo centralizzato anche hardware di altri fornitori mascherandone le differenze, e complessità. a livello di sistema operativo.
BIG DATA, ANALYTICS E STORAGE Storage, Big Data e Business Analytics costituiscono un connubio naturale anche se quest'ultima area dell'IT è nata come esigenza e concetto molto tempo fa ed è suddivisa in diverse branche. In particolare, la Business Intelligence (BI) è stata introdotta negli anni 50, anche se è diffusa da molto meno e solo da pochi anni si parla insistentemente di Business Analytics (BA) e, in particolare, di Big Data. Si tratta di due concetti che, come evidenziato, sono ora sempre più strettamente correlati: la BA, in estrema sintesi, è una BI applicata al futuro e la base su cui effettua le previsioni sono sempre più i Big Data.
14
Se si entra più nel dettaglio delle definizioni, perché, in realtà, non ne esistono di univoche per nessuno di questi due concetti, si può affermare che la BI propone un'analisi "descrittiva", che esamina i risultati ottenuti nel recente passato per identificare eventuali errori e migliorare le performance future, la BA effettua un'analisi "predittiva" per anticipare le tendenze, predire i cambiamenti, prevedere gli scenari futuri e permettere di arrivare al successo. Maggiore è il volume dei dati disponibili più affinata e precisa è la previsione che è possibile fare e più probabile l’ottenimento degli obiettivi di business. BI e BA insieme servono dunque per prendere decisioni ben ponderate, pianificare strategie ed eseguirle in maniera corretta. Questo è possibile non semplicemente a livello di direzione generale dell'impresa, ma anche per qualsiasi attività operativa. Uno degli ambiti in cui per primo si è diffuso l'uso della BA è quello finanziario: è comprensibile che si potessero sostenere anche grandi investimenti a fronte di grandi interessi e ritorni economici, quando il terreno di gioco sono le borse e le stock exchange mondiali. Altresì evidente è l'importanza di ridurre al minimo il rischio di errore e quanto questo sarebbe troppo alto fidandosi solo del proprio intuito. Le variabili da considerare, infatti, sono molte e non riguardano solo l'impresa di cui si vuole valutare il prezzo delle azioni, ma anche e soprattutto i mercati in cui opera, le performance dei suoi concorrenti e così via. Non molto diversa è la questione, quando si pensa al marketing e alle variabili che intervengono nel lancio di un nuovo prodotto. Il contraltare dei benefici è che servono capacità di calcolo e di storage elevate e con alte prestazioni non sempre disponibili o abbordabili come investimento.
15
Lo sviluppo di approcci innovativi (in-memory computing, parallel I/O, eccetera) permette di affrontare in modo più economico il problema e mettere a disposizione di un più ampio numero di aziende quanto sino a poco tempo fa accessibile come capacità elaborativa e di storage solo ai principali gruppi industriali o finanziari.
I BENEFICI DEL SOFTWARE PER IL PARALLEL I/O Il concetto di Parallel I/O ed il software che lo concretizza si prefigura come un concreto e molto consistente passo avanti nello sfruttare le capacità elaborative di una soluzione IT. Si inquadra nel costante processo di virtualizzazione delle risorse ma spostandolo su un piano molto più avanzato a livello prestazionale. Se si fa riferimento al concetto di Software-Defined Data Center (SDDC), si nota che tutti gli elementi dell’infrastruttura (compresi rete, capacità di calcolo, server e storage) sono visti in modo virtualizzato ed erogati come servizio. In particolare, la virtualizzazione a livello di storage e di server è un elemento critico nel percorso verso l’SDDC, dato che maschera agli utilizzatori la complessità intrinseca dell’hardware sottostante e permette di aumentare notevolmente la produttività grazie all’automazione software e all’agilità che ne consegue. Ma certe volte il diavolo si nasconde nei dettagli e i problemi derivano da esigenze che possono svilupparsi anche in modo imprevisto, come nel caso di grossi volumi di dati che afferiscono al sistema generati da soluzioni IoT e che devono essere elaborati in tempi molto rapidi, o nel caso si debba esaminare data lake di grosse dimensioni per prendere decisioni operative.
16
Un punto fermo su cui l’adesione è unanime è che le esigenti applicazioni moderne, specialmente all’interno di ambienti virtualizzati, necessitano di storage a elevate prestazioni in modo da tenere il passo con la velocità di acquisizione dei dati e con l’imprevedibile richiesta dei carichi di lavoro aziendali. Problemi prestazionali fanno si che le esigenze delle applicazioni aziendali critiche quali database SQL, Oracle e SAP siano rimaste largamente insoddisfatte e in questo il principale collo di bottiglia è il più delle volte costituito dalle prestazioni dell’I/O. Il problema di una tale carenza sta nella genesi stessa degli attuali sistemi, che si basano ancora sulle ottimizzazioni realizzate a livello di dispositivo accoppiato con uno specifico disco e sulle tecnologie flash, non disponendo di ottimizzazioni software che mettano in grado di sfruttare al meglio le più recenti innovazioni nelle tecnologie server multi-core. Una strada perseguita per superare l’impass prestazionale è consistito nell’adottare storage a stato solido (flash) oppure collegando fisicamente via cavo questi dispositivi veloci ai sistemi iper-convergenti che ospitano le virtual machine. Ma se migliorare le prestazioni dei supporti di storage è di certo un passo utile, è altresì un passo che però risolve solamente un aspetto dello stack I/O: la velocità di lettura dei dati. Un altro approccio appare però più promettente e in grado di spostare molto il avanti le prestazioni, senza per questo escludere i miglioramenti apportati da tecnologie come la flash. L’incremento delle prestazioni I/O può essere perseguito attraverso la “parallelizzazione” dell’I/O, una tecnica che sfrutta la capacità della virtualizzazione di disaccoppiare i miglioramenti del software dalle innovazioni hardware.
17
E’ un approccio reso possibile dalla trasformazione dei processori da singolo core a multicore, che nei server di ultima generazione sono oramai la norma, utilizzando software che gestisce l’I/O in parallelo in modo da sfruttare tutti i core disponibili. Il punto chiave è che i server offrono già funzionalità multiprocessore con un ottimo rapporto prezzo/prestazioni, ma la maggior parte di queste non vengono sfruttata e rimangono disponibili solo a livello potenziale
Cresce il gap tra prestazioni multicore e capacità di I/O (fonte DataCore) Sfruttando completamente la potenza di calcolo offerta dai server multicore, il software di I/O parallelo si prefigura la chiave di volta che trasforma in realtà
queste potenzialità inespresse e lo fa evitando qualunque
collegamento
fisico
virtualizzazione.
18
che
impedisca
di
godere
dei
benefici
della
VIRTUALIZZAZIONE
+
I/O
PARALLELO
=
MAGGIOR
PRODUTTIVITÀ Prima di affrontare il come funziona il parallel I/O e i consistenti benefici che ne derivano va considerato l’impatto che ha avuto la rivoluzione del server virtuale determinata dagli hypervisor che permettono di sfruttare maggiormente le nuove funzionalità multi-core. Quella degli hypervisor è stata una evoluzione che ha permesso di passare all’elaborazione parallela e mettere al lavoro più Pc (visti come VM, ovvero macchine virtuali) e utilizzare i processori dei nuovi e potenti server per gestire un numero sempre più elevato di VM. Grazie alla possibilità di risparmiare sui costi di amministrazione e sull’acquisto dei server fisici tutto ciò si è tradotto in una maggiore produttività e nel “fare di più con meno risorse”. Il lato negativo è però che la virtualizzazione e il consolidamento dei server fa si che un numero sempre maggiore di carichi di I/O applicativo venga concentrato sullo stesso sistema, con il concreto rischio che le VM e le loro applicazioni costituiscano un pericoloso collo di bottiglia perché tutto il carico di lavoro deve passare attraverso la “strozzatura dell’I/O”. La variabile principale che in questa equazione si è smarrita è il software, che può invece sfruttare dinamicamente i core disponibili liberi da carichi di lavoro. Ciò che serve per eliminare gli ostacoli che frenano le prestazioni applicative è in definitiva uno stack di Software-Defined Storage dotato di funzionalità di I/O parallelo. Il software di I/O parallelo consente di sfruttare al meglio la virtualizzazione e di aumentare la produttività, consolidando ulteriormente la tecnologie dei server e permettendo a più applicazioni, VM e carichi di lavoro di girare sulle piattaforme senza essere rallentate dall’I/O.
19
COME FUNZIONA IL SOFTWARE DI PARALLEL I/O Il problema che porta a criticità nelle prestazioni di una infrastruttura IT è, come osservato, che i sistemi attuali non dispongono di ottimizzazioni software in grado di sfruttare completamente le più recenti innovazioni delle potenti tecnologie dei sistemi server. Il risultato è che le prestazioni I/O costituiscono il principale collo di bottiglia che frena il settore. In sostanza, i server sono sbilanciati in termini di relazioni tra numero delle CPU e e numero degli I/O disponibili. Nonostante i server multi-core dominino oramai il mercato, molti dei loro processori non vengono infatti sfruttati adeguatamente ai fini dell’I/O perché il software sottostante non è in grado di elaborare le richieste di I/O in modalità flessibile e l’elaborazione delle richieste è di tipo seriale, con tutte le negative limitazioni prestazionali che ne conseguono. Ad esempio, può avvenire che in un processore con dieci core il loro uso preveda che cinque di essi siano impegnati nell’elaborare Virtual Machine, quattro siano in idle e solo uno sia dedicato alle operazioni di I/O. La criticità dell’I/O obbliga così a distribuire il carico di I/O su più server, e questo si traduce in un minor numero di virtual machine (VM) per server e un maggior Capex e/o Opex. E’ a questo punto che può intervenire in modo estremamente vantaggioso il software per un I/O parallelo. Questo perché il software di I/O parallelo permette di sfruttare dinamicamente i core liberi da carichi d lavoro disponibili per eseguire thread multipli di I/O che altrimenti aspetterebbero in coda il loro turno.
20
Utilizzo convenzionale dei core per le VM e l’I/O (fonte DataCore) In determinate ma abbastanza usuali condizioni applicative e di carico con l’I/O parallelo due piccoli server 2U possono ad esempio essere in grado di fare lo stesso lavoro di interi rack di server e sistemi di storage, permettendo di ottenere enormi risparmi di spazio, così come di riduzioni di costi legati a consumi energetici per l’alimentazione e il loro raffreddamento. E questo senza contare il miglioramento delle prestazioni applicative e il minor numero di server da gestire. In sostanza, in presenza di carichi di lavoro elevati, invece di dover attendere il completamento della precedente operazione, l’I/O parallelo può eseguire simultaneamente più processi. L’I/O parallelo consente di ottenere prestazioni e livelli di consolidamento anche molto consistenti sfruttando le CPU multi-core dei server standard di mercato ed è anche di ausilio nel raggiungere il corretto bilanciamento dei server consentendo di eseguire maggiori quantità di lavoro.
21
Quindi, non solo l’I/O diventa più veloce, ma sugli stessi sistemi possono essere eseguite più applicazioni e più carichi di lavoro, dato che non ci sono più limitazioni per quanto concerne l’I/O. In pratica, l’I/O può tenere il passo della velocità di calcolo richiesta dalle applicazioni, i core delle CPU sono usati appieno e grandi quantità di lavoro possono essere svolte in molto meno tempo. Qualunque applicazione o evento generi una operazione di I/O ne trae beneficio, soprattutto i sistemi su cui girano applicazioni che fanno un uso intensivo di I/O come i database e quelle elaborazioni che elaborano le transazioni online.
Il parallel I/O permette di sfruttare completamente le capacità dei core Lo stesso vale però anche per qualunque sistema che gestisca più carichi di lavoro, come i server virtuali con hypervisor, dove il mix di carichi di lavoro
22
crea picchi e depressioni di traffico e quindi presenta maggiori opportunità di ottimizzazione dell’I/O. Tra i principali benefici che possono derivarne vi sono: Possibilità di consolidare i server: due server possono fare lo stesso lavoro di interi rack di server e sistemi di storage. Aumento delle prestazioni applicative. Possibilità di consolidare i carichi di lavoro delle applicazioni critiche aziendali (database, compresi SQL, Oracle e SAP, OLTP). Aumento della densità delle VM sui server e relativi processori multicore. Miglioramento dei cluster con uno o due nodi che possono svolgere il compito di un numero molto più elevato di cluster con I/O seriale. Incremento della produttività con riduzione della complessità e dei costi Riduzione del numero di nodi necessari a garantire il servizio di disaster recovery e di business continuity. Incremento del numero dei desktop virtuali (VDI) supportati. I benefici del parallel I/O sono quindi consistenti e permettono di risolvere numerosi problemi derivanti dalla necessità di elaborare data base sempre più grandi o applicazioni in ambienti virtuali con carichi di I/O consistenti ma dove la latenza può costituire un serio problema. La cosa attraente è che si tratta di benefici concreti e non teorici disponibili dalla PMI alla grande azienda. La sezione seguente illustra in proposito come DataCore ha affrontato il problema e i benefici ottenibili in termini applicativi e economici basati su test standard di mercato realizzati utilizzando server standard.
23
RIDURRE LA LATENZA DI APPLICAZIONI E DATA BASE CON IL PARALLEL I/O DI DATACORE Un concreto esempio di come il Parallel I/O può impattare sulle prestazioni e i costi di un sistema IT lo offre DataCore, società che della virtualizzazione dello storage e l’ottimizzazione delle prestazioni ha fatto il core dei suoi sviluppi tecnologici e architetturali per le soluzioni on-premise e per il cloud. L’impegno della società nello sviluppo di una soluzione di I/O parallelo ha portato all’annuncio di un prodotto software già nel corso del 2015, con un approccio che ha seguito a distanza di tempo la sua oramai affermata strategia che l'ha portata a sviluppare una soluzione ampiamente diffusa di gestione virtualizzata dello storage su qualsiasi dispositivo si trovi: SANsymphony-V. SANsymphony-V è un software di virtualizzazione molto evoluto che permette di mettere a fattor comune tutti i diversi sistemi di storage esistenti in azienda, di diversi fornitori, generazioni e tipo di media e di trasformarli in un unico pool di risorse a disposizione delle applicazioni, che ne possono fare uso su richiesta.
VIRTUALIZZARE CON SANSYMPHONY-V SANsymphony-V è un prodotto software "aperto", e cioè indipendente dall'hardware sottostante, che virtualizza e gestisce. Integra i tradizionali dispositivi di storage in un solo pool di storage dinamico e condiviso.
24
SANsymphony-V non richiede di installare macchine aggiuntive perché gira su server x86, che possono essere stand alone o anche i medesimi server su cui vengono a trovarsi e girano le applicazioni business, i desktop virtuali o le macchine virtuali. Può, in sostanza, girare direttamente sui server applicativi e inserire anche i loro dischi e le loro memorie flash in un pool di storage virtuale veloce e a elevata disponibilità che può comprendere flash array, high-end array, appliance midrange e storage nel cloud. In questo modo è possibile condividere i dati tra i due nodi DataCore senza che si renda necessario aggiungere una SAN esterna.
SAN Symphony-federa in un unico pool lo storage dei dispositivi in rete o nel cloud In pratica, SANsymphony-V, una volta che il software è stato caricato sui server, provvede a prelevare i dispositivi di storage isolati, che possono trovarsi ovunque in rete e in luoghi diversi, e li rende fruibili in pool
25
attraverso un unico set di servizi a livello infrastrutturale. Supporta i più diffusi dispositivi di storage, dalle memorie flash e i dischi interni dei server fino alle SAN esterne e allo storage su cloud pubblico, e permette di sostituire i diversi stack di prodotti proprietari. Il software sui server, in modo del tutto automatico, provvede ad organizzare in un unico grande pool di storage tutte le risorse disponibili a livello IT locale o remoto, e le gestisce centralmente e uniformemente nonostante le differenze e le eventuali incompatibilità usualmente presenti tra produttori, modelli e generazioni di apparati. A questo, il software aggiunge la possibilità di un monitoraggio e una ricerca degli errori che opera in modalità proattiva al fine di evitare i downtime delle applicazioni mission-critical prima che questi possano avere un effetto deleterio e percepibile sui processi aziendali critici. Tre i compiti fondamentali che il software assolve: Virtualizzazione
dello
storage
hardware
esistente
(in
qualsiasi
dispositivo si trovi, compreso i server). Creazione di SAN virtuali tramite server-attached storage. Integrazione dello storage Flash/SSD con lo storage esistente (SAN,NAS). Le funzioni che comprende permettono altresì di perseguire per quanto concerne le applicazioni business tre primari obiettivi: • Far funzionare le applicazioni business più velocemente e senza interruzioni tramite una elevata ridondanza ottenuta mediante la virtualizzazione dello storage fisico disponibile e funzioni di recovery automatico. • Far fronte in modo dinamico alle esigenze delle applicazioni permettendo di organizzare in pool tutto lo storage disponibile da cui
26
prelevare quanto serve per il tempo necessario e proteggere i dati in modo efficace e rapido. • Gestire lo storage centralmente, indipendentemente dal tipo e dal produttore del dispositivo storage interessato, in modo da rendere più rapidi gli interventi e meno costoso il costo del personale dedicato. Al software di SANsimphony-V, che per il suo aspetto innovativo e l'essere in linea con le richieste di crescente ottimizzazione espresse del mercato è stata adottata da numerosi fornitori di soluzioni storage di livello internazionale con cui DataCore ha accordi di partnership, si è aggiunto come accennato il software per la gestione in parallelo dell'I/O di un sistema. La considerazione alla base della soluzione di DataCore volta a rendere ancora più efficiente l'infrastruttura IT in tutte le sue componenti è derivata dal fatto, ha spiegato l’azienda e come evidenziato nei paragrafi precedenti, che negli ultimi anni è andato crescendo il gap tra la capacità seriale di I/O e la capacità di calcolo dei moderni processori. Oramai, su un comune processore sono residenti anche decine e decine di core e su un chip integrato ci sono più processori, il che ha portato ad una crescita più che esponenziale delle capacità di calcolo, prestazioni che però finiscono con l'essere limitate da una capacità di I/O seriale che non è cresciuta nello stesso modo per suoi limiti intrinseci. E' a questo limite che si è proposta di porre rimedio DataCore con lo sviluppo della soluzione virtualizzata che fa un uso adattativo delle CPU multicore a livello di server virtuali. I risultati che si ottengono sono eclatanti. Il lavoro elaborativo, riportano analisi della società e test realizzati in base a precisi standard di mercato, si completa anche in un quinto del tempo usualmente richiesto e due sole
27
macchine possono svolgere il lavoro di dieci, riducendo di più volte il costo di una soluzione. Naturalmente questi benefici non si ottengono in tutti i casi ma nelle applicazioni laddove si fa un elevato uso di operazioni di I/O, che però, dal calcolo scientifico a quello finanziario a quello di analisi di grossi volumi di dati come nel caso dlel’IoT sino ad applicazioni cloud, sono una parte significativa di quelle richieste dal mercato.
PRESTAZIONI CERTIFICATE DA TEST INTERNAZIONALI All’inizio del 2016 la soluzione è stata messa alla prova realizzando test in aderenza a quanto previsto dal benchmark per lo storage indipendente: l'SPC-1 dello Storage Performance Council. Il risultato, ottenuto grazie al software per l'I/O parallelo, che sfrutta la potenza inutilizzata dei processori multi-core è stato di un PricePerformance di 0,08 dollari statunitensi per ogni SPC-1 IOPS. La certificazione è stata fatta utilizzando un server Lenovo System x3650 M5 multi-core con ingombro di 2U, dotato di processori Intel Xeon della serie E5-2600 v3 e di un mix di storage flash SSD e a disco. I
risultati
nel
rapporto
prezzo/prestazioni
sono
stati
ottenuti
su
una soluzione iper-convergente capace di soddisfare sia i requisiti dello storage di livello enterprise sia quelli legati agli impegnativi database e ai carichi di lavoro tipici delle applicazioni di elaborazione delle transazioni. Il tutto funzionante contemporaneamente sulla stessa piattaforma server. I sistemi iper-convergenti, ritene DataCore, devono dimostrare di saper gestire in modo economicamente conveniente tanto lo storage di livello enterprise quanto i carichi di lavoro applicativi.
28
Al contrario dei risultati SPC-1 calcolati solo sui sistemi di storage esterno, escludendo quindi i server utilizzati per generare il carico, il risultato di DataCore di 0,08 dollari per SPC-1 IOPS comprendeva il costo per la generazione del carico di lavoro, e quindi si riferisce al costo complessivo e ai requisiti globali per far funzionare l'applicazione aziendale. Per il test, DataCore ha utilizzato un sistema iper-convergente pronto all'uso rivolto all'OLTP di livello enterprise e alle applicazioni database sensibili ai tempi di latenza. La soluzione ha fatto registrare 459.290,87 SPC-1 IOPS, con un costo totale per l'hardware, il software e tre anni di supporto pari a 38.400,29 dollari USA. Un secondo test è stato realizzato a metà del 2016 per confrontare la soluzione con le classiche batterie di storage esterno di alto livello. Nel test è stata utilizzata una soluzione SAN Server dual-node con Fibre Channel completamente ridondata. Su questo sistema, composto da una coppia di server standard preconfigurati, ha installato SANsymphony-V, la propria piattaforma di servizi per il Software-Defined Storage. La configurazione a due nodi con mirroring sincrono su FC ha abbassato il tempo medio di risposta portandolo fino a 0,22 millisecondi, con una velocità di trasferimento dati raddoppiata. Il rapporto prezzo/prestazioni è invece salito leggermente, a 0,10 dollari per SPC-1 IOPS. La soluzione iper-convergente a elevata disponibilità utilizzata da DataCore è costata 115.142,76 dollari, compresi tre anni di supporto. Ai fini di una valutazione economica va anche considerato che il mirroring della soluzione prevede come standard la possibilità di supportare sia cluster locali sia cluster estesi, anche su base metropolitana, con la protezione di failover e failback automatici su copie sincronizzate activeactive di dati che si trovano in luoghi geografici diversi.
29
Il test è stato realizzato utilizzando una piattaforma costituita da una SAN Server dual-node con Fibre Channel completamente ridondata. Su questo sistema, composto da una coppia di server Lenovo preconfigurati, DataCore ha installato SANsymphony-V, la sua piattaforma di servizi per il Software-Defined Storage.
La configurazione usata per il test Anche in questo caso il tempo di risposta e il rapporto prezzo/prestazioni vanno principalmente attribuiti, ha osservato DataCore, alle tecniche di Parallel I/O adattativo, intrinseche nel design della piattaforma di SoftwareDefined Storage SANsymphony-V.
30
CONCLUSIONE L’approccio adottato da DataCore, oltre ad avere ottenuto significative conferme dai test effettuati, si evidenzia come una strategia che va incontro alle esigenze espresse dalle aziende, strategia la cui validità e utilità per il mondo business alle prese con l’esigenza di ottimizzazione e di maggior flessibilità, in un quadro di contenimento dei costi, è confermata anche da IDC. Va infatti considerato che la transizione verso la Terza Piattaforma sta trasformando rapidamente l’ambiente IT nella maggior parte delle aziende. Ciò ha indubbiamente un forte impatto sulla necessità di avere accesso a soluzioni storage a prezzi accessibili ma con elevate prestazioni. L’SDS e il parallel I/O costituiscono a tal fine un percorso non solo utile ma quasi obbligato. DataCore, evidenzia IDC, è uno dei fornitori leader di SDS. La sua piattaforma per servizi di storage (disponibile come SANsymphony-V o Virtual SAN) è stata riconosciuta a livello mondiale grazie a oltre 10.000 clienti che beneficiano attivamente di prestazioni superiori, disponibilità continua e utilizzo ottimale delle risorse. Due, riconosce IDC, le funzionalità chiave della sua piattaforma SDS. La prima è la capacità di incrementare le prestazioni applicative proprio grazie alla sua architettura di I/O parallelo adattativo, l’I/O parallelo che insieme a una suite di funzionalità che aumentano le prestazioni quali il caching autoadattativo e il tiering automatico su una gran varietà di dischi e tecnologie flash di diversi produttori permette di ottenere prestazioni più veloci senza dover investire in nuove soluzioni.
31
La seconda interessa la business continuity e consiste nella capacità di creare un mirroring di dati “active-active” su storage eterogeneo che può essere distribuito su distanze che possono arrivare ai 100 km. Nel caso si rivelasse necessario il software DataCore automaticamente sposta l’accesso ai dati sull’altro dispositivo storage rimasto attivo con una procedura “zero touch” completamente automatica che non richiede la realizzazione di script o interventi manuali. In sostanza eliminando i problemi di downtime, evitando di interrompere l’erogazione dei servizi e portando gli RTO/RPO praticamente a zero.
32
RIFERIMENTI Data Management Institute: Realizzare infrastrutture ad alte prestazioni per i database (2016) DataCore: I 10 motivi principali per passare subito alla virtualizzazione dello storage di DataCore (2016). Reportec: Il parallel I/O aumenta le performance dello storage (2016). Reportec: Storage I/O ultraveloce con SAN Server multi-nodo (2016). IDC: Il Software-Defined Storage favorisce la riduzione dei costi dello storage e l’ottimizzazione dei livelli di servizio (2015). DataCore: Il Software Parallel I/O e Legge di Moore permetteranno a virtualizzazione e Software- Defined Data Center di sviluppare il loro potenziale (2015). Reportec: Con il Software Defined di DataCore dati anywhere (2016). Reportec: DataCore annuncia il Parallel I/O per ambienti virtualizzati(2016).
33
Copyright REPORTEC - 2016
34