| Nome: | Descrição: | Tamanho: | Formato: | |
|---|---|---|---|---|
| 2.64 MB | Adobe PDF |
Autores
Resumo(s)
Abstract
Serverless computing, particularly Function-as-a-Service (FaaS) platforms, allows developers to focus on the software engineering aspects of their services without managing the underlying infrastructure. These platforms rely on stateless functions that are triggered by events, making them a common choice for workflows and function composition. However, despite their advantages, serverless workflows often require developers to meet provider-specific requirements, leading to portability challenges and vendor lock-in. Previous work has attempted to address these limitations. The QuickFaaS project demonstrated the importance of standardizing function definitions across platforms to create a uniform programming model. Building on this, the OmniFlow project introduced a Domain-Specific Language (DSL) that enables developers to define serverless workflows in a provider-agnostic manner, allowing them to be reused across different cloud environments without modification. This work extends OmniFlow by introducing additional capabilities that enhance serverless workflow execution and function composition. The proposed enhancements include
control flow-based workflow execution for repetitive tasks, enabling the definition of iterations within their workflows without relying on provider-specific construct. In addition, it also introduces support for parallel execution, allowing workflows to scale efficiently. By leveraging parallel processing, serverless applications can execute independent tasks concurrently, improving performance and reducing execution time. Additionally, this research explores cross-cloud function composition, ensuring that workflows can seamlessly integrate functions across multiple cloud providers, to mitigate vendor lock-in and allow developers to optimize performance by leveraging the strengths of different platforms while maintaining a unified workflow definition. The proposed enhancements provide a more flexible, scalable, and portable approach to serverless workflow orchestration, enabling developers to build complex workflows that are not constrained by the limitations of individual cloud providers.
A computação serverless, em particular as plataformas Function-as-a-Service (FaaS), permite que programadores se concentrem nos aspetos de engenharia de software, sem a necessidade de gerir a infraestrutura subjacente. Estas plataformas baseiam-se em funções sem estado desencadeadas por eventos, tornando-as uma escolha comum para fluxos de trabalhos e composição de funções. No entanto, apesar das suas vantagens, fluxos de trabalhos serverless exigem o cumprimento de requisitos específicos de cada fornecedor, levando a desafios de portabilidade e dependências no fornecedor. Trabalhos anteriores tentaram abordar estas limitações, projeto QuickFaaS demonstrou a importância da uniformização da definição de funções entre diferentes plataformas para criar um modelo de programação uniforme. Com base nesse trabalho, o projeto OmniFlow introduziu uma Linguagem Específica de Domínio que permite aos programadores definirem fluxos de trabalhos de forma agnóstica ao fornecedor, possibilitando a sua reutilização em diferentes ambiente cloud sem necessidade de modificação. Este trabalho acrescenta ao OmniFlow capacidades que melhoram a execução de determinados fluxos de trabalhos e composição de funções. As melhorias propostas incluem a execução de fluxos de trabalhos baseados em tarefas repetitivas, permitindo a definição de iterações nos mesmos sem dependerem de construções específicas de cada fornecedor. Além disso, introduz suporte para execução paralela, permitindo os mesmos possam escalar de forma eficiente. Ao aproveitar o processamento paralelo, as aplicações podem executar tarefas independentes em simultâneo, melhorando o desempenho e reduzindo o tempo de execução. Adicionalmente, este trabalho explora composição de funções entre múltiplos fornecedores, garantindo que os fluxos de trabalhos possam ser integrados em diferentes plataformas cloud sem modificação. Esta abordagem contribui para mitigar a dependência de fornecedor e otimização no desempenho aproveitando os pontos fortes de diferentes plataformas, enquanto mantêm uma definição unificada do fluxo de trabalho. As melhorias propostas proporcionam uma abordagem mais flexível, escalável e portátil para a orquestração de fluxos de trabalhos serverless, permitindo a construção de fluxos de trabalhos complexos sem estarem limitados pelas restrições de fornecedores individuais.
A computação serverless, em particular as plataformas Function-as-a-Service (FaaS), permite que programadores se concentrem nos aspetos de engenharia de software, sem a necessidade de gerir a infraestrutura subjacente. Estas plataformas baseiam-se em funções sem estado desencadeadas por eventos, tornando-as uma escolha comum para fluxos de trabalhos e composição de funções. No entanto, apesar das suas vantagens, fluxos de trabalhos serverless exigem o cumprimento de requisitos específicos de cada fornecedor, levando a desafios de portabilidade e dependências no fornecedor. Trabalhos anteriores tentaram abordar estas limitações, projeto QuickFaaS demonstrou a importância da uniformização da definição de funções entre diferentes plataformas para criar um modelo de programação uniforme. Com base nesse trabalho, o projeto OmniFlow introduziu uma Linguagem Específica de Domínio que permite aos programadores definirem fluxos de trabalhos de forma agnóstica ao fornecedor, possibilitando a sua reutilização em diferentes ambiente cloud sem necessidade de modificação. Este trabalho acrescenta ao OmniFlow capacidades que melhoram a execução de determinados fluxos de trabalhos e composição de funções. As melhorias propostas incluem a execução de fluxos de trabalhos baseados em tarefas repetitivas, permitindo a definição de iterações nos mesmos sem dependerem de construções específicas de cada fornecedor. Além disso, introduz suporte para execução paralela, permitindo os mesmos possam escalar de forma eficiente. Ao aproveitar o processamento paralelo, as aplicações podem executar tarefas independentes em simultâneo, melhorando o desempenho e reduzindo o tempo de execução. Adicionalmente, este trabalho explora composição de funções entre múltiplos fornecedores, garantindo que os fluxos de trabalhos possam ser integrados em diferentes plataformas cloud sem modificação. Esta abordagem contribui para mitigar a dependência de fornecedor e otimização no desempenho aproveitando os pontos fortes de diferentes plataformas, enquanto mantêm uma definição unificada do fluxo de trabalho. As melhorias propostas proporcionam uma abordagem mais flexível, escalável e portátil para a orquestração de fluxos de trabalhos serverless, permitindo a construção de fluxos de trabalhos complexos sem estarem limitados pelas restrições de fornecedores individuais.
Descrição
Palavras-chave
FaaS Function composition Cloud-agnostic architecture Composição de funções Arquitetura agnóstica na nuvem
