Function composition in function-as-a-service platforms - Costa, Bernardo José Mateus (2023)
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.