FREEDA: Failure-Resilient, Energy-aware, and Explainable Deployment of microservice-based Applications over Cloud-IoT infrastructures

PRIN 2022 Amadini

Abstract

Il progetto FREEDA – Failure-Resilient, Energy-aware, and Explainable Deployment of microservice-based Applications over Cloud-Edge infrastructures ha affrontato il problema del deployment di applicazioni basate su microservizi su infrastrutture eterogenee Cloud-Edge, con l’obiettivo di renderlo più resiliente ai guasti, efficiente dal punto di vista energetico e spiegabile per i DevOps. Il progetto è stato finanziato nell’ambito del PRIN 2022, Missione 4 “Istruzione e Ricerca”, Componente 2, Investimento 1.1 del PNRR, con il sostegno finanziario dell’Unione europea – NextGenerationEU. L’evoluzione dei sistemi ICT ha reso sempre più frequente l’adozione di applicazioni composte da microservizi distribuiti lungo il continuum Cloud-Edge. In tali scenari, la scelta di dove collocare i servizi non può essere effettuata considerando un singolo criterio, ma richiede una valutazione integrata di molteplici requisiti, spesso tra loro conflittuali: qualità del servizio, costi, consumo energetico, emissioni di carbonio, disponibilità delle risorse, resilienza ai guasti e capacità di adattamento a variazioni dell’applicazione o dell’infrastruttura. Ad esempio, aumentare la resilienza tramite repliche può migliorare l’affidabilità, ma al tempo stesso incrementare costi, consumi energetici ed emissioni. FREEDA è stato concepito per supportare in modo olistico e automatizzato la pianificazione, l’esecuzione e l’adattamento del deployment di applicazioni a microservizi su infrastrutture Cloud-Edge. Il progetto ha sviluppato modelli, metodi e strumenti in grado di analizzare l’applicazione, l’infrastruttura disponibile e le informazioni sui deployment correnti o precedenti, al fine di identificare configurazioni adeguate rispetto ai vincoli e agli obiettivi definiti. Un elemento centrale dell’approccio è l’uso del ragionamento basato su vincoli, che consente di individuare compromessi sostenibili tra requisiti diversi e di supportare decisioni di deployment motivate dai vincoli e dalle priorità espresse. Le attività sono state svolte dalle tre unità operative coinvolte — Università di Pisa, Università di Bologna e Politecnico di Milano — secondo il piano di lavoro approvato, articolato in work package dedicati alla gestione e disseminazione, al deployment olistico e adattivo, alla resilienza ai guasti, alla sostenibilità energetica e all’integrazione della toolchain in casi d’uso rappresentativi. Risultati Il progetto FREEDA ha raggiunto pienamente gli obiettivi previsti, portando alla realizzazione e validazione di una toolchain integrata per il deployment olistico, resiliente ai guasti ed efficiente dal punto di vista energetico di applicazioni a microservizi su infrastrutture Cloud-Edge. In particolare, il progetto ha prodotto modelli formali per rappresentare applicazioni, infrastrutture e requisiti di deployment; tecniche basate su vincoli per generare piani di deployment; metodi di ragionamento continuo per adattare rapidamente configurazioni già in esecuzione a fronte di cambiamenti nei servizi, nei nodi infrastrutturali o nei requisiti applicativi. Sono state inoltre sviluppate tecniche per identificare causalità di guasto tra microservizi e risorse infrastrutturali, sfruttando dati storici e informazioni raccolte a runtime, e per raccomandare contromisure quali circuit breaker, bulkhead e requisiti aggiuntivi di deployment finalizzati a migliorare la resilienza complessiva del sistema. Sul versante della sostenibilità, FREEDA ha sviluppato modelli energetici per i nodi infrastrutturali e strategie di deployment consapevoli dei consumi e delle emissioni di carbonio, con l’obiettivo di ridurre l’impatto ambientale mantenendo adeguati livelli di qualità del servizio. La toolchain consente quindi di analizzare in modo integrato compromessi tra sostenibilità, prestazioni, affidabilità e altri requisiti di sistema, supportando decisioni più consapevoli nel ciclo di vita di applicazioni distribuite su infrastrutture Cloud-Edge. I risultati dei diversi work package sono stati integrati in una toolchain coesa, applicata a un caso d’uso basato su una applicazione a microservizi e su un testbed Cloud-Edge di riferimento. La validazione ha dimostrato la capacità dell’approccio di pianificare, attuare e monitorare deployment adattivi, energeticamente efficienti e resilienti ai guasti, confermando la validità scientifica e tecnica della soluzione proposta. Il progetto ha generato un impatto scientifico rilevante, testimoniato da oltre venti pubblicazioni su riviste, conferenze e workshop internazionali. Tra i risultati più significativi si evidenzia l’articolo “A Constraint-Based Approach to Optimise QoS- and Energy-Aware Cloud-Edge Application Deployments”, pubblicato su ACM Transactions on Internet Technology, che presenta uno dei contributi metodologici centrali di FREEDA: l’uso di tecniche di constraint reasoning per ottimizzare il deployment di applicazioni Cloud-Edge rispetto a requisiti di qualità del servizio ed efficienza energetica. Questa pubblicazione rappresenta un risultato di particolare rilievo sia per la qualità della sede editoriale sia per la sua aderenza agli obiettivi scientifici del progetto. L’impatto scientifico è stato rafforzato da ulteriori pubblicazioni dedicate alla resilienza ai guasti, all’analisi delle failure causality nei microservizi, alla sostenibilità del software e al deployment carbon-aware. I risultati sono stati presentati in numerosi contesti internazionali, tra cui conferenze e workshop su service-oriented computing, software architecture, cloud-edge computing, green AI e gestione adattiva delle applicazioni distribuite. Il consorzio ha inoltre svolto keynote, invited talk e seminari presso gruppi di ricerca internazionali, contribuendo alla disseminazione dei risultati verso comunità accademiche e tecnologiche interessate a microservizi, sostenibilità, resilienza e infrastrutture Cloud-Edge. La diffusione dei risultati è stata supportata anche dalla creazione del sito https://freeda.di.unipi.it/ e dell’organizzazione GitHub del progetto (https://github.com/FREEDA-Project), destinata al rilascio open-source degli strumenti sviluppati. Questa scelta ha favorito l’adozione dei principi di Open Science e ha reso disponibili alla comunità scientifica e tecnica i prototipi e gli strumenti prodotti nell’ambito del progetto. Nel complesso, FREEDA ha fornito un avanzamento rispetto allo stato dell’arte nel deployment di applicazioni a microservizi sul continuum Cloud-Edge, combinando in un unico approccio resilienza, sostenibilità, adattività e supporto alle decisioni. La toolchain sviluppata costituisce una base solida per future estensioni verso infrastrutture Cloud-Edge più ampie, eterogenee e multi-dominio, nonché per l’integrazione di tecniche predittive e di machine learning orientate all’adattamento proattivo dei deployment.

Dettagli del progetto

Responsabile scientifico: Roberto Amadini

Strutture Unibo coinvolte:
Dipartimento di Informatica - Scienza e Ingegneria

Coordinatore:
Università di PISA(Italy)

Contributo totale Unibo: Euro (EUR) 66.335,00
Durata del progetto in mesi: 29
Data di inizio 28/09/2023
Data di fine: 28/02/2026

Loghi degli enti finanziatori