Il Cloud

La grande mole di dati che viene registrata dalle stazioni deve poter essere immagazzinata e messa a disposizione dei ricercatori. Questa operazione viene svolta dal cloud, l’interfaccia informatica che permette di immagazzinare, elaborare e analizzare i dati.

Infatti, da un punto di vista informatico Cagliari2020 si presenta come una social application, consiste infatti in un progetto che prevede una notevole produzione di dati grezzi da immagazzinare e elaborare nel tempo. Questo comporta la necessità di realizzare una continua analisi e aggregazione dei dati per produrre nuove informazioni.
Le soluzioni messe in campo per poter affrontare questo tipo di problema devono garantire:
scalabilità: i dati e gli utenti crescono e cambiano con il tempo;
elasticità: l’infrastruttura deve potersi adattare alle esigenze momentanee di traffico e di analisi dati;
portabilità: le applicazioni devono poter interoperare e/o essere “spostate” in maniera facile tra infrastrutture cloud differenti.

Gli sforzi maggiori sono concentrati nello sviluppo di specifici strumenti per l’integrazione e la gestione dei dati immagazzinati e inviati dalle stazioni. Per poter compiere tutte queste azioni è necessario dotarsi di  un’infrastruttura informatica avanzata, il cloud. 

Come evidenziato in questa sezione, le risorse cloud non sono gratuite e hanno un costo elevato sopratutto per quanto riguarda lo storage. Per questo motivo, l’uso del cloud deve garantire quanto più possibile economicità e funzionalità. Sopratutto per quest ultimo punto, ci sono importanti problemi di privacy legati al luogo nel quale i dati sensibili vengono immagazzinati e a come questi dati vengono spostati.
Per questi motivi, per Cagliari2020 si è deciso di realizzare dei cloud misti: i dati sensibili vengono immagazzinati su cloud privati, mentre l’analisi e la fusione su cloud pubbliche.  Lo sviluppo del codice per l’acquisizione e l’elaborazione dei dati (vedi immagine a lato) per il progetto è improntato sulla realizzazione di un’architettura orientata ai microservizi con il deployment delle applicazioni su container e interoperabilità ed orchestrazione eseguita con kubernets.

L’infrastruttura cloud privata è realizzata sui server della sezione con openstack, mentre l’infrastruttura cloud pubblica è duplice: da un lato sono stata acquistate risorse e fatto lunghe sessioni di test sul cloud fornito da Amazon Web Services. Dall’altro lato, è prevista una serie di test in fase di preparazione per i confronto con i precedenti servizi di cloud sulle piattaforme Google cloud.

Per quanto riguarda l’interoperabilità e l’orchestrazione è stato realizzato un cluster di kubernetes con risorse distribuite su openstack, Amazon Web Services e bare metal. Allo stesso modo è stato realizzato e messo in test il contaneir del raw data storage, del end user data storage e del sensorgw.

Allo stato attuale sono attivi tutti i testbed e il sistema di acquisizione dati.