腾讯云李啸川:Serverless 化云原生释放云计算效率红利

2021-04-25 17:23:01来源: 热度:

备受关注的Distributed Cloud|2021全球分布式云大会·北京站于4月7日隆重召开,分布式云是2021年全球十大重要战略科技趋势,利用分布式架构技术创新,连接边缘节点、私有云和公有云的IT资源组成分布式混合云。

全球分布式云联盟力求打造分布式云计算旗舰级技术盛会,本次大会共设有分布式云报告会、边缘计算论坛、Serverless云原生论坛、分布式数据库论坛、分布式存储论坛,跨境SD-WAN咨询会等六大论坛,围绕分布式云、分布式算力、Serverless、云原生、HTAP、IPFS等技术与实践展开。联合阿里云、腾讯云、百度云、金山云等全栈技术引领者与全球分布式云联盟携手打造这场技术饕餮盛宴。

在4月7日下午举办的云原生论坛上,腾讯云 Serverless 技术产品专家发表了题为《Serverless 化云原生释放云计算效率红利》的主题演讲。

李啸川,腾讯云 Serverless 技术产品专家,目前负责腾讯云 Serverless 产品及企业解决方案的设计工作,致力于推动云原生技术架构演进及落地,为技术工作者提供高效的云服务产品。十余年技术研发经验,曾就职于 Oracle、IBM,从事于企业级商业套件及云服务引擎研发工作,后切换到消费互联网,孵化小米 MIOT、创立小米有品电商等业务,加入腾讯云之前担任爱奇艺技术总监,业务线技术负责人。

01 面向业务的技术体系关注哪些方面?

首先,通过业务视角来看为什么需要关注 Serverless。这里的业务视角是广义的业务,即满足需求,解决痛点,输出价值。技术对业务的助力可以简单归纳为三个阶段:

迭代原型,验证业务:从零到一,通过技术手段提升业务原型的迭代和验证效率;持续优化,强化业务:在运行效率和工程效率方面不断优化,增强业务的竞争力;构建壁垒,赋能业务:在技术深度方面形成护城河,持续保持业务的差异化优势;

为了更好的支撑业务,在技术体系中我们会关注哪些问题:

稳定性和质量,是业务正常推进的基石;

开发效率,帮助业务争取宝贵的时间,决定了业务能否在赛道中胜出,比如有了新的想法能否快速得到验证;

运行效率,研发同学亘古不变的执着追求,更优化的算法,更优雅的架构,同时也将决定深度和难度;

成本,这里的成本,一方面是资源成本,例如运行服务或系统,需要占用的计算、网络、存储等基础资源的成本。另一方面是时间和人力成本,对于企业来说,尤其是互联网或业务导向的公司,人力成本占企业整体比重较大;

02 Serverless 能够释放哪些红利

从工业界的角度来看,包含四个维度:模块化程度,自动化运维程度,弹性效率,故障恢复能力

从这几个方面可以看出对基础设施层,进行了趋势演进的判断,目前 Serverless 在可以预见的阶段内,是计算平台的一个必然的演进方向,也是目前可预见的最终方向。Serverless 分成两个阶段,第一个阶段是容器化的 Serverless,再下一个阶段是 fPaaS Serverless 的平台。

关于学术界对 Serverless 定义,加州大学伯克利分校于 2009 年曾发表过一篇论文,精准预测了未来 10 年云计算演进的方向,2019 年又发表了一篇论文,预测Serverless 将会成为未来云计算最终的产品形态或服务平台。

腾讯云连续两年举办 ServerlessDays 峰会,2020 年邀请了文章主要作者之一 Johann Schleier-Smith ,给我留下印象最深的观点是,他把云计算分成两个阶段,第一个阶段:简化系统管理,包括虚拟机、容器等,提供可编程的、简化的管理方式,由云平台托管基础设施;下一个阶段:简化开发,开发者只关注核心代码,云平台负责系统管理、运维、架构等等,为开发提供更好的体验,让开发效率得到更大的提升。

在讲解了工业界和学术界的定义之后,我们来对比 Serverless 与传统 Server 的服务方式。

在传统的 Server 金字塔图中,从底层系统的安全、系统资源的调度,到中层的日志、监控、运维,再到上一层的数据、存储,最后金字塔尖的业务逻辑。对于业务开发来说,真正产生价值的就是上金字塔尖这部分业务逻辑的编写,服务于客户,为客户带来价值。下面的部分更多是基础的支撑,从这个角度来说,Serverless 就是解决下面的部分基础设施维护,平台侧承担底层基础部分,给到开发者更少的运维成本和工作量,Less is more,让企业把有效的人力、资源去放到更多产生业务价值的方面。

以业务开发举例,在规划一个项目时,大概有 50% 左右的时间设计整个架构,比如高可用、高并发、可拓展,如何设计架构才能支撑这样的规模,若平台侧来承接这部分工作,能够解放大量的人力和精力。

对于商业模式的改变,在一些典型场景:比如电商秒杀、春晚抢红包,都有瞬时的流量峰值,为了能承接这样瞬时的峰值,需储备巨大的资源,但这部分资源在很长的一段时间内是闲置的状态。

如何解决资源冗余的问题呢?这种商业模式在以往衣食住行各行业早已经落地,只是在计算领域将其复用。早期是自建机房,接着开始租用云主机,最终通过 Serverless 形成按需付费。类比交通,购买汽车,自己负担维护、折旧成本并占用自有时间驾驶;租用汽车,租用期间占用自有时间驾驶且开不开都需要付租金;出租车,按需启动,里程计费。云厂商提供的计算资源,在租用期间拥有使用权。但在租用过程中,会有一部分计算资源的冗余,而通过 Serverless 按需付费,根据实际需求量来申请使用计算服务,达成业务目标后即可终止计算服务,停止计费。

从这个角度来看,Serverless 核心价值可以归纳到三点:

简化运维,能够提供稳定运行环境,支持多场景、弹性伸缩的服务;

更低成本,按需付费,减少冗余资源的计费;

时间效率,通过 Serverless 这种面向事件的编程模式,极大地简化架构设计,简化不同规范、不同标准的团队协作。快速地将业务落地,快速投放到市场做验证。

03 Serverless 落地方式

腾讯云 Serverless 产品矩阵

Serverless HTTP

目前支撑微信小程序开发平台,比较典型还有 Web 应用、API 服务等等。云函数已经支撑微信开发平台超过 100 万的开发者,每天超过 150 亿次调用。

Serverless Trigger

即触发器,由云上各组件定义"事件",通过事件驱动模型触发对函数的调用。

以上两点是轻量的调用和服务,音视频处理和数据处理 ETL 属于重计算场景,进一步细分,可以理解为音视频处理是对于非结构化数据的处理,包括转码、理解,数据处理,ETL 是对结构化数据的处理,包括数据的分析、汇总、 计算。

上面更多的是从应用的视角去看 Serverless 的产品能力,Serverless Framework 和云函数 SCF 是基础产品支撑,云函数是作为新一代计算平台,支撑上一层应用所有的计算需求。

Serverless Framework 是腾讯云和北美 「Serverless.com」这家企业合作的产品,是北美最流行的 Serverless 开发工具。

下面详细介绍下以上产品能力的使用场景:

Serverless HTTP 产品能力

在传统业务模式中,Web 应用和 API Server,首先需要创建计算实例,在计算实例上部署应用服务器,再部署发布代码,完成后通过绑定公网入口连接到服务,形成服务闭环。如果通过 Serverless 来实现,API 网关和云函数天然的集成,只需在函数中编写业务逻辑,如果逻辑较为清晰,几分钟即可完成开发、调试、发布上线,极大地提升了业务迭代效率。

Serverless 触发器

基于云原生的架构,云上的各种组件,例如 COS 对象存储、Ckafka 消息队列中间件、CLS 日志服务等等,当定义的事件被触发后,组件内置触发器将调用云函数来处理对应的业务逻辑。COS 对象存储触发器与函数的长时运行、大规格实例等产品能力就构成了了 Serverless 多媒体解决方案的基础。

Serverless 音视频处理

面向开发者,打造中台服务,主要提供 3 点差异化能力:

算力可配置,通过函数规格显式的选择计算实例大小;

框架 / 编码器可配置,支持部署自研的或者开源的编码器,实现原有转码或音视频处理服务的平滑迁移。

工作流可配置,上下游的产业链、业务流程串联,实现整个业务链条闭环。

在转码基础上,Serverless 云函数提供了更多深度的能力,和腾讯云内部有深度积累的各实验室联合探索了很多解决方案,包括智能审核、画质增强、视频理解、视频编辑等。

针对音视频实时互动,Serverless 云函数也提供了包括一键式触发直播推、直播流旁路录制的后处理、内容的审核、对原内容的增强(实时字幕、实时翻译)等能力的封装。

Serverless 数据 ETL

除了对非结构化数据的一些处理,同样支持对结构化数据 ETL 的处理,通过对公网API、DB、文件存储等多数据源的拉取、大量数据的批处理、加载至目标存储,覆盖到电商、搜索、内容、监测、分析等多个场景。

最后与大家分享下已有企业级的解决方案,助力更多企业高效达成业务目标:Serverless 多媒体处理,Serverless 数据处理,Serveless AI 推理,Serverless HTTP。

以上就是我的分享,谢谢。

责任编辑:徐晓俊