简介:函数计算作为事件驱动的全托管计算服务,其执行模式天生就与这类 Job 场景十分符合,对上述痛点进行了全方面的反对,助力“工作”的无服务器上云。
作者:冯一博
工作(Jobs),是互联网服务的一种常见场景。在诸如 AI 训练、直播(视频转码)、数据荡涤(ETL)、定时巡检等场景下,工作平台是否反对疾速的高并发工作启动性能、提供较高的离线计算资源利用率以及丰盛的上下游生态是这类场景的外围痛点。函数计算作为事件驱动的全托管计算服务,其执行模式天生就与这类 Job 场景十分符合,对上述痛点进行了全方面的反对,助力“工作”的无服务器上云。
函数计算和 Serverless Jobs
“Job”零碎应具备什么能力?
在上述的“Job”场景中,一个工作解决零碎应该具备以下能力:
- 工作触发:反对灵便的工作触发形式。如反对客户端手动触发,反对事件源触发,反对定时触发等;
- 工作编排:可能编排简单工作流程,治理子工作之间关系,如分支、并行、循环等逻辑;
- 任务调度及状态治理:调度工作优先级,多租隔离及工作状态治理,反对多种工作并发度、限流;可能治理工作状态,管制工作的执行等;
- 资源调度:解决工作的运行资源问题。这外面包含多种运行时反对,计算资源冷启动提早管制,在 / 离线工作混部,最终目标是使得零碎具备较高的资源利用率;
- 工作可观测性:工作执行历史的查看、审计;工作的执行日志;
- 任务调度零碎上下游生态:任务调度零碎能够天然接入上下游零碎。比方与 Kafka/ETL 生态、音讯生态等集成的能力。
阿里云函数计算 Serverless Job
函数计算 Jobs 能力全景图如下图所示:
图一:函数计算 Jobs 能力全景图
业界常见任务调度零碎 Job 能力比照
表一:常见任务调度零碎能力比照
在广泛状况下,像诸如一些云厂商的批量计算产品、开源的 K8s Jobs 等任务调度零碎反对的最小粒度个别是按实例级别扩缩容,并且不具备大规模工作(编排)治理的能力,因而比拟实用于低并发、重负载、超长时运行的业务(如基因计算、大规模机器学习训练)等;而一些开源流程执行引擎、大数据处理系统的任务调度往往短少弹性、多租隔离、高并发治理及可视化等一系列能力。函数计算作为免运维的 Serverless 平台,很好的联合了上述不同零碎的长处,另外 Serverless 先天的弹性能力很好的反对了工作中普遍存在的高并发波峰波谷场景的需要。
举荐最佳实际 & 客户案例
AI 训练 & 推理
场景的外围诉求:
- 同时反对实时推理 + 离线训练,实时推理对冷启动有要求;
- 有显著的波峰波谷,计算量大,须要高并发,计算实例间根本不须要协同;
个别须要容器镜像运行自定义库进行训练。
案例 1:网易云音乐 – 音视频解决平台
网易云音乐的音乐“发现”和“分享”性能依赖对音乐进行根底特征分析及提取。在运行这类举荐算法及数据分析时,须要依赖十分大的算力对音乐原始文件进行解决。网易云音乐音视频离线解决平台在经验了 异步解决模式 - 优先及队列优化 – 算法集群虚拟化 – 算法镜像框架化 – 云原生化 这一系列演进后,抉择了函数计算作为视频平台的基础设施,无效解决了不断扩大的计算规模所带来的的难以运维、弹性差等问题。
案例 2:数据库自治服务 – 数据库巡检平台
阿里云团体外部的数据库巡检平台次要用于对 sql 语句的查问、日志等进行优化剖析。整个平台工作分为离线训练及在线剖析两类次要工作,其中在线剖析业务的的计算规模达到了上万核,离线业务的每日执行时长也在 百万 h。因为在线剖析、离线训练工夫上的不确定性,很难进步集群整体资源利用率,并且在业务顶峰来时须要极大的弹性算力反对。业务最初应用函数计算构建了数据库巡检平台,满足日常的 AI 在线推理及模型的离线训练任务。
案例 3:分众传媒 – Serverless 图片解决业务
在广告业务中,运行深度学习算法进行图片解决、比对、辨认是比拟常见的业务,这类业务往往具备数据起源多样、单实例解决工夫不确定、波峰波谷显著、工作可观测要求低等个性。采纳自购机器运行服务岂但须要思考机器的运维及资源利用率问题,还比拟难以适配多种多样的图片源,难以做到服务的疾速上线。
函数计算的多种事件源触发反对为这类业务提供了极大的便当。分众传媒采纳 OSS/MNS 触发器触发函数计算,解决数据源多样的问题。用户的图片数据能够上传至 OSS 或者 MNS,对应的触发器则会间接触发函数计算来实现图片解决工作,函数计算的弹性及按量付费模式解决了资源使用率及机器运维的懊恼。在可观测性方面,工作解决实例应用了有状态异步调用模式,对于任何已触发的工作做到了可追溯的能力,不便业务对于执行失败的工作进行排查及重试。
视频转码 & 直播推流 & 录播转直播
直播转录 / 录播转直播业务往往同时具备业务的实时性、业务的不定时不定量的特点:
- 要求直播同时可能随时拉起解决实例,随时进行转录实例;
- 业务顶峰的时间段集中在日间的几个小时,夜间简直没有业务申请。因而资源的利用率和老本是次要思考的因素。
对于视频转码场景除个别的弹性诉求外,往往还对资源规格(CPU)的灵活性有要求,以期待获取更高的资源利用率。如:
- 资源规格:因为转码输入码率的不同,出于老本思考,心愿可能灵便弹起不同规格的资源;
- 运行工夫随机性。因为须要进步转码效率,往往会对视频进行分片解决,因而工作来的霎时可能须要很高的实例数;
- 为了进步转码效率,可能进行分片后别离解决,波及到多函数间共享数据;
- 须要容器镜像形式来运行一些本身的库,并且往往对疾速启动;
- 因为转码的离线业务属性,工作完结后还须要留存肯定的工作记录以便后续审计、问题排查等需要。
案例 1:新东方 – 云教室零碎 Serverless 视频解决平台
新东方云教室零碎反对了视频直播、转码、点播等新东方所有在线教育场景。随着业务量的增大,因为直播转录及视频转码工作解决平台具备显著的波峰波谷个性,自建机房较低的资源利用率成为了业务的外围痛点。为了进步整体的资源利用率,云教室零碎上述性能应用了函数计算,能够依据业务特点灵便抉择计算资源的规格,毫秒级冷启动性能以及 “pay as you go” 的付费模式也使得整体的计算资源的利用率十分高,在满足波峰算力的同时让整个零碎领有最低的老本。
在进行业务场景的 serverless 化的过程中,云教室零碎应用了阿里云函数计算有状态调用模式。这种模式也是专为 Job 场景打造,可能进行历史记录查问及优雅进行工作的性能。在存储方面,视频临时文件采纳了函数计算 – NAS 计划。新东方通过视频平台的函数调度器可能轮询多个函数服务来进行负载平衡,每个服务通过挂载不同的 NAS,在做到了文件共享的同时进步了函数外部 NAS 长期存储的使用率,进一步升高了资源的应用老本。
案例 2:米连 – 直播视频实时合规审核平台
米连的直播相亲业务波及视频解决的次要工作为视频截帧,在拉流的同时进行视频截帧并上传到指标存储中。这类直播场景因为具备波峰波谷的个性,因而除资源利用率要求外还具备肯定的实时性及长时执行的要求。审核平台最终应用了函数计算反对高弹性及长时算力的能力,无效的撑持了业务场景。
数据处理 & ETL
场景的外围诉求:
- 弹性,高并发的反对。资源按需付费,品种多样,利用率高,免运维;
- 简单流程的编排反对;
- 工作的可观测性能力。
案例:图森将来 – 自动化数据处理平台,让所有简略牢靠
图森将来的无人驾驶技术研发依赖大量的路测试验数据积攒,而高效进行路测、疾速对路测数据进行解决来领导模型的更新迭代是这类场景的外围诉求。而路测不定时运行,数据入库的流程较长,波及多个零碎交互,算力不确定等个性为流程编排工作为数据处理平台带来了较大挑战。
针对上述情况,图森将来摸索数据处理平台的自动化。数据处理平台应用了 Serverless 工作流进行了整体流程的编排,并通过原生反对的音讯服务 MNS 解决了云上云下的数据买通问题。
除调度外,图森将来通过应用工作的输入输出映射及状态汇报机制,高效的治理流程中各工作的生命周期及相互间的数据传递,对流程中工作的状态及执行过程中数据更新进行保护,解决了长时不确定长流程的数据处理需要。image.gif
总结
联合上述案例及剖析,函数计算的弹性、可观测性、队列隔离能力及残缺的事件生态极好的反对了这类工作场景。简略总结次要体现在以下几个方面:
工作的触发
函数计算反对定时触发器、OSS 触发器、各类音讯队列触发器,这为 EDA 架构的应用程序、多种数据起源的数据处理场景提供了丰盛的能力;
工作编排 & 任务调度
函数计算原生被阿里云 Serverless 工作流服务无缝集成,Serverless 工作流反对程序、分支、并行等形式来编排分布式工作,跟踪每个工作的状态转换,并在必要时执行当时定义的重试逻辑。Serverless 工作流 + 函数计算的组合能够很好的反对简单长流程的运行;
- 在资源层面,Serverless 更能体现出其外围劣势:开发免运维,并提供高弹性和高可用性保障。
- 比照自建,应用无服务器架构后,仅须要按理论工作执行的使用量付费,即节俭了老本,也省去了运维的懊恼。函数计算反对多种运行时语言,也反对了运行自定义容器镜像,极大不便了开发调试流程。
在可观测方面,Serverless 工作流和函数计算对多任务流程、单任务流程提供了丰盛的可观测性指标和查问形式,可能便捷的查找历史、观测执行中等工作的指标及日志,不便调试及问题追踪。
在将来,函数计算 – Serverless Jobs 将精耕垂直畛域的工作解决场景,包含提供更长的实例执行工夫、更丰盛的可观测性指标、更弱小的任务调度策略及端对端集成能力,致力于为您提供垂直场景下的“最短门路”,助力业务腾飞。
原文链接
本文为阿里云原创内容,未经容许不得转载。