add latex thesis code

This commit is contained in:
Lorenzo Venerandi
2025-04-01 17:56:08 +02:00
parent c3b39b7284
commit 72c32427c4
69 changed files with 3208 additions and 0 deletions

9
latex/0_introduction.tex Normal file
View File

@@ -0,0 +1,9 @@
Negli ultimi anni il paradigma del Cloud Computing\cite{Pallis2010Cloud} ha subito una trasformazione radicale: le soluzioni tradizionali, basate su infrastrutture centralizzate, si sono evolute verso modelli distribuiti e dinamici, in grado di rispondere alle crescenti esigenze di scalabilità, flessibilità e riduzione della latenza. Lavvento della containerizzazione\cite{Felter2015An}, del serverless computing e delle architetture a microservizi ha spostato lattenzione verso sistemi che permettono una gestione più efficiente delle risorse, riducendo il carico amministrativo e operativo. In questo contesto, WebAssembly (Wasm)\cite{WasmSpec24} si presenta come una tecnologia innovativa, capace di eseguire codice precompilato con prestazioni quasi native e offrendo una portabilità senza precedenti, indipendentemente dallarchitettura hardware sottostante.\\
Il concetto di Edge-Cloud Continuum\cite{Hoshikawa2019Edge} rappresenta la convergenza tra le potenti risorse centralizzate del Cloud e i vantaggi offerti dai sistemi Edge, in cui la vicinanza ai dati permette di ottenere bassi tempi di risposta e una maggiore reattività. Tale integrazione risulta fondamentale in scenari dove la latenza e la resilienza sono requisiti imprescindibili, come ad esempio nelle applicazioni IoT\cite{Laghari2021A} e nei sistemi di monitoraggio in tempo reale. Tuttavia, ladozione di soluzioni ibride che coniugano Cloud ed Edge solleva nuove e significative sfide, in particolare nellorchestrazione e nella gestione dei carichi di lavoro in ambienti eterogenei. Sebbene i metodi tradizionali siano efficaci in alcune applicazioni, essi mostrano criticità rilevanti, tra cui tempi di avvio elevati, inefficienze nellutilizzo delle risorse e difficoltà nelladattarsi a infrastrutture variegate. Queste problematiche limitano la portabilità delle soluzioni containerizzate e ostacolano limplementazione di applicazioni in architetture caratterizzate da una distribuzione eterogenea di risorse e tecnologie, tipica del panorama dellEdge-Cloud Continuum. Per affrontare tali sfide, è necessaria uninnovazione che superi i limiti delle soluzioni attuali, garantendo al contempo scalabilità, flessibilità e tempi di risposta ottimizzati\cite{10682874}.\\
La presente tesi si propone di affrontare queste sfide attraverso lo sviluppo di PELATO, un framework innovativo per lautomazione e lorchestrazione di moduli WebAssembly nellEdge-Cloud Continuum. PELATO facilita la gestione automatizzata del lifecycle dei modulo Wasm, occupandosi della generazione e compilazione dell'applicazione e del suo deployment nell'infrastruttura. Lobiettivo principale è quello di combinare lefficienza esecutiva e la portabilità dei moduli Wasm con la flessibilità offerta dalle tecnologie di containerizzazione e orchestrazione come Kubernetes\cite{Rejiba2022Custom}, basandosi su tecnologie emergenti come wasmCloud\cite{wasmcloud}. Attraverso questa integrazione, PELATO permette la realizzazione di applicazioni modulari, portatili e scalabili, capaci di adattarsi dinamicamente alle variazioni del carico e garantendone la distribuzione in tutto l'ambiente Edge-Cloud.\\
Il lavoro si articola in più fasi. Nel primo capitolo viene presentata una panoramica completa dello stato dellarte, analizzando levoluzione delle tecnologie Cloud ed Edge, le tecniche di containerizzazione e i modelli di orchestrazione, e approfondendo il ruolo emergente di WebAssembly. Verranno discussi i vantaggi e i limiti delle soluzioni attuali, individuando le aree in cui lintegrazione tra Wasm e strumenti di orchestrazione può apportare significativi miglioramenti in termini di performance, flessibilità e gestione delle risorse.\\
Nel secondo capitolo viene illustrata larchitettura del framework proposto, con particolare attenzione alla modularità e allinteroperabilità dei suoi componenti. Verranno descritti il design del sistema, le scelte tecnologiche adottate e le strategie implementate per garantire sicurezza e resilienza in ambienti distribuiti. Particolare enfasi sarà posta sullutilizzo di interfacce standardizzate, in grado di facilitare lintegrazione di moduli sviluppati in linguaggi diversi e di supportare un approccio orientato ai microservizi.\\
I capitoli successivi approfondiscono in dettaglio i processi di generazione, build e deployment del framework, evidenziandone larchitettura e le modalità operative. Nel capitolo dedicato alla generazione, vengono descritti gli strumenti e le tecniche utilizzate per configurare e definire workflow modulari, con particolare attenzione alla creazione automatizzata di task e alla compilazione dei template Wasm. Nel capitolo sulla build, viene esaminato il processo di compilazione e packaging dei moduli WebAssembly, analizzando le ottimizzazioni introdotte, come la gestione delle immagini Docker\cite{Anderson2015Docker} in cache e lesecuzione parallelizzata per ridurre i tempi complessivi. Infine, nel capitolo sul deployment, si analizzano le strategie adottate per distribuire le applicazioni in ambienti eterogenei, sfruttando strumenti come wasmCloud per il bilanciamento del carico e la resilienza, e mostrando come PELATO gestisce dinamicamente il failover e lallocazione dei task.\\
Questi capitoli sono arricchiti da flussi di lavoro automatizzati e pipeline di integrazione continua, descritti con esempi pratici e casi di studio che dimostrano lefficacia del framework in scenari operativi reali, sia in ambienti Cloud che Edge.\\
Infine, il lavoro si conclude con una valutazione delle performance ottenute, evidenziando il contributo del framework allo sviluppo di soluzioni applicative più efficienti e resilienti in un contesto distribuito. Saranno proposte possibili direzioni future di ricerca, finalizzate allulteriore ottimizzazione dellintegrazione tra tecnologie Cloud ed Edge e allampliamento delle funzionalità fornite dai componenti WebAssembly\cite{webassembly_component_model}.\\
In unepoca in cui la rapidità, la flessibilità e la capacità di adattarsi a contesti dinamici sono requisiti essenziali per le applicazioni moderne, questa tesi si propone come un contributo significativo al progresso tecnologico, offrendo un approccio innovativo allorchestrazione e automazione dei moduli Wasm. Il framework sviluppato rappresenta un passo avanti verso la realizzazione di sistemi distribuiti capaci di sfruttare appieno le potenzialità dellEdge-Cloud Continuum, promuovendo una nuova generazione di applicazioni scalabili e performanti.