The rapid evolution of cloud and edge computing has enabled increasingly complex applications to run on distributed infrastructures. While serverless computing, specifically Function-as-a-Service (FaaS), has revolutionized application development by abstracting infrastructure management, current platforms remain largely stateless and cloud-centric. This design introduces significant limitations for resource-constrained edge environments, particularly in terms of data locality, latency, and privacy, often imposing prohibitive ``data-shipping'' architectures that negate the benefits of edge proximity. This thesis addresses these challenges by proposing Ermes, a novel framework for stateful serverless computing designed to operate across the edge-cloud continuum. The primary contribution of this work is a distributed system architecture that natively integrates state management into the FaaS paradigm. Ermes allows functions to create and manipulate persistent state across multiple invocations through a unified API, supporting granular access control (private, shared, public) and tunable consistency models (sequential and strong eventual). A distinguishing feature of the framework is its decentralized, locality-aware scheduling policy that co-locates computation and state, alongside a client-centric data placement strategy that actively replicates or migrates data close to the user to minimize access latency. To validate the proposed design, a fully functional prototype was developed in Go, leveraging WebAssembly (WASM) as a secure and portable execution engine and Redis for low-latency state storage. The system was evaluated through an extensive experimental campaign, initially identifying the most suitable execution engine through a comparative analysis of state-of-the-art WebAssembly runtimes, and subsequently assessing the framework’s performance under dynamic mobility and high-concurrency scenarios. The results demonstrate that Ermes provides significant performance benefits over traditional centralized FaaS architectures, successfully bridging the gap between serverless simplicity and high-performance edge computing.

L'evoluzione del cloud e dell'edge computing ha reso possibile eseguire applicazioni sempre più complesse su infrastrutture distribuite. Sebbene il serverless computing, in particolare il modello Function-as-a-Service (FaaS), abbia rivoluzionato lo sviluppo di applicazioni astraendo la gestione dell'infrastruttura, le piattaforme attuali restano prevalentemente stateless e cloud-centriche. Questo approccio introduce limiti significativi per gli ambienti edge a risorse limitate, in termini di località dei dati, latenza e privacy, imponendo spesso architetture di ``data-shipping'' proibitive che vanificano i vantaggi della prossimità all'edge. Questa tesi affronta tali sfide proponendo Ermes, un innovativo framework per il serverless computing stateful, progettato per operare lungo il continuum edge-cloud. Il contributo principale della tesi è un sistema distribuito che integra nativamente la gestione dello stato nel paradigma FaaS. Tramite un'API unificata, Ermes consente alle funzioni di creare e manipolare uno stato persistente tra diverse invocazioni, offrendo un controllo degli accessi granulare (privato, condiviso, pubblico) e diversi livelli di consistenza (sequential e strong eventual). Un elemento distintivo del framework è l'adozione di una politica di scheduling decentralizzata e locality-aware che colloca calcolo e stato nello stesso nodo, assieme a una strategia di posizionamento dati client-centrica che replica o migra attivamente i dati vicino all'utente per minimizzare la latenza. Per validare il design proposto, è stato sviluppato un prototipo funzionale in Go, utilizzando WebAssembly (WASM) come ambiente di esecuzione sicuro e portabile, e Redis per memorizzare lo stato a bassa latenza. Il sistema è stato valutato attraverso un'esaustiva campagna di test, identificando runtime e modalità di esecuzione idonei tramite un'analisi comparativa dello stato dell'arte e valutandone poi le prestazioni in scenari di mobilità dinamica e alta concorrenza. I risultati dimostrano che Ermes offre benefici prestazionali rispetto alle tradizionali architetture FaaS centralizzate, unendo con successo la semplicità del serverless alle prestazioni dell'edge computing.

Ermes: implementation and evaluation of a stateful faas framework for the edge-cloud continuum

Orsenigo, Giacomo;Tosetti, Luca
2024/2025

Abstract

The rapid evolution of cloud and edge computing has enabled increasingly complex applications to run on distributed infrastructures. While serverless computing, specifically Function-as-a-Service (FaaS), has revolutionized application development by abstracting infrastructure management, current platforms remain largely stateless and cloud-centric. This design introduces significant limitations for resource-constrained edge environments, particularly in terms of data locality, latency, and privacy, often imposing prohibitive ``data-shipping'' architectures that negate the benefits of edge proximity. This thesis addresses these challenges by proposing Ermes, a novel framework for stateful serverless computing designed to operate across the edge-cloud continuum. The primary contribution of this work is a distributed system architecture that natively integrates state management into the FaaS paradigm. Ermes allows functions to create and manipulate persistent state across multiple invocations through a unified API, supporting granular access control (private, shared, public) and tunable consistency models (sequential and strong eventual). A distinguishing feature of the framework is its decentralized, locality-aware scheduling policy that co-locates computation and state, alongside a client-centric data placement strategy that actively replicates or migrates data close to the user to minimize access latency. To validate the proposed design, a fully functional prototype was developed in Go, leveraging WebAssembly (WASM) as a secure and portable execution engine and Redis for low-latency state storage. The system was evaluated through an extensive experimental campaign, initially identifying the most suitable execution engine through a comparative analysis of state-of-the-art WebAssembly runtimes, and subsequently assessing the framework’s performance under dynamic mobility and high-concurrency scenarios. The results demonstrate that Ermes provides significant performance benefits over traditional centralized FaaS architectures, successfully bridging the gap between serverless simplicity and high-performance edge computing.
ING - Scuola di Ingegneria Industriale e dell'Informazione
26-mar-2026
2024/2025
L'evoluzione del cloud e dell'edge computing ha reso possibile eseguire applicazioni sempre più complesse su infrastrutture distribuite. Sebbene il serverless computing, in particolare il modello Function-as-a-Service (FaaS), abbia rivoluzionato lo sviluppo di applicazioni astraendo la gestione dell'infrastruttura, le piattaforme attuali restano prevalentemente stateless e cloud-centriche. Questo approccio introduce limiti significativi per gli ambienti edge a risorse limitate, in termini di località dei dati, latenza e privacy, imponendo spesso architetture di ``data-shipping'' proibitive che vanificano i vantaggi della prossimità all'edge. Questa tesi affronta tali sfide proponendo Ermes, un innovativo framework per il serverless computing stateful, progettato per operare lungo il continuum edge-cloud. Il contributo principale della tesi è un sistema distribuito che integra nativamente la gestione dello stato nel paradigma FaaS. Tramite un'API unificata, Ermes consente alle funzioni di creare e manipolare uno stato persistente tra diverse invocazioni, offrendo un controllo degli accessi granulare (privato, condiviso, pubblico) e diversi livelli di consistenza (sequential e strong eventual). Un elemento distintivo del framework è l'adozione di una politica di scheduling decentralizzata e locality-aware che colloca calcolo e stato nello stesso nodo, assieme a una strategia di posizionamento dati client-centrica che replica o migra attivamente i dati vicino all'utente per minimizzare la latenza. Per validare il design proposto, è stato sviluppato un prototipo funzionale in Go, utilizzando WebAssembly (WASM) come ambiente di esecuzione sicuro e portabile, e Redis per memorizzare lo stato a bassa latenza. Il sistema è stato valutato attraverso un'esaustiva campagna di test, identificando runtime e modalità di esecuzione idonei tramite un'analisi comparativa dello stato dell'arte e valutandone poi le prestazioni in scenari di mobilità dinamica e alta concorrenza. I risultati dimostrano che Ermes offre benefici prestazionali rispetto alle tradizionali architetture FaaS centralizzate, unendo con successo la semplicità del serverless alle prestazioni dell'edge computing.
File allegati
File Dimensione Formato  
2026_03_Orsenigo_Tosetti_Tesi.pdf

accessibile in internet per tutti

Descrizione: Thesis
Dimensione 6 MB
Formato Adobe PDF
6 MB Adobe PDF Visualizza/Apri
2026_03_Orsenigo_Tosetti_Executive_Summary.pdf

accessibile in internet per tutti

Descrizione: Executive Summary
Dimensione 893.82 kB
Formato Adobe PDF
893.82 kB Adobe PDF Visualizza/Apri

I documenti in POLITesi sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.

Utilizza questo identificativo per citare o creare un link a questo documento: https://hdl.handle.net/10589/253222