Serverless Computing Platforms with Customizable Load Balancers

De Palma, Giuseppe (2020) Serverless Computing Platforms with Customizable Load Balancers. [Laurea magistrale], Università di Bologna, Corso di Studio in Informatica [LM-DM270], Documento ad accesso riservato.
Documenti full-text disponibili:
[img] Documento PDF (Thesis)
Full-text accessibile solo agli utenti istituzionali dell'Ateneo
Disponibile con Licenza: Salvo eventuali più ampie autorizzazioni dell'autore, la tesi può essere liberamente consultata e può essere effettuato il salvataggio e la stampa di una copia per fini strettamente personali di studio, di ricerca e di insegnamento, con espresso divieto di qualunque utilizzo direttamente o indirettamente commerciale. Ogni altro diritto sul materiale è riservato

Download (1MB) | Contatta l'autore


Serverless computing is a paradigm where programmers write and compose stateless functions, leaving to Serverless infrastructure providers the duty to manage their deployment and scaling. Although the convenience of being relieved from handling the infrastructure and scaling is very appealing, there can be situations where it becomes a trade-off with efficiency. In this work we discuss several factors that current offerings don't take into account, but have an impact on efficiency and efficacy. When an inbound request to execute a function reaches the infrastructure of a provider, the latter needs to decide on which of its available computation nodes it should schedule the function. One way to improve serverless scheduling is through data locality. Intuitively, functions that access and elaborate data are faster to execute when scheduled on nodes near the data. Furthermore developers can have more control on the single nodes with self managed clusters, and can apply further optimizations for the different kind of resources to improve performance. In this work we present an extension of OpenWhisk, an open source project for serverless computing. It allows a more fine-grained control over function's scheduling. This extension provides developers with a declarative language they can use to specify priority policies for their functions. The scheduler uses those policies to find the node that best fits the constraints specified by the developer for a given function. We demonstrate the impact of data locality in a hybrid cluster context, where nodes were part of different local networks far from each other and we describe an use-case combining IoT, Edge and Cloud Computing architectures showing that we can capture the needs of different execution platforms. It is also useful to demonstrate that in such cases it is not needed to have specifically-designed platforms to host Serverless functions.

Tipologia del documento
Tesi di laurea (Laurea magistrale)
Autore della tesi
De Palma, Giuseppe
Relatore della tesi
Correlatore della tesi
Corso di studio
Ordinamento Cds
Parole chiave
Serverless,Cloud Computing,Apache OpenWhisk,Load Balancer,Scheduler,Scala,Custom Scheduling,Kubernetes,Docker,Server,Cluster
Data di discussione della Tesi
27 Maggio 2020

Altri metadati

Statistica sui download

Gestione del documento: Visualizza il documento