首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >专访TLC大会讲师王伟嘉:聊聊云开发CloudBase的设计与实践

专访TLC大会讲师王伟嘉:聊聊云开发CloudBase的设计与实践

作者头像
腾讯云开发TCB
修改2020-08-20 10:44:32
4720
修改2020-08-20 10:44:32
举报
文章被收录于专栏:云开发云开发

云开发 CloudBase 是腾讯云推出的云原生一体化解决方案,以「小程序·云开发」为代表的 Serverless 产品自上线起就受到了广大开发者的欢迎,如今已经是国内 Serverless 领域的头部角色。

伴随着 Serverless 等新技术的快速发展,云原生时代的应用开发应该是怎么样的?如何设计、构建一套工业级的 Serverless 服务?CloudBase 云服务的背后有哪些精巧的设计?TLC 大会专访云开发团队前端工程师、Node.js Core Collaborator 王伟嘉(Starke),来深入聊聊云开发CloudBase的设计与实践。

Q:Starke 老师您好,本次TLC大会您的议题是《云开发 CloudBase —— 云原生一体化服务的设计与实践》,云开发和云原生都是比较新颖的技术,能否先跟我们的观众介绍一下云原生和云开发分别是什么,CloudBase 相比于传统的开发和生产模式,有什么独特的优势吗?

Starke:“云原生”这个概念近年来也是越来越火,从字面意思上讲,云原生可以分为“”和“原生”两个词:

”即和“本地”相对,过去我们一般都是把服务部署在自己建设的服务器集群上,而现在随着云时代的到来,越来越多的公司和开发者会选择直接使用各个云厂商提供的服务(而不是自建服务器),这其中包括 IaaS、PaaS、BaaS、FaaS 等等。

原生”意思就是土生土长的,也就是应用从设计的最开始就是面向云的,设计上会充分考虑云上基建的特点和优势。比如微服务的架构,就非常适合云上资源弹性和分布式的特点;比如云上资源大多数都是通过 API 来标准化的,这就很适合团队基于此来构建 DevOps 流程。

而我们的云开发 CloudBase 这个产品,就是我们对云原生理念的一种尝试和实践,我们想为开发者提供简单、可靠、高效率的一系列云上基础服务,让开发者更方便高效地利用云资源开发自己的小程序、Web、原生应用,比如,在微信小程序里,你就可以使用“小程序·云开发”,非常简单的几行代码就可以调用云数据库、云函数、云存储等服务。就目前我们收到的大量用户反馈而言,我们目前的产品是受到广大开发者欢迎的,当然我们也在不断地迭代和进化,来为开发者提供更好的产品。

所以相比于传统的开发模式,云原生的一切优势都可以在 CloudBase 所提供的这一套服务上体现,比如你可以完全不用考虑扩容缩容的问题,因为资源本身就是按量计费、自动弹性伸缩的;比如你可以直接在各个端上使用 CloudBase 的 SDK,而不是自己去设计一套 API 和 HTTP 接口。此外我们还对 Web 社区大多数流行的框架做了适配,比如 Vue、Nuxt.js 等等,如果你使用了这些框架,那么你也可以很方便地把 CloudBase 的服务引入进来。

Q:我们注意到 CloudBase 是基于腾讯云的 Serverless 云原生一体化解决方案,作为一款工业级的 Serverless 服务,您觉得在设计、开发这套服务的过程中,最大的难点在哪里?
Starke:首先从产品设计上讲,最大的难点在于深刻地理解开发者需要什么东西。首先“开发者”是一个非常泛的概念,这里面包含了很多很多人,从各大公司里资深的研发工程师到高中大学里刚刚接触编程的学生,都属于开发者。所以设计出一套易上手、对新手友好,并且也能满足一些高阶、专业需求的云服务,是很有挑战的事情。CloudBase 在设计上采取了“渐进式”的原则,也就是为入门者预设好了大多数的使用场景和参数默认值,在绝大多数场景下,都无需调整,如果开发者有一些比较高阶的需求,也可以通过自行修改参数的方式来满足。

然后从技术的角度讲也有诸多挑战,比如在保证用户的资源隔离性上,我们就做了大量的工作。在一些 BaaS 的场景下,对 C 端用户的身份认证、授权也是一大难题,我们为此设计了适合国内场景的多种登录方式(微信登录、邮箱登录、匿名登录等等),以及用于替代传统 ACL 的安全规则机制,让开发者可以用表达式来自定义资源的访问权限。

此外在社区生态上,如何把各个框架的开发者无痛、渐进式地引入进来,让他们更好地接入 CloudBase,也是很重要的问题。对此我们推出了 CloudBase Framework 来适配各种框架、工作流场景。

Q:CloudBase 目前有哪些比较知名的用户?有哪些成熟的应用场景?
Starke:目前腾讯内部已经有诸多团队使用了 CloudBase 的服务,比如微信读书团队,就使用 CloudBase 来承载日常的运营活动,这些运营活动的特点就是短时间内会承载极大的流量,在传统的开发生产模式下,需要运维人员提前预留大量的临时服务器资源,而这些资源可能就只用几个小时甚至几十分钟而已,给运维带来了很大的负担,也会有资源的浪费。但使用了 CloudBase 之后,就无需顾虑这些,因为资源本身就是完全弹性的。

另外,CloudBase 和各端天然打通,这个特点在一些对链路安全要求比较高的场景下尤其重要,比如在《创造营2020》的投票小程序里,腾讯创造营研发团队就采用了小程序·云开发的方案,使用 CloudBase 与微信之间的私有安全链路,轻松地避免了投票接口的防刷,也提高了传输性能,无需多写一行代码就能把羊毛党和黑客拒之门外。

还有就是基于 CloudBase 本身提供的能力去打造的场景,比如我们的云数据库支持实时推送,这在一些弹幕、即时抽奖、实时消息等场景下就非常好用,只需要简单调用几个封装好的接口,就可以获得海量、高可用的实时推送能力,腾讯IEG的设计团队已经在英雄联盟等大型游戏赛事活动的小程序、Web 网页中使用了 CloudBase 提供的能力。

Q:现在 Serverless 无疑是前端圈里一个非常热门的话题和方向,Serverless 对于广大前端工程师的意义何在?您对此有何看法?
Starke:这个问题我们不妨来回顾一下前端工程师这个职业是怎么从“切图仔”发展到现在的:

首先是 2005 年前后,随着 AJAX 技术开始广泛流行,以 Gmail 为代表的 Web 2.0 应用开始登上舞台。AJAX 让网页可以异步动态获取数据,并且渲染视图,前端工程师这个职业可以说是从这个时候才开始分化出来的

后来在 2009 年,Node.js 横空出世,它让熟悉 JavaScript 的前端工程师可以轻松地编写服务端逻辑,从此 BFF(Backend For Frontend )的概念逐渐流行起来,从此前端工程师开始跳出浏览器的边界,彻底接管视图层逻辑

然后就是 2018 年以来,随着 Docker、Kubernetes、Knative 等容器相关技术的成熟,Serverless 和 FaaS(Function as a Service,函数即服务)成为了可能,它们极大地降低了服务端运维的成本,让不那么熟悉基础运维的前端工程师也可以写出高可用、高并发的后台接口,就像写前端逻辑一样。

所以,我认为 Serverless 对前端工程师最大的意义就是,它为前端赋予了新的能力,大大拓宽了前端的边界。除此之外,Serverless 还把“基础设施”和“应用服务开发”解耦开了,随着各种端的进一步统一和融合,未来很有可能只需要两种工程师:基础设施工程师应用开发工程师

Q:今年很多新人进入互联网行业,作为前辈,且在行业内取得了不错的成就,您对他们有什么建议呢?
Starke:对新人而言,我觉得最重要的就是保持对技术的热爱吧,我知道有些人可能因为这一行收入比较高,或者专业热门而选择了学计算机和编程,但这些都不是永久的,互联网行业可能也会终有一天变成夕阳产业,唯一能支持你一直走下去的,就是你对技术本身的热爱,就是那种极客精神。
大会信息
第四届TLC大会的主题是 “前端智造,内容新生”,主题涵盖社交、电商、娱乐等领域,讲师是来自腾讯、阿里、paypal、Bilibili、京东等知名企业的技术专家,并且有丰富的大会分享经验。大会将于2020年9月5日在充满活力的深圳·科兴科学园国际会议中心与开发者相约,欢迎报名参加。
本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-08-19,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 腾讯云开发CloudBase 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Q:Starke 老师您好,本次TLC大会您的议题是《云开发 CloudBase —— 云原生一体化服务的设计与实践》,云开发和云原生都是比较新颖的技术,能否先跟我们的观众介绍一下云原生和云开发分别是什么,CloudBase 相比于传统的开发和生产模式,有什么独特的优势吗?
  • Q:我们注意到 CloudBase 是基于腾讯云的 Serverless 云原生一体化解决方案,作为一款工业级的 Serverless 服务,您觉得在设计、开发这套服务的过程中,最大的难点在哪里?
  • Starke:首先从产品设计上讲,最大的难点在于深刻地理解开发者需要什么东西。首先“开发者”是一个非常泛的概念,这里面包含了很多很多人,从各大公司里资深的研发工程师到高中大学里刚刚接触编程的学生,都属于开发者。所以设计出一套易上手、对新手友好,并且也能满足一些高阶、专业需求的云服务,是很有挑战的事情。CloudBase 在设计上采取了“渐进式”的原则,也就是为入门者预设好了大多数的使用场景和参数默认值,在绝大多数场景下,都无需调整,如果开发者有一些比较高阶的需求,也可以通过自行修改参数的方式来满足。
  • Q:CloudBase 目前有哪些比较知名的用户?有哪些成熟的应用场景?
  • Starke:目前腾讯内部已经有诸多团队使用了 CloudBase 的服务,比如微信读书团队,就使用 CloudBase 来承载日常的运营活动,这些运营活动的特点就是短时间内会承载极大的流量,在传统的开发生产模式下,需要运维人员提前预留大量的临时服务器资源,而这些资源可能就只用几个小时甚至几十分钟而已,给运维带来了很大的负担,也会有资源的浪费。但使用了 CloudBase 之后,就无需顾虑这些,因为资源本身就是完全弹性的。
  • Q:现在 Serverless 无疑是前端圈里一个非常热门的话题和方向,Serverless 对于广大前端工程师的意义何在?您对此有何看法?
  • Starke:这个问题我们不妨来回顾一下前端工程师这个职业是怎么从“切图仔”发展到现在的:
  • Q:今年很多新人进入互联网行业,作为前辈,且在行业内取得了不错的成就,您对他们有什么建议呢?
  • Starke:对新人而言,我觉得最重要的就是保持对技术的热爱吧,我知道有些人可能因为这一行收入比较高,或者专业热门而选择了学计算机和编程,但这些都不是永久的,互联网行业可能也会终有一天变成夕阳产业,唯一能支持你一直走下去的,就是你对技术本身的热爱,就是那种极客精神。
  • 大会信息
  • 第四届TLC大会的主题是 “前端智造,内容新生”,主题涵盖社交、电商、娱乐等领域,讲师是来自腾讯、阿里、paypal、Bilibili、京东等知名企业的技术专家,并且有丰富的大会分享经验。大会将于2020年9月5日在充满活力的深圳·科兴科学园国际会议中心与开发者相约,欢迎报名参加。
相关产品与服务
云开发 CloudBase
云开发(Tencent CloudBase,TCB)是腾讯云提供的云原生一体化开发环境和工具平台,为200万+企业和开发者提供高可用、自动弹性扩缩的后端云服务,可用于云端一体化开发多种端应用(小程序、公众号、Web 应用等),避免了应用开发过程中繁琐的服务器搭建及运维,开发者可以专注于业务逻辑的实现,开发门槛更低,效率更高。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档