【ArchSummit架构师峰会】探讨数据与人工智能相互驱动的关系>>> 了解详情
写点什么

工业级 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:542127

评论

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

Scrum的三个工件(产品Backlog、Sprint Backlog、产品增量 )

顿顿顿

Scrum 敏捷 敏捷开发管理 敏捷开发管理工具

Velocity不用愁!Velocity系统的前端工程化之路 | 京东云技术团队

京东科技开发者

Java 前端工程化 Web H5 Velocity.js 企业号 5 月 PK 榜

百度工程师移动开发避坑指南——Swift语言篇

百度Geek说

swift 移动端 开发语言 企业号 5 月 PK 榜

常用的表格检测识别方法——表格结构识别方法(上)

合合技术团队

人工智能 深度学习 算法 人工智能文字识别 表格检测

混沌演练实践(二)-支付加挂链路演练 | 京东云技术团队

京东科技开发者

微服务 混沌工程 混沌工程实践 企业号 5 月 PK 榜

浅谈财务共享未来发展趋势

用友BIP

业财融合 财务共享

Elasticsearch与Clickhouse数据存储对比 | 京东云技术团队

京东科技开发者

数据库 elasticsearch Clickhouse 企业号 5 月 PK 榜

阿里巴巴亿级并发系统设计手册已开源(2023 最新版)震撼来袭

架构师之道

Java 高并发

全新一代小度智能屏X9焕新上市 正式开启预售

Geek_2d6073

WorkPlus AI助理 | 将企业业务场景与ChatGPT结合

WorkPlus

深度学习基础入门篇-序列模型:[11]:循环神经网络 RNN、长短时记忆网络LSTM、门控循环单元GRU原理和应用详解

汀丶人工智能

人工智能 深度学习 RNN LSTM GRU

2023最新版Java面试八股文大全(附各大厂面试真题及答案)

采菊东篱下

java面试

直击灵魂!美团大牛手撸并发原理笔记,由浅入深剖析JDK源码

做梦都在改BUG

Java 并发编程 多线程 jdk源码

胜面试官半子!阿里SpringBoot全栈笔记首发,源码实战齐飞

做梦都在改BUG

Java spring 微服务 Spring Boot 框架

PoseiSwap IDO在Bounce上启动在即,如何参与?

西柚子

SpringBoot + Docker 实现一次构建到处运行

Java你猿哥

Java Docker Spring Boot ssm 容器化部署

1.5万字+30张图盘点程序员面试必会MySQL索引常见的11个知识点

Java你猿哥

Java MySQL 数据 ssm 索引

PoseiSwap IDO在Bounce上启动在即,如何参与?

鳄鱼视界

有哪些好用的企业即时通讯软件值得推荐?

WorkPlus

最高奖金100万!第二届广州·琶洲算法大赛火热报名中

飞桨PaddlePaddle

百度飞桨 算法大赛

ps vs top:CPU占用率统计的两种不同方式

极限实验室

Linux 运维 监控系统 INFINI Console

云图说丨初识商标注册服务

华为云开发者联盟

云计算 后端 华为云 华为云开发者联盟 企业号 5 月 PK 榜

CloudQuery v2.0.0 发布 新增数据保护、数据变更、连接管理等功能

BinTools图尔兹

数据库 国产数据库 版本发布

龙博机电:90后“厂二代”,靠伙伴云零代码让中小制造业实现数字化“逆袭”

联营汇聚

Flutter三棵树系列之详解各种Key | 京东云技术团队

京东科技开发者

flutter key 企业号 5 月 PK 榜 localkey

涅槃重生!字节大牛力荐大型分布式手册,凤凰架构让你浴火成神

Java你猿哥

架构 Kubernetes 分布式 架构师 分布式架构

深度学习进阶篇-预训练模型[1]:预训练分词Subword、ELMo、Transformer模型原理;结构;技巧以及应用详解

汀丶人工智能

人工智能 深度学习 预训练模型 Transformer ELMo

企业研发效能度量利器,华为云发布CodeArts Board看板服务

华为云开发者联盟

云计算 后端 华为云 华为云开发者联盟 企业号 5 月 PK 榜

红旗软件正式发布龙蜥社区版国产高可靠操作系统

OpenAnolis小助手

Linux 开源 龙蜥社区 红旗软件 社区版操作系统

基于 Log 的通用增量 Checkpoint 在美团的进展

Apache Flink

大数据 flink 实时计算

3天速成!阿里人私用的Netty速成实战手册,3天Github星标11.5k

Java你猿哥

Java 源码 Netty ssm netty内存管理

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