(non sono quello a destra)

About me

Sono uno studente della triennale di Informatica e tirocinante presso questo laboratorio.

Lavoro di tesi: CloudHUB

Il lavoro si basa sulla creazione di una libreria in Java che sfrutti le caratteristiche di Grafana per il monitoraggio di un sistema Multi-cloud.

Nello specifico, la libreria si occupa di gestire il deploy del server di Grafana su macchina locale e sfrutta il meccanismo di Provisioning messo a disposizione da Grafana stesso per caricare le Dashboard (personalizzabili) realizzate per monitorare i servizi di Amazon Web Servcies e Microsoft Azure (potrebbero essere supportati ulteriori Provider in futuro). È possibile inoltre abilitare una Dashboard che si occupa di monitorare le risorse del sistema locale.

Per informazioni più dettagliate: Repository Github.

Tesi sviluppata in collaborazione con Davide Acanfora™.

Software e librerie

Fasi dello sviluppo

  1. Studio dei servizi di Microsoft Azure e Amazon Web Services;
  2. Studio di Grafana e delle sue componenti di base;
  3. Creazione delle prime Dashboard in Grafana;
  4. Approfondimento sul concetto di Provisioning di Grafana;
  5. Studio di fattibilità sull'integrazione di Grafana in Java;
  6. Primi test di integrazione in ambiente Windows Linux;
  7. Raffinamento dell'integrazione;
  8. Creazione ed integrazione delle varie Dashboard (una per servizio).

Seminari

- 11 Ottobre 2019

DESCRIZIONE: Primo seminario.

ABSTRACT: Nel mondo del Cloud Computing si sta sempre più radicando il concetto di Multicloud che consiste nel trarre vantaggi da più Cloud Provider unificandoli in una singola architettura eterogenea, per motivi che spaziano tra affidabilità, costi e flessibilità.
Una delle criticità di tale architettura risiede nel fatto che ogni Provider mette a disposizione i propri strumenti per il monitoraggio dei loro servizi, non garantendo, quindi, un'immediata visione globale del sistema.
Il nostro lavoro è stato quello di integrare i servizi di monitoraggio esistenti con Grafana, un tool che permette di interrogare e visualizzare dati provenienti da diverse sorgenti in un'unica piattaforma.
Nello specifico abbiamo sviluppato una libreria Java che si pone al di sopra di tale strumento, in modo da rendere la sua configurazione e il suo utilizzo semplici e immediati.
Lo scopo del seminario sarà quello di illustrare le caratteristiche del Multicloud, introdurre Grafana e presentare lo sviluppo del nostro lavoro.

- 14 Febbraio 2020 (lo sbalzo temporale è dovuto ad un tirocinio esterno)

DESCRIZIONE: Presentazione seduta di laurea.

ABSTRACT: Abstract della tesi.

SLIDES: Soon

Dettagli tesi

TITOLO: Monitoraggio di applicazioni Multi-cloud tramite CloudHUB: progettazione ed integrazione di Microsoft Azure.

ABSTRACT: Una delle tecnologie più in espansione nell'ambito della programmazione distribuita, che ha dato vita a nuove strategie e modelli relativi alla computazione su Cloud soprattutto negli ultimi anni, è il Multi-cloud; esso consiste nella realizzazione di un sistema eterogeneo che vada a sfruttare i punti considerati focali di diversi Cloud Provider, per beneficiarne in termini che riguardano in modo particolare i costi di produzione e mantenimento, l'affidabilità e la flessibilità.Se da un lato tale architettura garantisce molteplici vantaggi, dall'altro un sistema siffatto presenta, tra le criticità, quella del monitoraggio dei servizi utilizzati, in quanto ogni fornitore di servizi Cloud mette a disposizione i propri strumenti ed è quindi complicato avere una visione globale ed immediata del sistema realizzato.
L'obiettivo di questo studio è, dunque, quello di ovviare a questa difficoltà cercando di portare in un unico posto i servizi di monitoraggio esistenti, in particolare quelli di Microsoft Azure, utilizzando Grafana, uno strumento Open Source che si interfaccia con un gran numero di sorgenti di dati e permette la creazione di grafici basati sulle informazioni ricevute; tale strumento è stato integrato in una libreria Java (CloudHUB) per permetterne una configurazione semplice e dinamica, in modo da adattarsi a diversi scenari e nascondere i dettagli implementativi all'utente finale.