Serverless是什么?
Serverless,也就是无服务器架构,这里的无服务器不是真的没有服务器。而是一种超级巧妙、超级高效的一种云计算模式。Serverless 的本质是云厂商把底层服务器资源完全封装、托管,开发者无需关心任何服务器相关的运维工作,仅需聚焦业务代码,以事件驱动的方式运行,实现秒级自动扩缩容,仅按实际资源使用量计费的云原生架构理念。

事件驱动是怎么实现的?
事件源: 用户在前端页面提交 prompt 的 HTTP 请求 ,事件监听器: 云厂商的 Serverless 触发器,全程在云端监听请求事件,监听到请求触发执行的代码(应用开发者提前上传 / 部署到云厂商云端服务器的) **执行逻辑:**只有当请求事件发生,云厂商会分配服务器资源运行这段服务端代码,推理完成、结果返回后,立刻释放资源,全程都在云端服务器完成。
事件驱动的最大好处就是: Serverless 推理服务平时完全不占资源,只有用户发 prompt(事件发生),才分配资源跑推理,推理完立刻释放,没人用就零成本。与传统的预分配一大片计算资源相比,非常之省钱。
Serverless两大核心:
FaaS(函数即服务):Serverless 的计算核心
1. 核心定义与本质
FaaS 是 Serverless 的计算层,它把你的业务逻辑拆分成一个个独立的函数( 把每个接口拆成一个独立的函数,单独打包上传到云端**)**,开发者只需要编写、上传核心业务代码,完全不用管服务器的采购、运维、扩缩容、系统补丁等所有底层琐事。
它的运行逻辑完全贴合事件驱动 :只有预设的事件触发时,函数才会被云厂商分配资源启动执行;代码运行结束后,资源立刻释放,你只需要为代码实际运行的时长付费,无事件触发时零成本。
2. 核心特点
- 事件驱动触发:这是 FaaS 的核心运行逻辑,支持 HTTP 请求、定时任务、文件上传、消息队列等几乎所有事件源触发。你的场景例子:用户在前端提交 prompt(HTTP 请求事件),直接触发你写的大模型推理函数执行。
- 全托管免运维:你只需要写代码,服务器的 CPU / 内存、操作系统、网络、安全补丁、扩缩容全由云厂商搞定,你全程不用碰服务器。
- 秒级无限弹性:哪怕瞬间来了 10 万并发的推理请求,云厂商也能在毫秒级扩容出对应数量的函数实例承接流量,流量下降后自动缩容,完全不用你手动操作。
- 真正按需付费:计费单位精确到毫秒,只有函数运行时才计费,没有请求、函数休眠时,一分钱都不用花。对比传统云服务器:哪怕你的服务一整天没人用,也要按天 / 按月付租金;FaaS 完全没有闲置成本。
- 无状态设计:函数每次执行都是独立的,执行完就释放,不保留本地状态,状态数据全靠 BaaS 组件存储。
FaaS 说白了就是:你只管写好实现某个具体功能的代码(也就是函数)放在服务器端,服务器、系统、环境、运维、扩容这些麻烦事全不用管;这个代码平时不启动、不占资源、不花钱,只有当你设定的触发条件来了才临时启动干活,干完立刻释放资源,你只需要为它实际干活的那段时间付钱。
BaaS(后端即服务,Backend as a Service)
在上文中我们提到FaaS 解决的是:你自己要写的自定义业务代码,不用管服务
而BaaS 解决的是:通用的后端功能,你连代码都不用写,直接拿来用
1. 核心定义与本质
90% 的开发者都要重复写、重复搭的通用后端能力,全部打包成了开箱即用的云服务。你不用写后端代码、不用搭服务器、不用做任何运维,直接调用现成的接口 / SDK 就能用,底层所有的脏活累活,全由云厂商全权搞定。
二、BaaS 的 5 个核心本质特征(和 FaaS 同源,又有明确分工)
这 5 个特征,也是市面上所有 BaaS 定义的共性,完全贴合你之前的理解:
- 开箱即用,通用能力零开发核心就是「不用重复造轮子」。所有后端通用的标准化能力,都已经被云厂商封装好了,你不用从零写代码,直接调用就行,开发周期能从几周压缩到几天。
- 全托管,零服务器 / 运维负担这是它和 FaaS 最核心的共性,也是「无服务器」的核心。你完全不用碰服务器、不用管系统配置、环境搭建、安全补丁、扩容缩容、数据备份、故障修复,云厂商全权负责服务的稳定运行。
- 按需付费,用多少花多少和 FaaS 的计费逻辑完全一致,摒弃了传统包年包月租服务器的模式。比如云数据库按实际存储量、读写次数计费,对象存储按文件大小、下载流量计费,小流量场景甚至有免费额度,不用不花钱。
- 标准化接口,全端兼容几乎所有 BaaS 服务都提供标准化的接口 / SDK,完美兼容小程序、Web 网页、iOS、Android、Flutter 等几乎所有前端开发框架,一套服务能给所有端用,不用给不同端单独写后端。
- 自带高可用与安全合规云厂商的 BaaS 服务天生就带了多机房容灾、数据加密、防攻击、合规认证(比如等保)等能力,你不用自己折腾,对于小团队和个人开发者,直接省了几十万的安全合规成本。
BaaS 说白了,就是云厂商提前把做 APP、小程序、网站时,所有开发者都要重复写、重复搭、全行业通用的后端功能,全给你做好、跑稳了。你直接拿来用就行,连代码都不用写,更不用管什么服务器、运维、扩容这些破事。
核心区别一句话
BaaS 是「现成的后端能力,你直接用,几乎不用写代码」;FaaS 是「你自己写定制化的后端代码,平台帮你跑,不用管服务器」。
云平台全程帮你 24 小时盯着触发事件,事件来了,触发的是你自己写的定制化代码,就是 FaaS;触发的是云厂商提前做好的现成通用能力,就是 BaaS。
举个例子:
事件源:用户在小程序上传一张新的奶茶商品图
- 事件触发,调用 BaaS 对象存储(现成的存图能力),把图片存好 → BaaS 是「事件的被调用方」
- BaaS 存完图,自动发出「文件上传完成」的事件 → BaaS 是「事件的触发源」
- 这个事件,触发了你自己写的 FaaS 函数(给图片加店铺 logo 水印、生成缩略图) → FaaS 是「事件触发的自定义执行主体」
- FaaS 处理完,触发调用 BaaS 云数据库(现成的存数据能力),把缩略图链接存到商品表 → BaaS 回到「事件的被调用方」