DataCore pone l’accento sulle potenzialità del Software-Defined Data Center e su come sia possibile sfruttare completamente il potenziale di questa tecnologia.
Nel Software-Defined Data Center (SDDC) tutti gli elementi dell’infrastruttura – come rete, capacità di calcolo, server e storage – sono virtualizzati ed erogati come servizio. La virtualizzazione a livello di server e storage è un componente critico del viaggio verso l’SDDC, dato che porta a una maggiore produttività attraverso l’automazione software e l’agilità, proteggendo gli utenti dalla sottostante complessità dell’hardware.
Oggi sono le applicazioni a guidare l’impresa, e queste applicazioni sono esigenti, specialmente negli ambienti virtualizzati, richiedendo allo storage prestazioni elevate per tenere il passo con l’acquisizione dei dati e con l’imprevedibile domanda dei carichi di lavoro aziendali. Il problema è che in un mondo che richiede tempi di risposta quasi istantanei e accesso sempre più veloce ai dati aziendali critici, le necessità di applicazioni aziendali di primo livello come database SQL, Oracle e SAP sono rimaste ampiamente senza risposta. Nella maggior parte dei data center, la causa numero uno di questi ritardi è l’infrastruttura di storage dei dati.
Perché? Il principale collo di bottiglia sono state le prestazioni dell’I/O. Leggete la nostra intervista a George Teixeira relativamente ai vantaggi del Software-Defined Storage.
Nonostante il fatto che quasi tutti i server standard mettano già a disposizione in modo conveniente un’ampia gamma di funzionalità multiprocessore, la maggior parte di loro non è sfruttata, trovandosi spesso in modalità inattiva. Questo accade perché gli attuali sistemi si basano ancora su ottimizzazioni a livello di dispositivo legate a specifiche tecnologie a disco e flash che non dispongono di un’intelligenza software capace di sfruttare pienamente i più potenti sistemi server con architetture multi-core.
La rivoluzione dei server virtuali è diventata la “killer app” che ha portato al pieno utilizzo delle CPU e a un certo livello di funzionalità multi-core, ma il lato negativo è che la virtualizzazione e il passaggio a un maggiore consolidamento dei server ha creato un effetto frullatore in cui sempre più carichi di lavoro I/O degli applicativi si sono concentrati fino al punto di dover essere eseguiti in modo pianificato dallo stesso sistema. Tutte quelle VM e le loro applicazioni si sono quindi infilate in un collo di bottiglia costituito da una “cannuccia di I/O” serializzata. Mentre processori e memorie hanno visto incrementi sostanziali nella loro velocità, questo imbuto dell’I/O continua a limitare le prestazioni, specialmente quando si parla di applicazioni aziendali critiche che gestiscono carichi di lavoro costituiti da database e transazioni online.
Molti hanno provato ad affrontare il problema prestazionale a livello di dispositivo aggiungendo storage a stato solido (flash) per rispondere alla crescente richiesta delle applicazioni aziendali o collegando fisicamente questi dispositivi veloci alle macchine virtuali (VM) in sistemi iper-convergenti. Tuttavia, il miglioramento delle prestazioni dei supporti di storage – dove si rimpiazzano i tradizionali dischi rotanti con flash che cercano di fare le stesse cose – affronta solamente un aspetto dello stack I/O. Collegare direttamente la flash alle VM sembra anche in contraddizione con il concetto di virtualizzazione, in cui la tecnologia viene elevata a un livello software-defined al di sopra dei collegamenti cablati e al livello di consapevolezza fisica, aggiungendo complessità e “vendor lock-in” specifici tra i livelli dell’hypervisor e dei dispositivi.
I processori multi-core sono all’altezza della sfida. L’elemento primario che si è perso è il software che può trarre vantaggio dall’infrastruttura di elaborazione multi-core/parallela. La tecnologia Parallel I/O consente di realizzare l’elaborazione dell’I/O in modo separato dalla capacità di calcolo e in parallelo, migliorando le prestazioni di I/O sfruttando la capacità della virtualizzazione di disaccoppiare i miglioramenti del software dalle innovazioni hardware. Questo metodo utilizza il software per suddividere l’I/O parallelo tra tutti i core della CPU.
La tecnologia Parallel I/O può pianificare in modo efficace l’I/O dei carichi di lavoro della virtualizzazione e delle applicazioni utilizzando le piattaforme server multi-core già disponibili. Sfruttando la potenza dei multi-core è possibile superare il collo di bottiglia dell’I/O incrementando notevolmente la produttività, aumentando il consolidamento dei carichi di lavoro e riducendo l’inefficiente proliferare dei server. Questo permetterà di ottenere risparmi molto più consistenti sui costi aumentando la produttività e portando il consolidamento a un nuovo livello, in modo che i sistemi possano fare molto di più con meno risorse.
Parallel I/O è essenzialmente come una superstrada a più corsie con un sistema di “sorpasso facilitato”. Evita il collo di bottiglia e i tempi di attesa creati dalla presenza di un singolo casello e apre gli altri core (tutte le “corsie” in questa analogia) per distribuire l’I/O in modo che i dati possano continuare a fluire avanti e indietro tra l’applicazione e il supporto di storage alla massima velocità.
L’effetto è che più dati fluiscono attraverso la medesima infrastruttura hardware nella stessa quantità di tempo, come avviene nei sistemi di storage proprietari. La tradizionale infrastruttura a tre livelli costituita da server, rete e sistema di calcolo trae quindi beneficio dall’avere sistemi di storage che rispondono direttamente ed evadono le richieste di I/O più velocemente, potendo quindi supportare un numero significativamente maggiore di applicazioni e carichi di lavoro sulla stessa piattaforma. L’efficienza di un’architettura parallela a bassa latenza è potenzialmente più critica nelle architetture iper-convergenti, che sono un’infrastruttura in cui “tutto è condiviso”. Se lo storage software è più efficiente nell’uso delle risorse di calcolo, questo significa che restituirà agli altri processi che girano sulla stessa piattaforma una maggiore quantità di potenza di calcolo disponibile.
Traendo il massimo vantaggio dalla potenza di calcolo offerta dai server multi-core, la tecnologia di I/O parallelo agisce come elemento abilitante di un vero software-defined data center. Questo si deve al fatto che evita qualsiasi collegamento fisico speciale che impedirebbe il raggiungimento dei benefici della virtualizzazione, mentre sblocca la sottostante potenza hardware per ottenere una notevole accelerazione delle prestazioni di I/O e storage. Risolvendo così il problema del collo di bottiglia dell’I/O e rendendo possibile la realizzazione dei software-defined data center.