GTLC全球技术领导力峰会·上海站,首批讲师正式上线! 了解详情
写点什么

与 Serverless 技术专家聊聊云原生

2021 年 3 月 06 日

与 Serverless 技术专家聊聊云原生

Q. 王俊杰老师您好,感谢您参加今天的采访。请您先简单介绍一下自己和您从事的工作。


我是王俊杰,目前在腾讯云就职。目前我主要做 Serverless 技术相关的工作,说的直白一些,我的工作就是帮助更多的开发者方便、快捷、低门槛、平滑的用上 Serverless 技术。因此,我主要研究 Serverless 如何与传统开发语言及开发框架相结合、Serverless 的应用场景、云原生应用 Serverless 开发模式、传统代码和业务的 Serverless 上云方法,建设 Serverless 在开发者生态中的影响力。


在这之前,我做了十余年的前端研发和前端技术团队管理,经历了从 Web 1.0 到 2.0 再到移动互联网,从前端性能到前端监控,再到前端组件化和前端工程化发展的整个时代,也算是一个前端老兵。


Q. 就在前几天腾讯云凭借在云函数领域的杰出成绩,获得了国内 FaaS(Function as a Service,函数即服务)领域首张可信云认证,这意味着腾讯云在 FaaS 领域的实力获得国家权威认可。能否介绍一下目前腾讯云 Serverless 云函数在行业的地位以及领先优势有哪些?


广义的 Serverless 可以是一种理念,可以是一种架构,也可以是一种产品。而 FaaS 是 Serverless 的基础计算资源,提供了底层算力支撑。对于任何业务,如果算力出了问题,那其余的一切都是空谈。腾讯云提供的 FaaS 服务叫做 Serverless Cloud Functions,简称为 SCF,即 Serverless 云函数。


评价一款云产品,需要考虑的维度是很多的。技术上要有过硬的高性能以及稳定性保障,同时还需兼顾易用性、低门槛儿,让用户简单快速的用起来 —— 并且不要改变原有的开发框架、开发模式等习惯。进一步来讲,监控和告警是否完备,开发工具是否顺手等等,都是云计算产品的评价指标。


在 FaaS 产品的评价标准方面,不同的评测机构的视角和维度也不同:Forrester 提出了十大维度,可信云则有二十余项测试标准。腾讯云 FaaS 服务 SCF 云函数在 Forrester 的评测中获得了全球前三、国内第一名;SCF 也是第一个通过可信云 FaaS 认证的产品,获得 FaaS-0001 编号证书,这代表了腾讯云的 Serverless 服务受到了行业专家的肯定。说到优势,我就举两个差异化的小例子吧:


在开发工具方面,腾讯云 Serverless 和 serverless.com 公司的 Serverless Framework 是深度集成的。Serverless Framework 是在全球最广泛使用的 Serverless 开发套件,在 Github 上面有超过 3.5 万的 stars。搞技术最怕就是封闭,怕闭门造车。和开源框架的深度集成,让腾讯云的 Serverless 是开放的,是拥抱开源拥抱社区的,同时给开发者提供了最佳的开发方案 —— 能够享受到 Serverless 领域内主流开发套件给开发者带来的易用性和迁移便利。



除了开发工具方面,还要提一下计费模式。腾讯云 Serverless 全球首个实现了按 1ms 为颗粒度的计费模式,是迄今为止是最符合云计算本质的云计算产品。由于大多数的业务计算时长是超过 1ms 的,所以 1ms 计费真正实现了 “让计算能力像水、电一样无处不在随时可用,需要多少用多少,用了多少支付多少 ”。在 I/O 密集型的 Web 服务场景下,大多数请求只有 30-50ms 的计算耗时,相对于业内其他的 100ms 计费粒度可节约最高 70%的费用。



Q. 作为腾讯云 Serverless 的技术专家,能否跟我们分享一下云原生是什么,云原生的开发理念有什么不同,以及腾讯内部对 Serverless 成功应用的案例。


云原生这个概念,超级热,对于云原生大家谈的太多了。


泛泛地说,只要整个应用生命周期都在云上,就叫云原生。具体的说,云原生实现层面有一大堆技术在支撑:Kubernetes、Serverless、微服务、DevOps、CI/CD 等等。我们还发起了一个方向,叫无服务器原生(Serverless Native),来研究如何全部基于 Serverless 技术实现云原生应用,让开发者更少的关注底层资源,更加专注于业务和产品。


除了外部开发者,腾讯云 Serverless 支持了非常多腾讯内部 Serverless 的应用场景,比如微信。


微信小程序云开发的底层计算资源是腾讯云 Serverless 提供的,在微信支付、微信读书也大量基于基于 Serverless 开发业务。腾讯 IVWeb 团队 2019 年就在内部通用的 NGW(Node Gate Way)模块中基于了腾讯云 Serverless 服务实现了 SSR。腾讯在线教育 IMWEB 团队不仅在业务中落地了 Serverless,还基于腾讯云 Serverless 打造了全套的大前端开发流程 IMflow。


Q. 在腾讯云 Serverless 体系建设中,您遇到的最大的困难是什么?又是如何解决的呢?


Serverless 发展中最大的困难就是 Serverless 项目的落地。


之所以 Serverless 落地难,是因为一千个研发团队,就有一千个技术架构,各不完全相同。每个研发团队,都在探寻最符合自己的业务架构。而作为提供通用 Serverless 计算服务的腾讯云,要用什么样的模式,怎么样的方法,才能为技术架构千差万别的开发者提供服务呢?这是摆在我们面前的实际问题。


要解决这个答案,我们对开发者对于 Serverless 的需求进行了一些调研。按照开发者团队的规模,我们可以将开发者简单分为三类:



  1. 大型开发团队

例如,头部的互联网公司,他们拥有非常细化的研发组织架构,除了业务研发团队外,还有工程团队、效率团队、基础架构团队等等。他们基础设施完备,自研开发模式健全,他们对 Serverless 的需求,往往是在自动扩缩、按量计费的底层资源层面。高性能、稳定、安全、性价比高的 FaaS 计算资源,是他们最看重的。


  1. 中型开发团队

例如,腰部互联网公司,大型企业的互联网部门等。他们会更多专注于自己个性化的业务功能实现。在技术架构和开发流程方面,大多采用的是业内成熟的开源成熟方案。这类开发者对于 Serverless 的需求,已经不满足于提供底层资源;除了底层计算资源之外,对于软件架构、开发流程、代码托管、CI/CD,整套技术研发方案的均有需求。


  1. 小型开发团队

例如,个人工作室、小型外包软件开发商。他们的诉求主要就是快速实现自己客户需求,更倾向于用现成的开源软件或者解决方案+定制化开发的方式,来快速的实现交付项目。这类开发者对于 Serverless 的需求,已经上升到了解决方案的层面。希望 Serverless 服务能够为他们提供某个解决方案的快速部署和二次开发的可能。


基于此,腾讯云的 Serverless 计算服务也是分层设计的。



首先,我们提供了通用的 FaaS 计算平台 —— 云函数 SCF,提供了底层云服务计算资源支撑。


Serverless 计算的资源之上,是 Serverless 的开发工具套件 —— Serverless Framework 帮助开发者更好的基于 FaaS 服务开发各类 Serverless 应用,其集成了整套开发、调试、部署、CI/CD 的流程。


再上层是针对各类细分引用场景的 Serverless 解决方案,包括 Serverless HTTP、Serverless SSR 基于 Web 的服务,还包括消息触发、AI 推理、IoT 计算的解决方案。


这一套设计,针对不同需求和层次的开发者,让他们总能找到最合适自己业务情况的 Serverless 落地方案。基于在腾讯云 Serverless 来落地业务,并不是一件难事。


Q. 云原生和 Serverless 会是整个大前端的发展方向吗?作为普通开发者,应该如何应对?


作为一个 Serverless 从业者,同时也是一个前端老兵。我觉得 Serverless “可以是” 大前端的发展方向,但这绝不意味着 Serverless 只是一个前端的概念。Serverless 和其他的前端技术不同,它不是纯粹为了解决前端的问题而出现。Serverless 是云计算的未来,是整个软件和应用架构的未来,它属于每一种类型的应用开发者,是每一种开发者的未来。


之所以我们认为 Serverless 是大前端的未来,是因为 Serverless 封装和解决了底层资源的分配和管理,让开发可以更聚焦于业务。从这个角度看:谁现在做的业务最多,谁的受益就越大 —— 目前的大前端工程师明显更符合这个角色定位。


同时,Serverless 是未来,是风口。我接触过很多做 Serverless 的都是后端工程师,他们用类似于 Serverless Framework 工具,很快就可以搞定后端 Web Service,专注于后端业务逻辑,前端 UI 基于 Vue 或者 React 也能很快的搭一个出来。现在前端的工具、脚手架、UI 组件非常丰富,lowcode 或者 nocode 的平台也趋于成熟,构建一个前端的 UI 已经不是什么难事。


对于普通开发者学习 Serverless 的建议,是大家要亲手试一下,体验一下。


试过之后,才可以理解什么是真正的 Serverless,在 Serverless 中文网(serverlesscloud.cn)有一些教程和实践供大家的参考。



头图:Unsplash

作者:2020-09-03

原文:https://mp.weixin.qq.com/s/v87ONDkLL295aIqPMs1_tw

原文:TLC 大会专访王俊杰老师,与 Serverless 技术专家聊聊云原生

来源:TencentServerless - 微信公众号 [ID:ServerlessGo]

转载:著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

2021 年 3 月 06 日 23:34903

评论

发布
暂无评论
发现更多内容

第八周架构师训练营作业

子豪sirius

HTML5+CSS3前端入门教程---从0开始通过一个商城实例手把手教你学习PC端和移动端页面开发第一章前言

Geek_8dbdc1

CSS html 前端

判断两个链表是否合并

Z冰红茶

JVM系列之:String.intern的性能

程序那些事

性能 JVM string GC

服务器是什么?其作用及有哪些分类?

德胜网络-阳

服务器

应用研发之基础知识-计算机硬件基础

superman

NameNode架构图解

大数据学徒

Java 大数据 hadoop

程序员的晚餐 | 7 月 27 日 美味鲫鱼豆腐汤

清远

美食

判断两个链表是否重合

LEAF

week8 学习总结

Geek_2e7dd7

拒绝贴标签的懒惰

zhoo299

随笔杂谈

区块链在公益慈善行业的应用研究

CECBC区块链专委会

区块链技术 公益组织 治理 数据透明

区块链的现象级应用应该什么样子

CECBC区块链专委会

产业落地 政策扶持 区块链革命 价值传递

应用开发基础之-数据结构与算法

superman

什么是数字孪生,它的应用价值在哪里?

华为云开发者社区

AI IoT 数字化 汽车电子 工业互联网

两个单向链表的合并判断

任小龙

第八周架构师训练营学习心得

子豪sirius

IT世界里的《三十而已》:不比包包的男士们在比什么?

脑极体

极客大学架构师训练营-单向链表相交问题

Geek_zhangjian

判断链表相交

GalaxyCreater

算法

week 8

Geek_2e7dd7

HTML5+CSS3前端入门教程---从0开始通过一个商城实例手把手教你学习PC端和移动端页面开发第2章HTML基础知识

Geek_8dbdc1

CSS html

极客大学架构师训练营 - 本周总结

Geek_zhangjian

河南省区块链产业联盟成立暨可信区块链技术创新大会启幕

CECBC区块链专委会

可信区块链 提升核心技术 产业联盟 产学研用

LeetCode题解:142. 环形链表 II,JavaScript,HashMap,详细注释

Lee Chen

LeetCode 前端进阶训练营

百度官方论文复现营!顶会审稿人28天手把手带你复现顶会论文

百度大脑

人工智能 百度 AI GAN 视频分类

week8 学习总结

任小龙

数据结构、网络、数据库总结

周冬辉

数据库 网络 数据结构与算法

2020掠夺者刀锋500搭载英特尔十代酷睿处理器硬核上阵

最新动态

算法题:链表的第一个合并节点

破晓_dawn

极客大学

敏捷开发:一文了解影响地图和用户故事地图之间的那些事儿

华为云开发者社区

产品设计 敏捷开发 后端 地图 开发流程

DNSPod与开源应用专场

DNSPod与开源应用专场

与 Serverless 技术专家聊聊云原生-InfoQ