Serverless工作流适用场景及最佳实践_第1页
Serverless工作流适用场景及最佳实践_第2页
Serverless工作流适用场景及最佳实践_第3页
Serverless工作流适用场景及最佳实践_第4页
Serverless工作流适用场景及最佳实践_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、Serverless 工作流适用场景及最佳实践技术创新,变革未来CONTENT1 工作流简介2 Serverless 工作流介绍3 场景应用及最佳实践目录4 总结工作流简介什么是工作流:对工作流程及其各操作步骤之间业务规则的抽象、概括 描述 - 维基百科为什么需要工作流,解决哪些痛点?模板方式定义控制逻辑和任务依赖:减少重复工作,统 一定义标准控制逻辑和任务逻辑解耦:细化责任,便于管理和维护 o 长时间运行的流程:维护任务持久化,任务调度可靠性 o 流程控制中心化,可视化:增强进度可观测性,方便沟通交流保证结果一致性,提高容错性要求:对错误重试,捕获, 执行回滚或补偿逻辑常见的工作流场景视频,

2、音频,图片处理工作流长时间视频分片转码并行多种格式转码审核,人脸识别等耗时操作订单、审批流程数据一致性要求高, 不允许状态、消息丢失对任务失败做重试回滚,补偿逻辑人工介入流程时间跨度大数据处理流水线大数据量,要求最终一致ETL pipelineMap-reduce, Fan-in/Out自动化运维定时或事件驱动回滚,补偿逻辑机器学习流水线基因测序工作流工作流解决方案相似开源软件:Apache AirflowUber CadenceNetflix ConductorFlowable云服务:AWS Step FunctionsAWS Simple Workflow ServiceAzure Dur

3、able FunctionsAzure Logic AppsCONTENT1 工作流简介2 Serverless 工作流介绍3 场景应用及最佳实践目录4 总结Serverless 工作流 (原函数工作流 FnF)全托管阿里云服务完善的工作流功能任务,顺序,分支,并行,动态并行,选择,循环子流程,回调 (callback)分布式工作节点,任务类型函数计算 FunctionMNS 队列,主题通过函数触达任意云服务自建工作节点 (ECS, on-premise)Serverless免运维Pay-as-you-go,按照步骤转换计费自动弹性伸缩Serverless 工作流 (原函数工作流 FnF)正式

4、商业化新功能MNS 主题原生支持子流程ListExecutions 支持 status 过滤Context 对象控制台应用中心ExecutionTime 云监控指标CONTENT1 工作流简介2 Serverless 工作流介绍3 场景应用及最佳实践目录4 总结Serverless 工作流适用场景通用工作流场景视频,音频,图片处理工作流数据处理流水线 o 订单、审批流程 o 机器学习流水线 o 自动化运维FC 函数编排顺序,并行,选择调用函数拆分长时间函数,突破 FC 时间限制对函数错误 try/catch, retry场景1 视频处理对工作流有强依赖:多步骤耗时长有容错性需求Serverle

5、ss流量波动大,波峰波谷明显Pay-as-you-go灵活自定义工作节点函数计算 (FC)视频点播 (VOD),媒体处理 (MPS)自建节点(ECS, On-premise)场景2 数据处理流水线具体案例:OSS 数据批量处理,跨区域,跨 bucket 备份容灾Mysql/MongoDB/TableStore 数据同步离线大数据 ETL 流水线流式解压 OSS 大压缩包场景需求和 Serverless 工作流解决方案:执行时间长:最长支持 1 年弹性,成本要求高:Serverless 弹性伸缩,不为闲置付费要求最终一致:retry, try/catch,状态和消息的持久化使 流水线保证数据最终

6、同步定时触发:FC 定时触发器场景3 订单、审批流程具体案例:电商,出游行程等订单自动,人工审批场景需求和 Serverless 工作流解决方案:数据一致性要求高:状态和消息的持久化使流水线保证数 据最终同步。try/catch 可靠支持回滚和补偿逻辑(SAGA 模式)多网络环境自动化:消息队列通知 + 回调需要人工介入:通知处理人员,审批后回调服务多步骤,分布式:支持函数计算,MSN 队列,主题,自 定义任务节点执行时间长:最长支持 1 年场景4 自动化运维具体案例:ECS 镜像,云盘快照构建云盘跨 region 备份容灾定制化运维需求,上下线 ECS 实例等场景需求和 Serverless

7、 工作流解决方案:定时运维任务:FC 定时触发 Serverless 工作流执行时间长:最长支持 1 年需求运维逻辑灵活:FDL 相比于指定依赖的 DAG 更加灵 活,支持深度自定义运维低成本,高资源利用率:Serverless 计费模型,按使用量(步骤转换数)收费,不为闲置资源付费场景5 机器学习流水线:具体案例:训练数据 ETL 流水线构建,训练,部署形成 ML 反馈回路场景需求和 Serverless 工作流解决方案执行时间长:最长支持 1 年需要人工介入:通知 + 回调可靠性要求高:try/catch, retry 等功能支持流 水线回滚,实现补偿逻辑FC 函数编排最佳实践Statef

8、ul 函数:函数执行持久化,保证消息不丢失轻代码,简化编程:串联多个函数,并行(动态)调 用多个函数,fan-in/fan-out标准化分支逻辑:根据输入输出选择下一步动作提高容错性:对函数失败自定义重试或捕获实施补偿 逻辑突破执行时间执行:流程可最长执行一年解耦控制逻辑和任务逻辑:鼓励每个函数单一责任原 则 (single responsibility)控制逻辑,流程进度可视化:简化开发,沟通成本单体函数 (Monolithic functions)适用场景:要求延迟最优代码和责任结构简单的应用无状态(Stateless)业务主函数执行时间短(数秒内完成,最长不超过 10 分钟)不关心部分失

9、败带来的影响,重新执行主函数不会影响系统局限性:不适合有状态,不能容忍部分失败的关键业务流程主函数大部分时间花在等待其它函数返回,产生额外成本。多个函数内存需要累加取最大值。产生额外成本单体函数不便于多人协作,敏捷开发上线函数编排 (Function orchestration)局限性:不适合长时间流程执行主函数大部分时间花在等待其它函数返回,产生额外成本不适合有状态,不能容忍部分失败的关键业务流程适用场景:要求延迟较低团队敏捷开发部署无状态(Stateless)业务主函数执行时间短(数秒内完成,最长不超过 10 分钟)不关心部分失败带来的影响,重新执行主函数不会影响系统事件触发点对点调用(C

10、horeography)局限性:不适用执行时间段,延迟要求高的同步调用较难支持等待多个事件触发一个函数的场景 (Fan-In)无法跟踪查询流程状态无法限制单个函数和整个流程执行时间无法针对函数执行错误自定义重试策略适用场景:对容错性,重试有一定要求可以容忍调用间 100ms 级别延迟一个事件触发一个或者多个函数 (Fan-Out)无需观测流程执行进度异步,无需等待被调用函数返回结果长时间执行的流程Serverless 工作流编排(Workflow Orchestration)局限性:不适用于执行时间短,极低延迟要求高的同步调用适用场景:数据一致性要求高,可以自定义重试,异常处理,实施补偿逻辑可

11、以容忍调用间 100ms 级别延迟一个事件触发一个或者多个函数 (Fan-Out)等待多个并行函数结果触发下一个函数 (Fan-In)需要观测流程执行进度异步,无需等待被调用函数返回结果长时间执行的流程FC 函数编排最佳实践协调方式函数调用方式成本 (CU-s)最大执行时长可观测性转换延迟容错性开发难度可维护性单体同步5010 分钟中低低,最高重试 10分钟容易低FC 函数编排同步22.510 分钟中中低,最高重试 10 分钟容易高事件触发,点对点触发异步20.5无限低高中,FC 默认异步重试 3 次难高Serverless 工作流编排异步20.5无限高高高,自定义重试中高CONTENT1 工作流简介2 Serverless 工作流介绍目录4 总结3 场景应用及最佳实践总结 Serverless 工作流适用场景:视频处理工作流数据流水线订单,审批流程自动化运维机器学习流水线关注痛点:关键业务流程,需要使用数据库、队列等实 现状态持久化,保证数据一致性异步,执行时间长流程描述,和执行监控缺少可视化控制逻辑和任务逻辑耦合总结 - FC 函数编排

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论