Serverless工作流(Serverless Workflow)是一个用来协调多个分布式任务执行的全托管云服务。
在Serverless工作流中,您可以用顺序、分支、并行等方式来编排分布式任务,Serverless工作流会按照设定好的步骤可靠地协调任务执行,跟踪每个任务的状态转换,并在必要时执行您定义的重试逻辑,以确保工作流顺利完成。Serverless工作流通过提供日志记录和审计来监视工作流的执行,方便您轻松地诊断和调试应用。Serverless工作流简化了开发和运行业务流程所需要的任务协调、状态管理以及错误处理等繁琐工作,让您聚焦业务逻辑开发。
下图描述了Serverless工作流如何协调分布式任务,这些任务可以是函数、已集成云服务API、运行在虚拟机或容器上的程序。
产品优势
- 协调分布式组件
Serverless工作流能够编排不同基础架构、不同网络、不同语言编写的应用,抹平混合云、专有云过渡到公共云或者从单体架构演进到微服务架构的落差。
- 减少流程代码量
Serverless工作流提供了丰富的控制逻辑,例如顺序、选择、并行等,让您以更少的代码实现复杂的业务逻辑。
- 提高应用容错性
Serverless工作流为您管理流程状态,内置检查点和回放能力,以确保您的应用程序按照预期逐步执行。错误重试和捕获可以让您灵活的处理错误。
- Serverless
Serverless工作流根据实际执行步骤转换个数收费,执行结束不再收费。Serverless工作流自动扩展让您免于管理硬件预算和扩展。
功能特性
- 服务编排能力
Serverless工作流可以帮助您将流程逻辑与任务执行分开,节省编写编排代码的时间。例如图片经过人脸识别函数后,根据人脸位置剪裁图像,最后发送消息通知您,Serverless工作流提供了一个Serverless的解决方案,降低了您的编排运维成本。
- 协调分布式组件
Serverless工作流能够协调在不同基础架构上、不同网络内,以不同语言编写的应用。应用不管是从私有云/专有云平滑过渡到混合云或公共云,或者从单体架构演进到微服务架构,Serverless工作流都能发挥协调作用。
- 内置错误处理
通过内置错误重试和捕获能力,您可以自动重试失败或超时的任务,对不同类型错误做出不同响应,并定义回退逻辑。
- 可视化监控
Serverless工作流提供可视化界面来定义工作流和查看执行状态。状态包括输入和输出等。方便您快速识别故障位置,并快速排除故障问题。
- 支持长时间运行流程
Serverless工作流可以跟踪整个流程,持续长时间执行确保流程执行完成。有些流程可能要执行几个小时、几天、甚至几个月。例如运维相关的Pipeline和邮件推广流程。
- 流程状态管理
Serverless工作流会管理流程执行中的所有状态,包括跟踪它所处的执行步骤,以及存储在步骤之间的数据传递。您无需自己管理流程状态,也不必将复杂的状态管理构建到任务中。
开始创建阿里云serverless 工作流
1.1 进入阿里云serverless 工作流控制台
1.2 创建一个hello word 基本实例
1.3 可以自定义流程,这里选择默认
1.4 进行阿里云RAM授权
1.5 创建完毕后执行流程进行测试
1.6 执行时可自定义代码段
1.7 可以看到执行结果及步骤信息
二、创建serverless工作流应用
2.1 打开左侧应用中心进行创建
2.2 选择demo进行创建
2.3 填入应用名称
2.4 创建完毕进行流程执行
2.5 执行前可自定义执行内容