聚焦业务价值:分众传媒在 Serverless 上的探索和实践

简介:随着业务规模的增长,业务方对后台服务的弹性诉求越来越强怎么办?云原生峰会前线最佳落地实践心得分享:看分众传媒如何借助 Serverless 函数计算提升 80% 开发运维效率,有效降低计算成本~

作者 | 吴松(分众传媒研发总监)

本文总结于分众传媒研发总监吴松在阿里云云原生实战峰会上的分享,从三个方面详细讲述了对 Serverless 技术的探索。

分众传媒的业务现状

分众传媒的业务场景很简单,就是广告主买量,然后进行投放排期和统计,最后进行效果展示。业务场景前期要做广告设计、视频处理,后期还有一个广告投放、效果展示,可能会给客户提供各种各样的数据展示。分众传媒主要的业务形态有静态海报(市场占有率超过 73%),电梯屏幕 30 万块,覆盖 91% 中高档的写字楼。

我们把云原生应用架构应用于手机 APP 和视频终端,而业务应用则有很多,比如员工接入、CRM、视频处理、图片识别、数据上报、数据分析、视频直播。其中,视频直播是新开发的业务,就是为了把直播视频实时推到分众传媒的屏端上。

云服务则用到 SLB、MQDT、转码服务、IoT 等等。先说一下 IoT,我们现在所有屏端都是用的都是阿里云的 IoT 服务。这项服务带来的最大优势是屏端连通率大概可以保持在 95% 左右,这大大提升了团队工作效率。

因为以前我们的屏端都是要人工去插卡上刊,现在接入 IoT 之后,我们的业务量从原来的 50% 提升到了现在的 95%,也就是说,在外面 100 台设备有 95 台设备连网,这可以很好地支撑我们的业务,给我们的技术实现带来了很大的价值。

另外,我们有 200 万个静态的电梯海报,每周都需要上刊,在上刊之后会有图片处理的流程。这块目前使用的是自动识别处理,每次上刊之后需要判断图片是否上错或者图片有没有放反。这一系列操作现在全部可以实时通知到上刊人员,一旦出现上刊之后图片放错、放反的问题,可以及时通过手机短信通知到相关负责人,提醒他们立刻采取措施去解决,保证在一个小时之内完成。

Serverless 的探索实践

传统服务器无法满足我们的业务高速增长,主要有三大痛点。耗时太长、资源利用率低、运维复杂,对人员技能要求高。

  • 耗时太长:以前的人工上刊无法及时知道上刊是否正确或者错误,需要花费很多时间去核对和修改;
  • 资源利用率低:上刊的主要业务是集中在周六和周日,因此所有资源基本在周六周日使用,大部分时间段是不需要使用服务器资源的;
  • 运维复杂、人员技能要求高:大家都会遇到的常规痛点,由于业务的复杂度对相关业务人员的技能要求也高,同时也需要招聘更高级的人员来支持对应的运维工作。

于是,对于我们来说,上云有两个选择。第一个是用 K8s 服务自己搭建一套容器集群,第二个是用函数计算 FC。那我们是如何选择的呢?

在选择 Serverless 时,其实我们也有一些担忧。第一是大规模的实践案例,第二是图象识别的算法往往很大,函数计算 FC 能否适用?第三,FC 最高规格只能支持 2C3GB,这对我们业务有很大的考验。第四,是否可以提供 CPU 使用和内存使用的监控等等。这些都是我们很担忧的一些问题。

K8s 和 Serverless 运行原理的差异大家可以从上图中看到,如果用 K8s 请求云主机,我们需要自己搭建 K8s,通过对外的 API 来提供请求;而使用 Serverless 计算平台,我们不需要关心用了多少服务器或者多少人力,我们只需要关心每一次 API 请求是否正确到达和触达,就可以确认每次的图象识别是否有确切识别到图片,并把识别错误的东西发出来,通知到上刊人员。

因此我们最后选择了函数计算,因为它有以下 3 个突出优势:

  • 自动弹性收缩:比如只需要告诉他每周六每周日有两百万处理量,要在两天完成,其中高峰是早上九到十点或者下午三到四点,就可以实现资源的自动弹性收缩;
  • 资源免运维:解决我们需要请专业人员来负责支持运维的痛点;
  • 可提供大规模的识别能力:当我们请求每天上刊人员在早上六点、七点、八点上刊时,背后能够实时的,在固定时间提供算力;

我们用到很多开发语言,例如 PHP、C++、Python,如果用 K8s 去改造,难度很大。但如果用 Serverless,改造成本就小很多。

我们在图片识别系统进行了的初步试水,就是刚才说的我们分众有两百万电梯海报,每周上刊需要每张图片精准送达。所以说我们在上线图片识别系统时,每一张图片都会上传 OSS,通过 OSS 打通我们 MNS 服务,再把消息发送到函数计算 FC,然后再对消息进行处理,之后就可以对图片进行加水印、图象识别、图片匹配了,从而可以精准地告诉正在上刊的工人,你的图片上刊成功了,可以上刊下一张图片了。

在这个业务峰值图上可以看到,FC 支持一分钟内扩充到 7000+ 的实例。如果我们自己部署 K8s 会牵扯到很多人力和物力,因此我们最终选择了 Serverless。

All On Serverless 化繁为简

2021 年年底我们对 Serverless 进行了业务升级。以前服务是在 NAS 上,这会导致我们们必须实时关注 NAS 有没有挂掉,因为 NAS 挂掉的话,FC 业务就启动不起来了。比如我们周末排查业务时发现 NAS 挂掉了,导致算法接不进这类问题。于是,我们对服务端就进行了升级,把业务放在容器里,通过镜像来部署,这样可以提高缓存,解决很大的高峰时的业务问题,镜像启动比以前通过 NAS 挂载要快很多,这是对业务提升最大的地方。

升级后的 Serverless 提供了丰富的监控指标提升监控效率,提升了很多错误统计、CPU 效率等指标,可以基于监控数据快速定位到现在业务运行状态。

通过 Serverless 的实践,可以让我们的开发更关注到业务开发里,比如可以让图象识别的开发人员更关注图象识别的识别率,把更多运维工作交给 FC 去处理,所以说 Serverless 给我们提供了极致弹性、自动扩容、应对流量突增、让开发更加关注业务等益处。

我们用了 Serverless 之后,可以看到团队的开发运维效率提升了 80%,计算成本下降了 50%。以前我们会部署很多的服务器,以及 GPU 服务器去实现我们的图像算法的一块业务,现在我们都不用了,弹性效果提升了十倍以上。

总结和思考

我们现在将 Serverless 主要应用于图象识别算法上,他具有 CPU 密集型、对弹性有极致要求的特点。此外,Serverless 也适用于事件驱动的业务模型,来简化架构复杂度,从而不需要关注背后的东西。如果用 K8s,这会牵扯到很多的业务逻辑。

后续,我们还会考虑将 Serverless 和 Kafka 进行结合,用在大数据的处理上,这样的效率会更的,简化Flink的使用成本。视频直播业务上,直播流实时推送到视频终端的部分,也是我们尝试使用 Serverless 来解决。

微服务方面,我们也正在考虑另一款 Serverless 形态的产品——Serverless 应用引擎 SAE,来简化我们的运维、提高效率,值得期待。

原文链接

本文为阿里云原创内容,未经允许不得转载。 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/510998.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

当Unity实时3D引擎遇上AI虚实交互,Unity要成为元宇宙时代的新引擎

游戏引擎巨头Unity,还在为蔚来、小鹏、理想等14家车厂提供智能座舱等解决方案,以及为香港机场、北京城建、海尔卡奥斯提供数字孪生方案。实时3D引擎,也将是元宇宙时代的核心支撑。 编辑 | 宋慧 出品 | CSDN AI 领域的年度盛会——2022世界人…

告警运维中心|构建高效精准的告警协同处理体系

简介:基于报告,ARMS 能快速的整合上下文,包括 Prometheus 监控进行监控。还有前端监控的相关数据,都会整合到报告里面,进行全方位检测来收敛相关问题。 作者:延福 在开始正式内容前,我想跟大家…

数字人技术在直播场景下的应用

作者 | 薄志浩本文介绍了在数字人AI技术发展迅猛,整体AI数字人市场呈现高速增长的趋势下,与强调高实时性互动的直播业务场景的结合与应用,通过数字人渲染技术、强大的AI全栈能力、算力为虚拟主播赋能,在面部表情、肢体动作、问答对…

如何帮助业务丝滑配置?阿里巴巴用了 11 年的“功能开关” 是什么?

简介:AHAS 功能开关是一个轻量级的动态配置框架,通过功能开关可以动态管理代码中的配置项,根据需求为某个应用开启或关闭部分功能,或设置某个性能指标的阈值。功能开关通常用于设置黑白名单、运行时动态调整日志级别、降级业务功能…

摆脱 AI 生产“小作坊”:如何基于 Kubernetes 构建云原生 AI 平台

简介:本文将介绍和梳理我们对云原生 AI 这个新领域的思考和定位,介绍云原生 AI 套件产品的核心场景、架构和主要能力。 作者:张凯 前言 云原生(Cloud Native)[1]是云计算领域过去 5 年发展最快、关注度最高的方向之一…

Node 之父斥责 Oracle:你们也不用,那请交出 JavaScript 商标!

整理 | 苏宓出品 | CSDN(ID:CSDNnews)也许 13 年前,Oracle 以 74 亿美元收购 Sun Microsystems 公司时,也不会想到自己后续要牵扯到诸多的版权诉讼与投诉的漩涡之中。众所周知,Oracle 在收购 Sun 之后&…

OPLG:新一代云原生可观测最佳实践

简介:OPLG 体系拥有成熟且富有活力的开源社区生态,同时也经过了大量企业生产环境的实践检验,是当下建设新一代云原生统一可观测平台的热门选择。但是,OPLG 只是提供了一个技术体系,如何灵活运用,解决实际问…

EventBridge 集成云服务实践

简介:本篇文章主要向大家分享了通过 EventBridge 如何集成云产品事件源,如何集成云产品事件目标以及通过事件流如何集成消息产品。 作者:李凯(凯易) EvenBridge 集成概述 EventBridge 是阿里云所推出了一款无服务器…

云原生微服务的下一站,微服务引擎 MSE 升级

简介:管好微服务,成为云原生时代的新难题。 管好微服务,成为云原生时代的新难题。 从建好微服务到管好微服务,差的虽是一个字,连接起两边的却需要大量的微服务落地经验。因为软件架构的核心挑战是解决业务快速增长带…

火爆全网的“数字人”,到底是个啥?

作者 | 小枣君来源 | 鲜枣课堂庄子他老人家说过:“人生,就是一场游戏。”对于这场游戏,有些人玩得很嗨,到了结尾不肯退场,总希望无限期玩下去。例如秦始皇,总想着灵丹妙药、长生不死。还有些人呢&#xff0…

阿里云RemoteShuffleService新功能:AQE和流控

简介:阿里云EMR自2020年推出Remote Shuffle Service(RSS)以来,帮助了诸多客户解决Spark作业的性能、稳定性问题,并使得存算分离架构得以实施。为了更方便大家使用和扩展,RSS在2022年初开源,欢迎各路开发者共建。本文将…

OpenSergo 正式开源,多家厂商共建微服务治理规范和实现

简介 OpenSergo,Open 是开放的意思,Sergo 则是取了服务治理两个英文单词 Service Governance 的前部分字母 Ser 和 Go,合起来即是一个开放的服务治理项目。 该项目由阿里云、bilibili、字节跳动,以及 Spring Cloud Alibaba、Nacos…

Linux中常见的网络端口号

在使用计算机或智能手机时,我们使用各种硬件端口,如用于音频、HDMI、Type-c 等的 3.5mm 端口,其用于与硬件外围设备通信。同样,网络端口可以让我们在一台计算机上访问各种网络服务来达到通信的目的。因此,端口被认为是…

如何在云原生混部场景下利用资源配额高效分配集群资源?

简介:由于混部是一个复杂的技术及运维体系,包括 K8s 调度、OS 隔离、可观测性等等各种技术,之前的一篇文章《历经 7 年双 11 实战,阿里巴巴是如何定义云原生混部调度优先级及服务质量的?》,主要聚焦在调度优…

稳定性与高可用保障的工作思路

简介:稳定性与高可用性是老生常谈的两个词。凭借经验和感受我们知道,提高系统的这两项指标,系统会更加健康,产品也会有更好的用户体验。但是如果要给稳定性和高可用性下一个定义该如何表述?稳定性和高可用性这二者又有…

腾讯云数据库自研内核全新升级 新架构比原先性能提升20%

9月16日,腾讯云数据库自研内核TXSQL完成了全新升级。搭载了新一代内核的云数据库在性能上较之前提升超过20%,延迟降低80%。目前,新一代内核TXSQL已应用于腾讯云数据库MySQL、分布式数据库TDSQL、云原生数据库TDSQL-C等多款主流云数据库产品中…

系统性能分析从入门到进阶

简介:本文以系统为中心, 结合日常工作和用例, 由浅入深地介绍了性能分析的一些方法和体会, 希望对想了解系统性能分析的同学有所帮助。 作者 | 勿非 本文以系统为中心, 结合日常工作和用例, 由浅入深地介绍了性能分析的一些方法和体会, 希望对想了解系统性能分析的…

宜搭小技巧|第一时间看到审批进度?消息通知来帮你

简介:「消息通知」自动发送,再也不用担心错过流程审批进度! 今天,宜小搭要申请出差,为了第一时间获取审批进度,他频繁刷新审批页面,这样既麻烦同时也浪费了大量时间,影响其他工作。…

一看即会:Serverless 应用开发的 7 个实战小技巧

简介:干货满满,马住收藏! Serverless 应用开发的 7 个经验心得 作者说:Serverless 架构下的应用开发,与传统架构的应用开发还是有比较大的区别点的,例如天然分布式架构会让很多框架丧失一定的"便利性…

如何使用 Serverless Devs 部署静态网站到函数计算

简介:手把手教你:如何使用 Serverless Devs 部署静态网站到函数计算。 前言 公司经常有一些网站需要发布上线,对比了几款不同的产品后,决定使用阿里云的函数计算(FC)来托管构建出来的静态网站。 FC 弹性实例自带的50…