Repository logo
 
No Thumbnail Available
Publication

Function composition in function-as-a-service platforms

Use this identifier to reference this record.
Name:Description:Size:Format: 
BernardoCosta_42165_MEIC.pdf1.82 MBAdobe PDF Download

Abstract(s)

A computação serverless é um paradigma que permite aos programadores um maior foco no desenvolvimento de código, sem a necessidade de gerir a infra-estrutura subjacente. O código é executado a pedido, escala automaticamente, e apenas é cobrado pelo tempo de execução. Composição de funções também conhecido como fluxos de trabalho, e Function-as-a-Service são serviços populares no contexto de serviços de backend serverless. No entanto, muitas vezes exigem que os programadores conheçam os seus requesitios específicos. Isto pode levar a uma elevada dependência do fornecedor, em aplicações com processos de trabalho, devido a especificações dos fluxos de trabalho e requesitos de deployment. Neste trabalho, criamos uma biblioteca de programação designada Omniflow, que visa fazer deploy de composição de funções em diferentes fornecedores da nuvem. A biblioteca proposta tem como objetivo melhorar a produtividade, flexibilidade, e agilidade do desenvolvedor na criação de soluções serverless, em múltiplas plataformas da nuvem, sem a necessidade de instalar software. Para além disso, permite uma maior reutilização de processos de trabalho serverless, sem a necessidade de reescrevê-los, em diferentes fornecedores da nuvem. O Omniflow foi desenvolvido em Kotlin e aplicado em duas grandes plataformas, Amazon e Google. Encontrá-mos algumas limitações, mas a nossa solução consegue traduzir fluxos de trabalho de forma eficiente.
Serverless computing is a paradigm that allows developers to focus on writing code without the need to manage the underlying infrastructure. Code is executed on-demand, automatically scaled, and billed during its execution time. Function-as-a-Service and cloud function composition, also known as cloud workflows, are among the most popular serverless backend services, but they often require developers to meet cloudspecific equirements. This can lead to vendor lock-in issues in workflow applications due to custom workflow specifications and deployment requirements. In this work, we created OmniFlow, a programming library that targets function composition and deployment in different cloud providers. The proposed library aims to improve developer’s productivity, flexibility, and agility when creating serverless solutions, for multiple cloud providers, without requiring the installation of additional software. Our approach enables developers to reuse their serverless workflows in diferente cloud providers without needing to rewrite them. This library was developed in Kotlin and evaluated using two major cloud providers, Amazon and Google. We found some limitations but our solution can translate the workflow definition with a small overhead.

Description

Dissertação para obtenção do Grau de Mestre em Engenharia Informática e de Computadores

Keywords

Computação na nuvem Computação serverless Function-as-a-Service Dependência de fornecedores Composição de funções Orquestração na nuvem Fluxos de trabalho Cloud computing Serverless computing Function-as-a-service Vendor lock-in Function composition Cloud orchestration

Citation

Costa, Bernardo José Mateus, Function composition in function-as-a-service platforms. Lisboa: Instituto Superior de Engenharia de Lisboa, 2023. Dissertação de Mestrado

Research Projects

Organizational Units

Journal Issue