作者简介:罗云,腾讯云云开发研发副总监,从事多年的云计算后台研发和研发管理工作,对如何构建高可靠,高可用分布式系统有较深入的理解和落地经验。
过去几年间,Serverless 发展迅猛,与其相伴的还有从小程序、移动端等到前后端一体化的演进与实践,也正因如此,从云计算到前端,众多开发者都极为关注。本文介绍了腾讯云 CloudBase 的 Serverless 实践,相信会对关注 Serverless 以及研发模式的开发者有所裨益。
Serverless 到底是什么?在国内,Serverless 通常被称呼为「无服务计算」。但 Serverless 不是一种具体的框架、代码库或者工具集,而是一个为了减轻开发者的服务运营/运维成本而提出来的一套理论思想。
为了简化开发者们的理解成本,业界对 Serverless 有一种结合云计算行业的定义方式: Serverless = FaaS + BaaS 。
FaaS:Function as a Service,函数即服务。
对于 FaaS,业界已经有比较多的成熟厂商提供了线上产品,例如:
AWS Lambda,起步最早的 FaaS 云产品,和 AWS 的云产品有很好的互动,开发者使用较多。
Azure Functions,来自微软的公有云函数计算产品,晚于 AWS lambda 发布。
Google Cloud Functions,来自 Google 的公有云计算产品,和 Google 的 Firebase 有较深的互动。
腾讯云 Serverless Cloud Fucntion,来自腾讯云的公有云计算产品,和腾讯云的云开发有较深的结合落地。
BaaS: Backend as a Service, 后端即服务。
对于 BaaS,覆盖的范围会更广阔一些,需要去解决 Serverless 落地过程中除去计算而外的所有后端场景,例如数据库服务,消息队列和存储服务等。开发者在使用 BaaS 服务的时候,不再需要去感知后端的服务运维,提出服务需求,享受服务即可。例如在数据库服务部分,通常又被细称为 DBaaS(Database as a Service)。传统场景下,开发者的运维团队要关心数据库运维的细节问题,而基于 DBaaS,开发者只需要关注业务逻辑即可。腾讯云云开发在Serverless方面
取得了什么样的成果?
为了让应用开发者更高效地落地创意,作为国内落地实践 Serverless 较早的团队,腾讯云云开发结合 Serverless 理念打造了一套服务开发者的多端一站式应用开发平台 CloudBase,