Action Engine: An LLM-based Framework for Automatic FaaS Workflow Generation

Akiharu Esashi,Pawissanutt Lertpongrujikorn,Mohsen Amini Salehi
2024-11-29
Abstract:Function as a Service (FaaS) is poised to become the foundation of the next generation of cloud systems due to its inherent advantages in scalability, cost-efficiency, and ease of use. However, challenges such as the need for specialized knowledge and difficulties in building function workflows persist for cloud-native application developers. To overcome these challenges and mitigate the burden of developing FaaS-based applications, in this paper, we propose a mechanism called Action Engine, that makes use of Tool-Augmented Large Language Models (LLMs) at its kernel to interpret human language queries and automates FaaS workflow generation, thereby, reducing the need for specialized expertise and manual design. Action Engine includes modules to identify relevant functions from the FaaS repository and seamlessly manage the data dependency between them, ensuring that the developer's query is processed and resolved. Beyond that, Action Engine can execute the generated workflow by feeding the user-provided parameters. Our evaluations show that Action Engine can generate workflows with up to 20\% higher correctness without developer involvement. We notice that Action Engine can unlock FaaS workflow generation for non-cloud-savvy developers and expedite the development cycles of cloud-native applications.
Distributed, Parallel, and Cluster Computing,Artificial Intelligence,Machine Learning,Software Engineering
What problem does this paper attempt to address?
The problems that this paper attempts to solve mainly focus on the following aspects: 1. **Requirement for Professional Knowledge**: Designing and implementing FaaS workflows requires in - depth understanding of the language and configuration specific to each platform. For example, AWS Step Functions requires familiarity with Amazon States Language (ASL), while Google Cloud Composer requires knowledge of Python and Airflow. These high - threshold learning curves are a significant obstacle for new developers. 2. **Scalability Challenges**: As the function library in an organization grows, it becomes increasingly difficult to effectively manage these functions to avoid redundancy and system flaws. This complexity not only hinders the seamless adoption and expansion of workflows but also affects the flexibility and response speed of the system. 3. **Increased Development Time**: The current development of FaaS workflows is highly dependent on manual coding, which is inefficient in large - scale FaaS libraries, significantly increasing development time and making it difficult to quickly adapt to and respond to new or changed requirements. To solve the above problems, the paper proposes a mechanism named Action Engine. Action Engine utilizes Tool - Augmented Large Language Models (LLMs) to interpret human - language queries and automatically generate FaaS workflows, thereby reducing the need for professional skills and the workload of manual design. Specifically, Action Engine solves these problems in the following ways: - **Automatic Workflow Generation**: Use LLM to parse users' natural - language queries and automatically generate FaaS workflows, reducing the need for human intervention. - **Data - Dependency Management**: Include a module to identify relevant functions and manage the data - dependency relationships between them, ensuring that developers' queries are correctly processed and resolved. - **Platform - Independence**: The generated DAG workflows can be compiled and executed on different FaaS cloud platforms, increasing the flexibility and application scope of the system. Through these methods, Action Engine aims to simplify the development process of FaaS workflows, improve efficiency, and reduce development difficulty, especially for developers without experience in cloud - native application development.