结合 Node-RED 与 Openwhisk 进行基于模式的复杂 FaaS 工作流开发与执行
软件工程
2022-02-22 v1 分布式、并行与集群计算
摘要
过去 15 年中,现代云计算的发展不断推进应用现代化,强调需将应用重新设计以使用更具分布性和临时性的资源。从最初的 IaaS 和 PaaS 方法,到微服务,再到如今的无服务器模型(尤其是函数即服务(Function as a Service, FaaS)方法),应用开发者面临的新挑战层出不穷。本文提出一个旨在简化应用演进及向新 FaaS 模型迁移的设计与开发环境,其基于广泛使用的开源工具 Node-RED。该环境的目标是为复杂 FaaS 应用实现更友好且抽象的函数与工作流创建。为此,它通过提供一个可扩展、富含模式且由可任意组合的现成可复用功能构成的调色板,规避了当前 FaaS 平台在工作流描述和函数复用上的局限。该环境内嵌无缝的 DevOps 流程,用于生成 FaaS 平台(Openwhisk)的可部署构件(即函数与镜像)。开发者还可使用标注机制,以向部署与运维栈指定多样化的执行选项或管理准则。评估基于若干代表性场景的案例研究,包括基于 Node-RED 运行时创建、注册和执行函数与流,将既有遗留代码嵌入 FaaS 环境,并行化工作负载,在边缘收集数据,以及创建伴随应用的函数编排器。对于后者,我们详细论证了为何该过程不应受 FaaS 的“双重计费”原则约束。
引用
@article{arxiv.2202.09683,
title = {Combining Node-RED and Openwhisk for Pattern-based Development and Execution of Complex FaaS Workflows},
author = {George Kousiouris and Szymon Ambroziak and Domenico Costantino and Stylianos Tsarsitalidis and Evangelos Boutas and Alessandro Mamelli and Teta Stamati},
journal= {arXiv preprint arXiv:2202.09683},
year = {2022}
}