Serverless工作流(Serverless Workflow)是一个用来协调多个分布式任务执行的全托管云服务。

在Serverless工作流中,您可以用顺序、分支、并行等方式来编排分布式任务,Serverless工作流会按照设定好的步骤可靠地协调任务执行,跟踪每个任务的状态转换,并在必要时执行您定义的重试逻辑,以确保工作流顺利完成。Serverless工作流通过提供日志记录和审计来监视工作流的执行,方便您轻松地诊断和调试应用。Serverless工作流简化了开发和运行业务流程所需要的任务协调、状态管理以及错误处理等繁琐工作,让您聚焦业务逻辑开发。

下图描述了Serverless工作流如何协调分布式任务,这些任务可以是函数、已集成云服务API、运行在虚拟机或容器上的程序。

swf_product1

 

产品优势

  • 协调分布式组件

    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 执行前可自定义执行内容

 

更多推荐