FaasFlows: an approach for reducing vendor lock-in and response time in serverless workflows
摘要
Serverless computing is an execution model in the cloud computing domain that provides resources for computational requirements. Serverless workflows are a type of serverless computing, in which a hierarchy of functions is called. These event-driven systems automatically execute sequences of functions. Although this type of computing has its advantages, it also has challenges, such as vendor lock-in and extra associated costs. The vendor lock-in challenge refers to the complex and expensive migration of a developer application to another platform. So far, few studies have considered the challenges of vendor lock-in in such systems. In this research, two methods are provided to deal with the challenge of vendor lock-in and the flexibility of the developer’s platform migration, significantly improving programs’ performance in a micro-service architecture. The first proposed approach is an algorithm called function cluster migration. It automatically selects and transfers more connected functions by examining the structure of the directed acyclic graph (DAG) and edge weights. The evaluation experiments improve the average functions’ response time by 59%. The second method involves redirecting requests to the nearest function. This algorithm was used to minimize the execution time of each function. Using the proposed method, the platform processed 33% more requests and the average response time was reduced by 50%. Because of the decrease in the execution time of the functions in pods, CPU usage decreased by 57%, and the number of extended pods was halved. The proposed method reduced the number of function code lines written by the developer by 53%. This is because the request management is handled by the platform instead of the developer.