IoT and Cloud Computing diffusion brought two other paradigms: Fog Computing and Serverless Computing. The aim of the first is to bring computation closer to data sources, moving away from Cloud, while the second changed the idea of applications, making them a set of stateless functions. The purpose of this work is to present a middleware for Function-as-a-Service, that uses an infrastructure composed by Raspberry Pi and exploits AWS lambda as a Cloud resource, for the execution of Functions. Fog(ex) provides the ability to execute Actions inside Docker Containers, distributing them over the connected devices based on available resources. It also gives the possibility to compose existing Actions into Sequences, which are optimized exploiting parallelism and data locality. Tests have been made to show how the usage of Fog Computing is effective, compared to Cloud, for the reduction of latencies. They demonstrate the effectiveness of the usage of containers in a distributed approach of execution and the advantages brought by optimizations in the execution of Sequences. This work, finally, shows the feasibility of using Cloud to create a computing continuum to extend resources with respect to local infrastructure capabilities.

La diffusione di IoT e Cloud Computing ha portato alla nascita di due nuovi paradigmi: Fog Computing e Serverless Computing. Il primo ha come idea di fondo quella di riportare la computazione verso la sorgente dei dati mentre il secondo ha rivoluzionato il modo di pensare le applicazioni, trasformandole in un insieme di funzioni stateless. Lo scopo di questo elaborato è la presentazione di un middleware per Function-as-a-Service, che utilizza una infrastruttura composta da Raspberry Pi e sfrutta AWS lambda come risorsa Cloud, per l'esecuzione delle funzioni. Fog(ex) fornisce la possibilità di eseguire Azioni all'interno di Container Docker, distribuendole sui dispositivi connessi in base alle risorse disponibili. Permette inoltre di comporre Azioni esistenti in Sequenze, la cui esecuzione viene ottimizzata sfruttando parallelismo e località dei dati. I test effettuati mostrano come l'utilizzo del Fog Computing sia più efficace rispetto al solo Cloud, per la riduzione delle latenze. Mettono inoltre in luce l'efficacia dell'uso dei container nell'approccio distribuito di esecuzione e i vantaggi introdotti dalle ottimizzazioni apportate all'esecuzione delle Sequenze. Infine, viene mostrata la fattibilità dell'inclusione del Cloud in questo sistema, instaurando un computing continuum per estendere le risorse rispetto all'infrastruttura locale.

Fog(ex) : una soluzione FaaS per il fog computing

ZOCCHI, SIMONE
2016/2017

Abstract

IoT and Cloud Computing diffusion brought two other paradigms: Fog Computing and Serverless Computing. The aim of the first is to bring computation closer to data sources, moving away from Cloud, while the second changed the idea of applications, making them a set of stateless functions. The purpose of this work is to present a middleware for Function-as-a-Service, that uses an infrastructure composed by Raspberry Pi and exploits AWS lambda as a Cloud resource, for the execution of Functions. Fog(ex) provides the ability to execute Actions inside Docker Containers, distributing them over the connected devices based on available resources. It also gives the possibility to compose existing Actions into Sequences, which are optimized exploiting parallelism and data locality. Tests have been made to show how the usage of Fog Computing is effective, compared to Cloud, for the reduction of latencies. They demonstrate the effectiveness of the usage of containers in a distributed approach of execution and the advantages brought by optimizations in the execution of Sequences. This work, finally, shows the feasibility of using Cloud to create a computing continuum to extend resources with respect to local infrastructure capabilities.
ING - Scuola di Ingegneria Industriale e dell'Informazione
21-dic-2017
2016/2017
La diffusione di IoT e Cloud Computing ha portato alla nascita di due nuovi paradigmi: Fog Computing e Serverless Computing. Il primo ha come idea di fondo quella di riportare la computazione verso la sorgente dei dati mentre il secondo ha rivoluzionato il modo di pensare le applicazioni, trasformandole in un insieme di funzioni stateless. Lo scopo di questo elaborato è la presentazione di un middleware per Function-as-a-Service, che utilizza una infrastruttura composta da Raspberry Pi e sfrutta AWS lambda come risorsa Cloud, per l'esecuzione delle funzioni. Fog(ex) fornisce la possibilità di eseguire Azioni all'interno di Container Docker, distribuendole sui dispositivi connessi in base alle risorse disponibili. Permette inoltre di comporre Azioni esistenti in Sequenze, la cui esecuzione viene ottimizzata sfruttando parallelismo e località dei dati. I test effettuati mostrano come l'utilizzo del Fog Computing sia più efficace rispetto al solo Cloud, per la riduzione delle latenze. Mettono inoltre in luce l'efficacia dell'uso dei container nell'approccio distribuito di esecuzione e i vantaggi introdotti dalle ottimizzazioni apportate all'esecuzione delle Sequenze. Infine, viene mostrata la fattibilità dell'inclusione del Cloud in questo sistema, instaurando un computing continuum per estendere le risorse rispetto all'infrastruttura locale.
Tesi di laurea Magistrale
File allegati
File Dimensione Formato  
2017_12_Zocchi.PDF

accessibile in internet per tutti

Descrizione: Testo della tesi
Dimensione 1.57 MB
Formato Adobe PDF
1.57 MB 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/137496