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

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

分享嘉宾

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

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

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

1. 迭代原型,验证业务

从零到一,通过技术手段提升业务原型的迭代和验证效率;

2. 持续优化,强化业务

在运行效率和工程效率方面不断优化,增强业务的竞争力;

3. 构建壁垒,赋能业务

在技术深度方面形成护城河,持续保持业务的差异化优势;

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

  1. 稳定性和质量,是业务正常推进的基石;
  2. 开发效率,帮助业务争取宝贵的时间,决定了业务能否在赛道中胜出,比如有了新的想法能否快速得到验证;
  3. 运行效率,是研发同学亘古不变的执着追求,更优化的算法,更优雅的架构,同时也将决定深度和难度;
  4. 成本,这里的成本,一方面是资源成本,例如运行服务或系统,需要占用的计算、网络、存储等基础资源的成本。另一方面是时间和人力成本,对于企业来说,尤其是互联网或业务导向的公司,人力成本占企业整体比重较大;

02.Serverless 能够释放哪些红利?

从工业界的角度来看,包含四个维度:

  • 模块化程度
  • 自动化运维程度
  • 弹性效率
  • 故障恢复能力

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

Serverless 分成两个阶段:第一个阶段是 容器化的 Serverless,再下一个阶段是 fPaaS Serverless 的平台。

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

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

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

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

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

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

如何解决资源冗余的问题呢?

这种商业模式在以往衣食住行各行业早已经落地,只是在计算领域将其复用。早期是自建机房,接着开始租用云主机,最终通过 Serverless 形成按需付费。类比交通,购买汽车,自己负担维护、折旧成本并占用自有时间驾驶;租用汽车,租用期间占用自有时间驾驶且开不开都需要付租金;出租车,按需启动,里程计费。

云厂商提供的计算资源,在租用期间拥有使用权,但在租用过程中,会有一部分计算资源的冗余,而通过 Serverless 按需付费,根据实际需求量来申请使用计算服务,达成业务目标后即可终止计算服务,停止计费。

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

  • 简化运维,能够提供稳定运行环境,支持多场景、弹性伸缩的服务;
  • 更低成本,按需付费,减少冗余资源的计费;
  • 时间效率,通过 Serverless 这种面向事件的编程模式,极大地简化架构设计,简化不同规范、不同标准的团队协作。快速地将业务落地,快速投放到市场做验证。

03.Serverless 落地方式

1. 腾讯云 Serverless 产品矩阵

Serverless HTTP

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

Serverless Trigger

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

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

上面更多的是从应用的视角去看 Serverless 的产品能力,Serverless Framework 和云函数 SCF 是基础产品支撑,云函数是作为新一代计算平台,支撑上一层应用所有的计算需求。Serverless Framework 是腾讯云和北美「Serverless.com」这家企业合作的产品,是北美最流行的 Serverless 开发工具。

2. 腾讯云 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

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

责任编辑:未丽燕 来源: 腾讯云
相关推荐

2021-01-29 12:33:21

云计算Serverless架构

2022-10-31 14:07:59

腾讯云云原生PaaS

2017-10-12 11:23:51

阿里云1000万企业

2016-11-11 21:09:17

云计算

2021-01-11 13:46:02

云计算Serverless 数字化

2021-06-23 10:58:07

云计算云原生阿里云

2022-12-27 08:10:00

2019-07-04 17:28:04

腾讯云云原生开源

2021-03-04 09:37:40

云计算云原生计算云安全

2016-07-14 16:48:59

云计算

2023-06-02 18:40:40

2021-04-15 10:57:05

NVIDIA

2019-07-19 15:43:35

腾讯云云原生容器

2021-03-10 18:33:34

腾讯云原生开源

2020-08-04 16:27:11

腾讯云云原生容器

2016-10-13 18:12:59

云计算云服务

2021-04-12 10:07:06

云计算边缘云阿里云
点赞
收藏

51CTO技术栈公众号