写点什么

工业级 Serverless 平台,需要具备这些能力

  • 2020-04-24
  • 本文字数:3101 字

    阅读完需:约 10 分钟

工业级 Serverless 平台,需要具备这些能力

Serverless(无服务器运算) 是云计算的一种模型,也被称为云计算未来的方向。因其降低开发成本、按需自动扩缩容、免运维等诸多优势,被越来越多的公司用来构建云上应用。国内外此类型产品,有诸如 腾讯云云开发、AWS Lambda、Microsoft Azure Functions 等。


Serverless 相关技术的普及影响前端开发者的现有能力和定位,同时前后端架构和工程体系也随其发展而产生变化,那么 Serverless 如何走工程化道路?在 GMTC 北京 2020,我们邀请到了腾讯高级工程师周俊鹏老师来分享《面向全栈的工业级 Serverless 平台成型之路》。我们有幸在会前采访了腾讯云云开发团队的周老师,聊聊 Serverless 给前端带来的挑战和机遇,以及面向全栈的 Serverless 平台应该具备哪些能力。


InfoQ:请介绍下你自己。


周俊鹏: 我的从业经历比较复杂,最初的工作以 CSS 和动画为主,随后一段时间专注于前端工程效率即所谓的前端工程化,然后有两年半时间专攻图形编程(Canvas/SVG/WebGL)。目前就职于腾讯云云开发 Cloudbase 团队,负责云开发 Cloudbase 相关研发和生态建设工作。团队的主要产品云开发是支持多端开发(一云多端)的 Serverless 应用开发平台,小程序·云开发就是我们团队的主要产品,现在我们已布局小程序、 Web 和移动应用开发领域。


InfoQ:你是怎么看待 Severless 发展的?


周俊鹏: 其实在参加工作至今的六年时间里,之所以每份工作的技术侧重点有很大差异,是想尽量摸清前端开发技术的广度和深度,以便确定最终的从业方向。所以有宏观到全栈的工程化,也有微观到像素的 WebGL 编程。


在充分熟悉了这些技术之后,我个人认为前端在未来的核心发展方向主要有两个:数据可视化和全栈开发数据可视化 对数学和算法的要求很高,同时可以与多线程、WebAssembly 等新技术结合,充分压榨浏览器的性能,考验的是技术深度,其价值体现在疑难问题的攻坚上。全栈开发 指的是从底层到应用层的全链路闭环开发,当然事无巨细不现实,所以要依托一些技术、工具或平台,而目前来看,Serverless 是最有可能支撑全栈开发落地的指导思想之一。


InfoQ:团队是在什么契机下,引入 Serverless 的?


周俊鹏: 团队的主要产品云开发 Cloudbase 是一个基于 Serverless 架构(FaaS+BaaS) 构建的一站式后端云服务平台,作为一款 ToB 产品,它以生产工具角色为开发者提供价值。2018 年在微信小程序落地“小程序·云开发”之后得到了不错的反馈和增长,而 Serverless 理念的亮点之一便是并没有限定应用场景,所以我们团队目前在微信小程序之后继续布局多端平台,目的是尽量帮助开发者解决业务逻辑之外的琐碎事,提高生产力。


InfoQ:现在团队内部的 Serverless 平台发展现状怎么样?


周俊鹏:Serverless 思想是贯彻在我们产品全局设计和功能设计上的。


在产品矩阵方面,云开发 Cloudbase 除了提供函数、文件存储、数据库等基础服务以外,还融合微信生态的云调用能力,开发者可以免鉴权快速调用微信开放能力。同时,场景化需求,提供静态托管、扩展能力等综合解决方案。


在功能细节上,不仅在计算服务上我们提供函数服务,在数据库上我们更是联合微信团队共同打造了业界真正的 “Serverless for NoSQL”,Serverless 模式下的数据库服务,开发者在云 + 端上可以原生地使用微信 SDK 操作数据;特别是端上的数据操作,这种 Serverless 模式下的数据库可以更有效地利用端的计算能力,从而节省用户的底层资源成本。此外,微信内部的数据通路让整个链路也更安全稳定可靠。


在多端布局方面,云开发 Cloudbase 与多端和跨端开发技术相结合,在微信小程序、QQ 小程序、Web、移动应用 (Flutter) 均已落地。


在开发者量级方面,已经有超过 50 多万开发者在使用,API 日均调用量超过 7 亿次。


InfoQ:你认为工业级 Serverless 平台应该具备哪些能力?


周俊鹏: 一门新兴技术或理念如果想令开发者摆脱玩一玩的心态,转变为真正接受它的工业价值,有很长的路要走,ToB 平台的路程则更加艰辛。而云开发 Cloudbase 作为一个结合新技术理念的 ToB 平台,这条路的艰辛程度更甚。以我个人的理解,工业级 Serverless 平台有一个非常重要的基调需要在确定迭代方向之前完成,即明确用户群体。


以云开发 Cloudbase 为例,用户的基本诉求虽然大体上均是在保证服务稳定性的前提下追求高生产效率,但是对平台能力的具体需求上,按照颗粒度可以大致分为两类:一类用户偏重完整、闭环,对平台能力的需求以高度封装的 API 为主;另一类用户偏重定制化、可组合甚至二次开发,对平台能力的需求以细粒度的 API 为主。所以我个人认为工业级的 Serverless 平台既要有高度封装的全能型能力,也要具备细粒度可组合的定制能力。以此为基调,我们团队在制定云开发 Cloudbase 迭代路线时,即提供函数、存储、数据库这类细粒度能力,又提供扩展能力、应用服务托管这类高度封装的解决方案。


InfoQ:全栈架构如何升级?


周俊鹏: 我们讲全栈开发并非是令一个开发者负责技术架构的所有环节和细节,而是令开发者只关注业务逻辑本身,而不必关心业务逻辑之外的繁杂事。比如 Web 服务器支持业务逻辑正常运行的背后是硬件、网络、操作系统等与业务无关的事,我所期待的全栈开发理想形态是将这些工作从开发者的关注清单中删除,只剩业务逻辑本身。以目前的技术发展状况看,Serverless 是最有可能实现这种全栈架构的技术模式之一。


InfoQ:如何打造适合自身发展的工程模型?


周俊鹏: 打造工程模型的基本前提是紧密结合团队自身的技术架构和组织架构,其中技术架构又往往取决于组织架构。以前端工程化为例,前后端分工模式决定前端架构的定型,进而才能建立工程体系。回顾前端技术的发展历程,从最初的静态网页到如今的大前端,技术的演进推动技术架构和组织架构的调整,工程模型也随之改变。Serverless 提供了全栈开发的可能性,前端技术架构进化为全栈架构后,工程模型从以前只覆盖前端范畴进化为全链路闭环体系是必然的趋势。


InfoQ:你认为 Serverless 应当如何与端应用开发技术相结合?


周俊鹏:Serverless 相关的技术本身隶属云计算领域,与应用端开发其实并没有太深的联系,而跟云计算之前的技术(比如:IaaS、PaaS、SaaS)相比,Serverless 之所以在前端领域大热,根本原因在于:它比 IaaS、PaaS 更加接近应用层。回顾云计算技术的发展,其实是自底向上一步步解放生产力的过程,而 Serverless 是目前云计算领域最接近应用层的技术模式。但是这并不意味这没有沟壑,Serverless 距离端的“最后一公里”至今仍没有绝对统一的解决方案,云开发 Cloudbase 也只是率先提出了一种相对合理且接受度较高的方案而已。


我们解决 Serverless 对端问题上坚持一云多端的理念,服务本身是平台无关的,在应用端的支持上有两种可选方案:一是提供封装能力的端 SDK;二是提供平台无关的 HTTP API。用户可以根据自身的需求选择任意一种。SDK 的优点是高度封装,并且我们有一些跨端的 SDK,比如:JavaScript SDK、Flutter SDK、React Native SDK 等等;HTTP API 的优点是粒度更细,可组合性和可定制性更高,但是对开发者的技术能力要求相对高一点。


嘉宾介绍


周俊鹏,腾讯高级工程师,就职于腾讯云云开发 CloudBase 团队,负责云开发 Cloudbase 相关技术研发工作。QCon 2017 讲师,GMTC 2018/2019 出品人,主要研究方向是前端图形编程、工程化和 Web 应用层架构。著有《前端工程化:体系设计与实践》《前端技术架构与工程》。


活动推荐


Serverless 呼声越来越高,也有人称其是云计算未来的发展方向,如何将其落地,如何走工程化道路,将架构持续升级?GMTC 北京2020设置“大前端工程化”及“Serverless 实战专场”,一线大厂技术专家将深度解析,详情请点击GMTC北京2020官网


2020-04-24 11:542317

评论

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

架构师训练营第五周总结

吴传禹

极客大学架构师训练营

我在苦苦坚持的时候,WebStorm已经悄悄的“真香”起来

小Q

Java 学习 架构 面试 webstorm

架构师训练营第 1 期 week5

张建亮

极客大学架构师训练营

架构师训练营 1 期第 5 周:技术选型(一) - 作业

piercebn

极客大学架构师训练营

区块链:现实与未来的二律背反

CECBC

区块链 虚拟世界

第五周 技术选型(1)作业

蓝黑

极客大学架构师训练营

架构师训练营第五周作业

吴传禹

极客大学架构师训练营

第一周作业1:设计图表

韩儿

一、食堂就餐卡系统UML设计

Geek_28b526

玩一场用户故事的Cosplay

Bruce Talk

Agile 用户故事 Product Owner

太难了,5年Java开发经验,阿里面试了7轮终于拿下P7岗offer!

Java架构之路

Java 程序员 架构 面试 编程语言

架构师训练营第 1 期第 5 周学习总结

好吃不贵

极客大学架构师训练营

科大讯飞胡国平:AI和5G互相辅助,认知中台传递基础技术能力

Xue Liang

学习 AI 语音识别

架构师训练营 -week05- 作业

大刘

极客大学架构师训练营

想要进大厂做架构师,需要掌握哪些技术?阿里内部绝密 “Java架构修炼宝典”从基础一直深入到源码!

Java架构之路

Java 程序员 架构 面试 编程语言

科大讯飞1024开发者节,有温度,有创新,有看点

Xue Liang

AI 技术方案 智能医疗 识别

架构师训练营1期第5周作业--一致性哈希算法

木头发芽

架构师训练营 - 第一周课后练习

joshuamai

架构师训练营第 1 期 week5 总结

张建亮

极客大学架构师训练营

什么! 你还在使用 if (xxx != null)做NullPointerException判断?

刘超

Java Optional

架构师训练营第五周课后练习

薛凯

架构师训练营第五周总结

薛凯

golang实现一致性 hash 算法

Jacky.Chen

Week1-架构方法学习

evildracula

学习 架构

工业互联网推动制造业数字化转型

CECBC

区块链 大数据

javaCV学习-1-环境搭建及测试多张图片合成一个mp4的视频

诸葛小猿

Java 图片合成视频 机器视觉

架构师训练营培训第一周作业

lakers

极客大学架构师训练营

美滋滋!阿里内部最新出台Java开发规范和系统性能优化指南~

Java架构追梦

Java 学习 架构 面试 性能优化

Consistent Hash

韩向民

明星里程被盗?看区块链如何加强个人信息安全保护

CECBC

信息安全 数字签名

架构师训练营第 5 周课后练习

叶纪想

极客大学架构师训练营

工业级 Serverless 平台,需要具备这些能力_GMTC_叶兰_InfoQ精选文章