This post is also available in: Inglese

Reading Time: 6 minutes

A3CUBE Inc., un’azienda fondata nel 2012 con sede in California ma di origine tutta italiana (è piacevole ogni tanto vedere che le eccellenze in Italia esistono, anche se non sono poi valorizzate come meriterebbero), dopo 5 anni di ricerca e sviluppo, ha annunciato la sua soluzione Fortissimo Foundation per realizzare soluzioni convergenti altamente scalabili e prestazioni, pensate soprattutto per i casi di Big Data (con dati non strutturati), ma adattabile anche a molti altri casi.

Questa soluzione non solo rappresenta un nuovo approccio alle architetture di tipo scale out (confermando come queste soluzioni si stiano sempre più affermando come approccio standard) ma anche un modo innovativo di implementare soluzioni convergenti (e persino hyper-converged).

Ho avuto la fortuna di parlare direttamente con Antonella Rubicco (Founder and CEO) e Emilio Billi (Founder and Chief Technology Officer) per conoscere qualche dettaglio in più di questa soluzione innovativa.

L’idea è nata (e con orgoglio possiamo dire che è nata in Italia e totalmente sviluppata in Italia, visto che il team di R&D è rimasto qua) dalla ricerca di un nuovo approccio per soluzioni scale-out da adottare per nuovi tipi di applicazioni e casi d’uso. La virtualizzazione è sicuramente una di queste, ma non la prima che è stata considerata, visto che si è partiti dai Big Data, e in generale da tutte quelle soluzioni per gestire (grossi) dati non struttura.

Application-Evolution

Soprattutto per applicazioni come Hadoop, quelle di tipo HPC o di tipo NoSQL serviva un nuovo approccio per garantire accesso efficiente a bassa latenza a grosse moli di dati.

Le soluzioni esistenti di tipo scale-out e/o (hyper-)converged non rappresentano necessariamente una soluzione validata per tutti questi casi (sicuramente vanno per in ambito virtualizzazione, ma cosa succedere nel caso di applicazioni veramente I/O intensive?)

La maggior parte delle soluzioni scale-out soffre di alcuni potenziali colli di bottiglia: la rete di back-end per la sincronizzazione e la replica, l’accesso alle risorse non locali, la presenza (in alcuni casi di un singolo metadata node), la scalabilità che può essere molti lineare all’inizio, ma raggiunge limiti oltre i quali la crescita non è più possibile o non è più lineare).

Fortissimo Foundation è una soluzione di storage cluster globale, distribuito e parallelo, con accesso diretto (tramite il RONNIEE fabric) alle risorse di ogni nodo con prestazioni simili a quelle dell’accesso diretto alla memoria locale, il tutto con capacità di crescere linearmente, in capacità, in prestazioni, o in entrambi i versi.

Fortissimo-Storage

Ogni nodo, grazie al RONNIEE Fabric, è in grado di accedere alle risorse degli altri nodi con tempi decisamente interessanti e vicini ai tempi di accesso delle risorse locali (la latenza di accesso tra una CPU e una memoria remota è meno di 800 nanosecondi!) permettendo di creare una vera soluzione di tipo scale-out. In questo modo non solo è possibile realizzare una soluzione di storage innovativo, ma utilizzare le risorse di calcolo e rete per implementare anche soluzioni convergenti o hyper-converged.

Per far questo è necessario utilizzare una o più RONNIEE card (per implementare la RONNIE Express Storage Fabric che commenteremo dopo), hardware di tipo commodity (scegliendo le soluzioni hardware che preferite, pur rimanendo nell’ambito della piattaforma x64) ed installando poi  Fortissimo Foundation, che di fatto è il sistema operativo (basato su Linux) di questa soluzione:

Fortissimo-Platform

In questo modo è possibile implementare uno storage pool che aggreghi la memoria dei server (è possibile decidere quanta memoria dedicare a questa funzione e ovviamente decidere il tipo di ridondanza del dato) e che funzioni come tier 0 con funzioni prevalentemente di caching. Inoltre anche i dischi SSD (o volendo pure dischi tradizionali rotativi) vengono aggregati ed utilizzati come secondo tier.

Fortissimo-Foundation

Entrambi i pool possono essere acceduti in modo trasparente ed ottimizzato tramite un singolo filesystem distribuito e parallelo. Quindi applicazioni native che vengono eseguite in modo “convergente” sul cluster potranno già beneficiare di queste funzioni. Per applicazioni esterne o legacy l’intero cluster può esportare lo storage pool tramite protocolli di NAS (NFS o CIFS) o protocolli a blocchi (iSCSI).

Una curiosità sul filesystem: non è un nuovo filesystem costruito ad hoc per questa soluzione è si appoggia a filesystem esistenti con specifiche ottimizzazioni per funzionare in modalità distribuita e parallela. E’ quindi possibile usare persino ext4, benché il filesystem prividegiato sia la versione ottimizzata di ZFS.

Fortissimo Foundation non si limita a fornire un filesystem distribuito e parallelo, ma fornisce molte altre funzionalità:

Fortissimo-Features

Naturalmente, la parte più innovativa rimane l’approccio e la soluzione trovata per la comunicazione intra-cluster: tramite le schede RONNIE Express  è possibile implementare una  dataplane fabric molto veloce e a bassa latenza (da notare che non è una rete basata su TCP/IP o Ethernet, tanto che non viene vista come rete di networking) e a configurazione automatica.

Questa rete può essere implementata usando differente topologie, anche switch-less permettendo la massima flessibilità. Per la resilienza è possibile ridondare questa rete con una seconda (usando per ogni nodo un’altra scheda).

In realtà anche in caso di fallimento di tutte le fabric, è possibile ridirigere questo traffico di comunicazione sulla normale rete (un po’ come succede con il Cluster Shared Volume di Microsoft), ovviamente con prestazioni limitate.

La curiosità è che questa scheda è stata sviluppata da A3Cube completamente in Italia da ingegneri italiani e che le API per il suo utilizzo e l’utilizzo della fabric sono aperte, tanto più che l’Università di Torino l’ha adottata per implementare una soluzione di condivisione delle GPU tra i vari nodi.

E per quanto riguarda la virtualizzazione? Come scritto questo approccio ben si presta ad implementare soluzioni convergenti o hpyer-conververged. Essendo però basato su Linux viene naturale per gli hypervisor KVM e Xen. Ma in realtà stanno già sviluppando anche una soluzione per VMware (facendo lavorare il tutto in una VM), dove il problema maggiore sembra essere legato nell’attuale di VMware implementazione del PCI passthought che introduce una latenza minima per i normali casi, ma troppo elevata per implementare questa soluzione in modo ottimale..

Share

Virtualization, Cloud and Storage Architect. Tech Field delegate. VMUG IT Co-Founder and board member. VMware VMTN Moderator and vExpert 2010-24. Dell TechCenter Rockstar 2014-15. Microsoft MVP 2014-16. Veeam Vanguard 2015-23. Nutanix NTC 2014-20. Several certifications including: VCDX-DCV, VCP-DCV/DT/Cloud, VCAP-DCA/DCD/CIA/CID/DTA/DTD, MCSA, MCSE, MCITP, CCA, NPP.