Serverless 工作流给人工智能带来了哪些变化?

Stella981
• 阅读 786

4月,阿里云 Serverless 工作流正式商业化,这是一款用于协调多个分布式任务执行的全托管 Serverless 云服务。产品致力于简化开发和运行业务流程所需要的任务协调、状态管理以及错误处理等繁琐工作,让用户聚焦业务逻辑开发。

精准打造云上自动生产线,Serverless 工作流正式商用

工作流是一种非常常见的场景,比如企业内部审批、采购订单、ETL等日常企业事务,或者大数据处理流水线,常规或定制化自动化运维等。此外,音视频行业的多媒体文件分片转码、格式转换、审核校验和人脸识别等长时任务,电商旅游行业的客户线上订单,AI 行业的机器学习流水线, 生信行业的基因测序也会有工作流。

这些场景面临着以下难点:一般由众多异步分布式任务组成,控制逻辑和任务逻辑交织在一起,流程复杂冗长;分布式任务可能跨越公共云和本地机房,安全的打通网络代价很大;整个工作流执行完毕耗时过长,造成资源占用的浪费;涉及异步且关键业务流程,务必保证数据一致性;繁复的执行步骤如何进行可视化监控等等。

Serverless工作流正式针对这些痛点,分离控制逻辑与任务逻辑,细化责任,便于管理和维护;将流程以模版方式统一定义控制,简化编排,通过串联或并行等多种方式编排任务;支持函数,队列,云服务等多种任务类型,打通公共云和企业内网;支持最长1年的执行任务,但却采用Serverless计费模型, 按需付费;动态调用并发函数,保持状态和消息的持久化,信息不丢失且最终同步,提高容错性,自动处理异常;流程进度可视化,历史执行可追溯性等等。

Serverless 工作流给人工智能带来了哪些变化?

助力图森未来,自动化数据处理平台, 让一切简单可靠

图森未来是一家专注于L4级别无人驾驶卡车技术研发与应用的人工智能企业,面向全球提供可大规模商业化运营的无人驾驶卡车技术,为全球物流运输行业赋能。目前已完成D轮融资,估值超过10亿美元。无人驾驶技术研发依赖大量的路测试验数据积累,而高效进行路测、快速对路测数据进行处理来指导模型的更新迭代是这类场景的核心诉求。

路测过程中会有大量数据产生,而对这些数据的处理流程则复杂多变,即使对于同一批数据,不同的业务小组也会有不同的使用及处理方式。如何有效管理不同的数据处理流程、降低人为介入频率能够大幅的提高生产效率。

路测不定时运行的特点使得流程编排任务运行时间点、运行时长具有极大的不确定性,本地机房独自建立流程管理系统难以最大优化机器利用率,造成资源浪费。而图森未来本地已有许多单元化业务处理脚本及应用程序,但因为各种限制而无法全量的迁移上云,这也对如何合理化使用云上服务带来了挑战。

另外,由于处理流程的步骤繁多,不同任务间的数据共享变得十分重要。任务之间在相互依赖的情况下,非常考验系统可靠性。因此,对于复杂流程的步骤间的状态及数据管理也是业务所面临的一项挑战。
Serverless 工作流给人工智能带来了哪些变化?

针对上述情况,图森未来开始探索数据处理平台的自动化。阿里云 Serverless 工作流按执行调度的次数计费,具有易用易集成、运维简单等诸多优点,能够很好的解决上述场景中所遇到的问题,非常适合这类不定时运行的离线任务场景。Serverless 工作流还支持编排本地或自建机房的任务,图森未来通过使用 Serverless 工作流原生支持的消息服务MNS解决了云上云下的数据打通问题,使得本地的原有任务得到很好的编排及管理。

除了调度外,Serverless 工作流也支持对任务的状态及执行过程中所产生的数据进行维护。图森未来通过使用任务的输入输出映射及状态汇报机制,高效的管理了流程中各任务的生命周期及相互间的数据传递。

在未来,随着业务规模的扩大,图森未来将持续优化离线大数据处理流程的运行效率及自动化水平。通过各种探索,图森未来将进一步提升工程团队的效率,将更多的精力和资金投入到业务创新中去。

Serverless工作流更多应用场景

Serverless 工作流给人工智能带来了哪些变化?

各个公司会有如下的一些典型工作流场景。这里简单介绍三个典型应用:

订单流程审批,可支持1年执行时长

对于电商、旅行行业的订单,或者企业内部的日常各类申请, 从下发到生效都要经过多个环节,需要跨公司办公网络和公共云的多网络环境,途径多个环节的多步骤分布式,可能涉及人工介入,最终数据确保强一致性。目前 Serverless 工作流默认的支持最长 1 年的执行,以及并行触发 1 万个流程。

Serverless 工作流给人工智能带来了哪些变化?

多媒体文件处理,降低失败率、提升吞吐量

Serverless 工作流同样适用多任务编排,比如多媒体文件如转码、截帧、人脸识别、语音识别、审核上传等各类处理。用户可以编排成一个完整的处理流程,通过函数计算提交媒体处理(IMM)任务(或自建处理器),产出一个符合业务需求的输出。各任务的执行错误异常可以被可靠的重试,大大提升多媒体任务处理吞吐量。

Serverless 工作流给人工智能带来了哪些变化?

对于视频点播、 视频转码等重度依赖算力的任务如果采用 Serverless 方式搭建,将函数计算和 Serverless 工作流组合使用,仅需3人天便可上线落地,

自动化运维,流程进度可视化跟进

自动化运维常见有步骤繁琐时间长短不一,单机脚本可靠性低,依赖复杂等常见的挑战,另外进度无法可视化。Serverless 工作流+函数计算的流程可以很好地应对这些挑战。例如软件自动化部署从构建 Docker 容器,上传容器镜像,开始并追踪各节点下拉镜像并启动新版本镜像的容器,每一步函数产生的日志会被保存到日志服务可供查询分享。基于工作流的自动化工具相比单机运维脚本具有高可用,自带错误处理机制和进度图形化的特点。

Serverless 工作流给人工智能带来了哪些变化?

"Serverless 工作流是阿里云 Serverless 产品体系中的关键一环。" 阿里云 Serverless产品负责人杨皓然表示,“ 通过 Serverless 工作流,用户能够将函数计算、视觉智能平台等多个阿里云服务,或者自建的服务,以简单直观的方式编排为工作流,迅速构建弹性高可用的云原生应用。”

据悉,阿里云在 2017 年推出函数计算, 该服务根据应用负载变化实时智能地弹性扩缩容, 1 分钟完成上万实例的伸缩并保证稳定的延时。目前已经支撑微博、芒果 TV 、华大基因、图森未来、石墨科技等用户的关键应用,轻松应对业务洪峰。

作者信息:冯一博,阿里云 Serverless 工作流、函数计算高级研发工程师。在任务调度、容器集群管理、Serverless 等方向有着较为丰富的实践经验。

原文链接
本文为云栖社区原创内容,未经允许不得转载。

点赞
收藏
评论区
推荐文章
blmius blmius
3年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
皕杰报表之UUID
​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为
待兔 待兔
5个月前
手写Java HashMap源码
HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22
Jacquelyn38 Jacquelyn38
3年前
2020年前端实用代码段,为你的工作保驾护航
有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )
Peter20 Peter20
3年前
mysql中like用法
like的通配符有两种%(百分号):代表零个、一个或者多个字符。\(下划线):代表一个数字或者字符。1\.name以"李"开头wherenamelike'李%'2\.name中包含"云",“云”可以在任何位置wherenamelike'%云%'3\.第二个和第三个字符是0的值wheresalarylike'\00%'4\
Wesley13 Wesley13
3年前
mysql设置时区
mysql设置时区mysql\_query("SETtime\_zone'8:00'")ordie('时区设置失败,请联系管理员!');中国在东8区所以加8方法二:selectcount(user\_id)asdevice,CONVERT\_TZ(FROM\_UNIXTIME(reg\_time),'08:00','0
Wesley13 Wesley13
3年前
00:Java简单了解
浅谈Java之概述Java是SUN(StanfordUniversityNetwork),斯坦福大学网络公司)1995年推出的一门高级编程语言。Java是一种面向Internet的编程语言。随着Java技术在web方面的不断成熟,已经成为Web应用程序的首选开发语言。Java是简单易学,完全面向对象,安全可靠,与平台无关的编程语言。
Stella981 Stella981
3年前
Django中Admin中的一些参数配置
设置在列表中显示的字段,id为django模型默认的主键list_display('id','name','sex','profession','email','qq','phone','status','create_time')设置在列表可编辑字段list_editable
Wesley13 Wesley13
3年前
MySQL部分从库上面因为大量的临时表tmp_table造成慢查询
背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_
Python进阶者 Python进阶者
11个月前
Excel中这日期老是出来00:00:00,怎么用Pandas把这个去除
大家好,我是皮皮。一、前言前几天在Python白银交流群【上海新年人】问了一个Pandas数据筛选的问题。问题如下:这日期老是出来00:00:00,怎么把这个去除。二、实现过程后来【论草莓如何成为冻干莓】给了一个思路和代码如下:pd.toexcel之前把这