The advent of serverless computing has rapidly transformed the software development landscape by significantly reducing the effort required to build and maintain computing infrastructures. A key player in this transformation is the Function-as-a-Service (FaaS) model, which emerged in the early 2010s and is now supported by many leading cloud providers. FaaS has gained widespread popularity for enabling developers to build scalable, easy-to-deploy functions, billed on a per-invocation basis. This makes it a perfect fit for compute-intensive, highly parallelizable workloads such as Internet of Things and data processing. However, its adoption has been limited by inherent issues such as its low-level abstraction and stateless nature. To address these challenges we present Actie, a framework designed to simplify the development of stateful and complex serverless applications. Actie’s main contribution lies in its programming abstraction, inspired by the actor model, which enhances FaaS-based applications by enabling a more intuitive design. In addition, Actie introduces a novel state management system, designed to be transparent to developers while improving performance. This mechanism leverages the local memory of serverless functions to create a caching layer, thereby reducing data access and persistence latency. To validate our concept, we implemented Actie on Apache OpenWhisk, a well-known open-source serverless platform. This practical showcase proves the framework’s effectiveness in real-world scenarios. When compared to traditional serverless implementations, Actie demonstrates notable improvements in terms of development complexity and runtime performance, highlighting its potential to contribute to serverless computing advance.
L'avvento del serverless computing ha trasformato il mondo dello sviluppo software, diminuendo notevolmente il lavoro necessario per costruire e mantenere le infrastrutture informatiche. Un elemento chiave di questa rivoluzione è il modello Function-as-a-Service (FaaS), apparso nei primi anni 2010 e oggi supportato da numerosi e importanti fornitori di servizi cloud. La popolarita’ del FaaS sta nella possibilita’ data agli sviluppatori di implementare velocemente funzioni scalabili e di facile distribuzione, con costi basati sul numero di invocazioni. Questo lo rende ideale per gestire carichi di lavoro intensi e facilmente parallelizzabili, come quelli nell'ambito dell'Internet of Things e dell'elaborazione dati. Tuttavia, alcune limitazioni intrinseche, come il basso livello di astrazione e la natura stateless, hanno frenato la sua adozione per applicazioni più complesse. Al fine di risolvere questi problemi introduciamo Actie, un framework pensato per semplificare lo sviluppo di applicazioni serverless complesse che necessitano di mantenere uno stato. Il principale contributo di Actie sta nella sua astrazione di programmazione, ispirata al modello degli attori, che rende più intuitivo il design di applicazioni basate sul FaaS. Inoltre, Actie introduce un innovativo sistema di gestione dello stato, pensato per essere trasparente agli sviluppatori e al contempo avere buone prestazioni. Questo sistema utilizza la memoria locale delle funzioni serverless per creare un livello di cache, riducendo in questo modo la latenza nell'accesso e nella persistenza dei dati. Per dimostrare la validità di Actie, abbiamo realizzato una sua implementazione su Apache OpenWhisk, una famosa piattaforma serverless open-source. Questa applicazione pratica conferma l'efficacia del framework in situazioni reali. Confrontando Actie con metodi di sviluppo serverless tradizionali, emerge un miglioramento significativo sia nella complessità dello sviluppo sia nelle prestazioni operative. Questi risultati testimoniano il potenziale di Actie nel contribuire all'evoluzione del serverless computing.
Actie: an actor framework for stateful serverless functions
Merz, Matteo
2022/2023
Abstract
The advent of serverless computing has rapidly transformed the software development landscape by significantly reducing the effort required to build and maintain computing infrastructures. A key player in this transformation is the Function-as-a-Service (FaaS) model, which emerged in the early 2010s and is now supported by many leading cloud providers. FaaS has gained widespread popularity for enabling developers to build scalable, easy-to-deploy functions, billed on a per-invocation basis. This makes it a perfect fit for compute-intensive, highly parallelizable workloads such as Internet of Things and data processing. However, its adoption has been limited by inherent issues such as its low-level abstraction and stateless nature. To address these challenges we present Actie, a framework designed to simplify the development of stateful and complex serverless applications. Actie’s main contribution lies in its programming abstraction, inspired by the actor model, which enhances FaaS-based applications by enabling a more intuitive design. In addition, Actie introduces a novel state management system, designed to be transparent to developers while improving performance. This mechanism leverages the local memory of serverless functions to create a caching layer, thereby reducing data access and persistence latency. To validate our concept, we implemented Actie on Apache OpenWhisk, a well-known open-source serverless platform. This practical showcase proves the framework’s effectiveness in real-world scenarios. When compared to traditional serverless implementations, Actie demonstrates notable improvements in terms of development complexity and runtime performance, highlighting its potential to contribute to serverless computing advance.File | Dimensione | Formato | |
---|---|---|---|
2023_12_Merz_Executive Summary_02.pdf
accessibile in internet per tutti
Dimensione
614.86 kB
Formato
Adobe PDF
|
614.86 kB | Adobe PDF | Visualizza/Apri |
2023_12_Merz_Thesis_01.pdf
accessibile in internet per tutti
Dimensione
3.33 MB
Formato
Adobe PDF
|
3.33 MB | Adobe PDF | Visualizza/Apri |
I documenti in POLITesi sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.
https://hdl.handle.net/10589/215253