Serverless工作流来了!
技术干货4月,阿里云Serverless工作流正式商业化,这是一款用于协调多个分布式任务执行的全托管 Serverless 云服务。产品致力于简化开发和运行业务流程所需要的任务协调、状态管理以及错误处理等繁琐工作,让用户聚焦业务逻辑开发。
精准打造云上自动生产线,Serverless工作流正式商用
工作流是一种非常常见的场景,比如企业内部审批、采购订单、ETL等日常企业事务,或者大数据处理流水线,常规或定制化自动化运维等。此外,音视频行业的多媒体文件分片转码、格式转换、审核校验和人脸识别等长时任务,电商旅游行业的客户线上订单,AI行业的机器学习流水线, 生信行业的基因测序工作流。
这些场景面临着以下难点:一般由众多异步分布式任务组成,控制逻辑和任务逻辑交织在一起,流程复杂冗长;分布式任务可能跨越公共云和本地机房,安全的打通网络代价很大;整个工作流执行完毕耗时过长,造成资源占用的浪费;涉及异步且关键业务流程,务必保证数据一致性;繁复的执行步骤如何进行可视化监控等等。
Serverless工作流正式针对这些痛点,分离控制逻辑与任务逻辑,细化责任,便于管理和维护; 将流程以模版方式统一定义控制,简化编排,通过串联或并行等多种方式编排任务;支持函数,队列,云服务等多种任务类型,打通公共云和企业内网;支持最长1年的执行任务,但却采用Serverless计费模型, 按需付费;动态调用并发函数,保持状态和消息的持久化,信息不丢失且最终同步,提高容错性,自动处理异常;流程进度可视化,历史执行可追溯性等等。
助力图森未来,自动化数据处理平台, 让一切简单可靠
图森未来是一家专注于L4级别无人驾驶卡车技术研发与应用的人工智能企业,面向全球提供可大规模商业化运营的无人驾驶卡车技术,为全球物流运输行业赋能。目前已完成D轮融资,估值超过10亿美元。无人驾驶技术研发依赖大量的路测试验数据积累,而高效进行路测、快速对路测数据进行处理来指导模型的更新迭代是这类场景的核心诉求。
路测过程中会有大量数据产生,而对这些数据的处理流程则复杂多变,即使对于同一批数据,不同的业务小组也会有不同的使用及处理方式。如何有效管理不同的数据处理流程、降低人为介入频率能够大幅的提高生产效率。
路测不定时运行的特点使得流程编排任务运行时间点、运行时长具有极大的不确定性,本地机房独自建立流程管理系统难以最大优化机器利用率,造成资源浪费。而图森未来本地已有许多单元化业务处理脚本及应用程序,但因为各种限制而无法全量的迁移上云,这也对如何合理化使用云上服务带来了挑战。
另外,由于处理流程的步骤繁多,不同任务间的数据共享变得十分重要。任务之间在相互依赖的情况下,非常考验系统可靠性。因此,对于复杂流程的步骤间的状态及数据管理也是业务所面临的一项挑战。
针对上述情况,图森未来开始探索数据处理平台的自动化。阿里云 Serverless 工作流按执行调度的次数计费,具有易用易集成、运维简单等诸多优点,能够很好的解决上述场景中所遇到的问题,非常适合这类不定时运行的离线任务场景。Serverless 工作流还支持编排本地或自建机房的任务,图森未来通过使用 Serverless 工作流原生支持的消息服务MNS解决了云上云下的数据打通问题,使得本地的原有任务得到很好的编排及管理。
除了调度外,Serverless 工作流也支持对任务的状态及执行过程中所产生的数据进行维护。图森未来通过使用任务的输入输出映射及状态汇报机制,高效的管理了流程中各任务的生命周期及相互间的数据传递。
在未来,随着业务规模的扩大,图森未来将持续优化离线大数据处理流程的运行效率及自动化水平。通过各种探索,图森未来将进一步提升工程团队的效率,将更多的精力和资金投入到业务创新中去。
Serverless工作流更多应用场景
各个公司会有如下的一些典型工作流场景。这里简单介绍三个典型应用:
订单流程审批,可支持1年执行时长
对于电商、旅行行业的订单,或者企业内部的日常各类申请, 从下发到生效都要经过多个环节,需要跨公司办公网络和公共云的多网络环境,途径多个环节的多步骤分布式,可能涉及人工介入,最终数据确保强一致性。目前Serverless工作流默认的支持最长 1 年的执行,以及并行触发 1 万个流程。
多媒体文件处理,降低失败率、提升吞吐量
Serverless工作流同样适用多任务编排,比如多媒体文件如转码、截帧、人脸识别、语音识别、审核上传等各类处理。用户可以编排成一个完整的处理流程,通过函数计算提交媒体处理(IMM)任务(或自建处理器),产出一个符合业务需求的输出。各任务的执行错误异常可以被可靠的重试,大大提升多媒体任务处理吞吐量。
对于视频点播、 视频转码等重度依赖算力的任务如果采用Serverless方式搭建,将函数计算和Serverless工作流组合使用,仅需3人天便可上线落地。
自动化运维,流程进度可视化跟进
自动化运维常见有步骤繁琐时间长短不一,单机脚本可靠性低,依赖复杂等常见的挑战,另外进度无法可视化。Serverless 工作流+函数计算的流程可以很好地应对这些挑战。例如软件自动化部署从构建Docker容器,上传容器镜像,开始并追踪各节点下拉镜像并启动新版本镜像的容器,每一步函数产生的日志会被保存到日志服务可供查询分享。基于工作流的自动化工具相比单机运维脚本具有高可用,自带错误处理机制和进度图形化的特点。
"Serverless 工作流是阿里云 Serverless 产品体系中的关键一环。" 阿里云 Serverless产品负责人杨皓然表示,“ 通过 Serverless 工作流,用户能够将函数计算、视觉智能平台等多个阿里云服务,或者自建的服务,以简单直观的方式编排为工作流,迅速构建弹性高可用的云原生应用。
”据悉,阿里云在2017年推出函数计算, 该服务根据应用负载变化实时智能地弹性扩缩容,1分钟完成上万实例的伸缩并保证稳定的延时。目前已经支撑微博、芒果TV、华大基因、图森未来、石墨科技等用户的关键应用,轻松应对业务洪峰。
来源:oschina
链接:https://my.oschina.net/u/4340703/blog/3515215