Design e sviluppo di una soluzione per la valutazione di sistemi distribuiti

Le moderne architetture distribuite, caratterizzate da decentralizzazione e dalla suddivisione in microservizi, pongono sfide rilevanti nella valutazione del comportamento del sistema.

Data la complessità introdotta da tali architetture, vengono richiesti sistemi di monitoraggio avanzati in grado di verificare Proprietà Non-Funzionali per valutare il comportamento dell’infrastruttura. Le soluzioni attuali, sebbene efficaci nella valutazione di performance, risultano limitate quando si tratta di fornire una valutazione olistica e continua di tali sistemi, basata sulla verifica di proprietà non funzionali tramite contratti formali e specifici. 'E sorta quindi la necessità di sistemi di monitoraggio sempre più sofisticati, che possano raccogliere informazioni su molteplici aspetti del sistema in modo da garantire il soddisfacimento di specifiche proprietà.

Questa tesi, sfruttando una metodologia di assurance innovativa, mira a colmare alcune lacune nel monitoraggio e nella valutazione delle ormai comuni infrastrutture distribuite. La metodologia si basa su i) una raccolta continua e trasparente di evidence, o prove, che misurano stati rilevanti del sistema, tramite metriche che interrogano sistemi di monitoring dei nodi distribuiti, ii) la verifica formale di specifiche proprietà non funzionali, sulla base delle evidence raccolte con le metriche, attraverso contratti che ne definiscono i controlli da effettuare.

Viene proposta, basandosi su tale metodologia, un’integrazione per Elasticsearch tra le funzionalità dell’Assurance Engine, il sistema di monitoraggio e valutazione in corso di sviluppo, permettendo la raccolta di dati e la verifica di specifici e complessi contratti. Questo lavoro contribuisce quindi allo sviluppo di un sistema modulare flessibile, efficiente e scalabile per verifiche di Assurance basate su proprietà non funzionali, indipendentemente dalla complessità dell’infrastruttura sottostante.

I contributi di questa tesi sono:

  1. integrazione dell’Assurance Engine con Elasticsearch, sfruttando la metodologia adottata,
  2. espressione di contratti complessi per valutare formalmente proprietà non funzionali su un target,
  3. una valutazione sperimentale approfondita delle performance e dell’efficienza dell’integrazione sviluppata.

La tesi mostra una implementazione concreta della metodologia adottata con l’obbiettivo di costruire un unico sistema centrale, efficiente e affidabile per monitorare sistemi distribuiti, l’Assurance engine, riducendo al minimo l’impatto sulle risorse computazionali. I risultati confermano che il sistema è in grado di fornire prestazioni efficienti nella raccolta di evidence tramite metriche e nella valutazione di contratti.

Filippo Berto
Filippo Berto
Post-doc Researcher

My research interests include Cybersecurity, Computer Networks, Edge-Cloud Computing and Distributed Systems.