云服务交付模型:On-premise / IaaS / PaaS / SaaS / FaaS / Serverless
“上云”不是一个动作,而是一组梯度选择——你想让厂商管多少、自己管多少。把 4 种主流模型(+ 进阶 3 种)一次讲透,配责任栈对比、真实例子、选型框架。
一句话定位
所有 -aaS(X as a Service)的本质:把”原来要自己买/装/管的东西”变成”按月付费的服务”。差别只在于厂商替你承包了哪几层。
核心:到底”谁管什么”——9 层责任栈
一个完整应用从底层到顶层有 9 层。不同交付模型的差别就是”哪些层归你管,哪些层厂商管”:
| 第几层 | 这一层是干啥的 | On-premise 本地自建 | IaaS 基础设施 | PaaS 平台 | SaaS 成品软件 |
|---|---|---|---|---|---|
| 应用 (Application) | 你的网站、App、业务逻辑 | 🧑你 | 🧑你 | 🧑你 | 🏢厂商 |
| 数据 (Data) | 用户数据、业务数据 | 🧑你 | 🧑你 | 🧑你 | 🏢厂商 |
| 运行时 (Runtime) | Node.js、Python 解释器 | 🧑你 | 🧑你 | 🏢厂商 | 🏢厂商 |
| 中间件 (Middleware) | nginx、消息队列、缓存 | 🧑你 | 🧑你 | 🏢厂商 | 🏢厂商 |
| 操作系统 (OS) | Linux / Windows | 🧑你 | 🧑你 | 🏢厂商 | 🏢厂商 |
| 虚拟化 (Virtualization) | 把物理机切成虚拟机 | 🧑你 | 🏢厂商 | 🏢厂商 | 🏢厂商 |
| 服务器 (Servers) | 物理机器 | 🧑你 | 🏢厂商 | 🏢厂商 | 🏢厂商 |
| 存储 (Storage) | 硬盘、SSD | 🧑你 | 🏢厂商 | 🏢厂商 | 🏢厂商 |
| 网络 (Networking) | 网线、交换机、机房 | 🧑你 | 🏢厂商 | 🏢厂商 | 🏢厂商 |
越往右,你管得越少;越往左,你自由度越高。
披萨打比方(最经典的入门类比)
On-premise(本地自建)
→ 自己买面粉 + 烤箱 + 烤盘 + 自己揉
→ 全自建,啥都自己来
IaaS(基础设施即服务)
→ 租厨房(场地、烤箱)→ 自己买料、自己做
→ 例:AWS EC2、阿里云 ECS
PaaS(平台即服务)
→ 租厨房 + 备好半成品面胚 → 你只管放料烤
→ 例:Heroku、Vercel、Cloudflare Workers
SaaS(软件即服务)
→ 直接点一份成品披萨送到家 → 你只负责吃
→ 例:Notion、Figma、飞书
这个比方源自 Albert Barron 2014 年的经典图示《Pizza as a Service》,业界沿用至今。
1️⃣ On-premise(本地自建)—— 自己买面粉买烤箱
你做什么
全栈自己扛。 买服务器 → 租机房(或自建机房)→ 装操作系统 → 装数据库 → 装中间件 → 部署你的应用。
真实场景
- 大型银行的核心交易系统——必须自建,监管要求
- 政府涉密系统——数据不能出门
- 老牌大型企业的 ERP(SAP 早期版本,本地部署)
优缺点
| ✅ 优点 | ❌ 缺点 |
|---|---|
| 数据 100% 在自己手里 | 前期投入巨大(服务器几百万 + 机房空调电费) |
| 想怎么定制就怎么定制 | 扩容慢(双 11 想加机器要 3 个月) |
| 长期可能便宜(不交租金) | 运维全靠自己(宕机半夜起来修) |
适合谁
强合规行业(金融、政府、军工)+ 不差钱的大公司。 个人和初创公司基本不会选。
2️⃣ IaaS — Infrastructure as a Service(基础设施即服务)
你做什么
租台虚拟机,剩下的自己来。 厂商把硬件、机房、网络管好;你装系统、装软件、部署应用。
真实场景:自己搭一个网站
- 在阿里云买一台 ECS(2 核 4G,¥120/月)
- SSH 登进去,自己装 Ubuntu
- 自己装 nginx + MySQL + Node.js
- 自己上传代码、配域名、配 SSL
- 流量上来了,自己手动加机器或开自动伸缩
代表产品
| 产品 | 来自 | 特点 |
|---|---|---|
| AWS EC2 | 亚马逊 | 全球云老大,功能最全 |
| 阿里云 ECS | 阿里 | 国内最大 |
| 腾讯云 CVM | 腾讯 | 国内第二 |
| Google Compute Engine | 谷歌 | 全球第三,AI 友好 |
| DigitalOcean Droplets | DO | 个人开发者最爱(便宜、简洁) |
优缺点
| ✅ 优点 | ❌ 缺点 |
|---|---|
| 不用买硬件,按月付钱 | 还是要懂运维(Linux / nginx / SSL) |
| 弹性伸缩(流量大就加机器) | 小毛病自己修(磁盘满、内存不够) |
| 自由度高(OS / 中间件随便选) | 安全补丁要自己打 |
适合谁
有技术团队、需要灵活控制底层的公司——传统 Web 应用、企业 IT 系统、大数据分析。
3️⃣ PaaS — Platform as a Service(平台即服务)
你做什么
只写代码,git push 就完事了。 服务器、操作系统、运行时、中间件——全由平台搞定。
真实场景:发布一个 Next.js 网站
- 在 Vercel 绑定 GitHub 仓库
- git push 到 main 分支
- 自动部署、自动 HTTPS、自动 CDN——10 秒后网站上线
- 流量上来了,平台自动扩容
整个过程不用知道服务器在哪、用的什么 Linux、装的什么 nginx——你只管写代码。
代表产品
| 产品 | 擅长场景 |
|---|---|
| Vercel | 前端 / Next.js(个人开发者最爱) |
| Netlify | 静态网站 / Jamstack |
| Cloudflare Workers | 边缘计算(全球分布) |
| Heroku | 老牌 PaaS(被 Salesforce 收购后衰落) |
| Railway | Heroku 的现代替代 |
| Render | 平价全栈 PaaS |
| Fly.io | 全球分布式部署 |
优缺点
| ✅ 优点 | ❌ 缺点 |
|---|---|
| 极简部署(git push 即上线) | vendor lock-in(平台锁定):迁移要改一堆配置 |
| 不用懂运维 | 流量大了贵(单价比 IaaS 高很多) |
| 免费额度足够小项目 | 定制受限(平台不支持的中间件就没辙) |
适合谁
独立开发者、小团队、初创公司 MVP 阶段、OPC——想快速上线、不想雇运维。
4️⃣ SaaS — Software as a Service(软件即服务)
你做什么
注册账号 → 登录 → 用。 不写代码、不管服务器、不管数据库。
真实场景:找一个团队协作工具
- 打开 notion.so
- 注册账号
- 邀请同事加入
- 直接开始写文档——完。
你不知道(也不需要知道)Notion 跑在 AWS 还是 GCP 上、用了什么数据库、几个工程师在维护。
代表产品
| 类型 | 代表 |
|---|---|
| 协作文档 | Notion、飞书、语雀 |
| 设计 | Figma、Canva |
| 沟通 | Slack、Discord |
| 项目管理 | Jira、Linear、Trello |
| CRM | Salesforce、HubSpot |
| AI 工具 | ChatGPT、Claude.ai、Midjourney |
优缺点
| ✅ 优点 | ❌ 缺点 |
|---|---|
| 零门槛(不需要任何技术) | 数据在厂商手里(厂商倒闭 / 封号 = 数据没了) |
| 多端同步 | 不能深度定制 |
| 自动升级 | 长期付费贵(100 人公司 Slack 一年 5 万美元) |
适合谁
所有人——99% 的通用需求都已经有 SaaS 产品。
进阶:FaaS / BaaS / Serverless
“-aaS” 是个通用模板,2010 年代后被无限延伸:
FaaS — Function as a Service(函数即服务)
你只写一个函数,平台帮你跑。 不需要长期运行的服务器,按调用次数收费。
// 一个 Cloudflare Worker(FaaS)函数
export default {
async fetch(request) {
return new Response("Hello from the edge!");
}
}部署后,全球任何地方访问这个 URL,函数就跑一次。没访问就不跑、不收钱。
代表:AWS Lambda、Cloudflare Workers Functions、Vercel Functions、Azure Functions。
BaaS — Backend as a Service(后端即服务)
前端 + 现成的云后端 SDK,不用自己搭后端。 数据库、认证、文件存储、推送通知一站式打包。
// Supabase(BaaS)——3 行代码完成"用户登录 + 查询"
const { data } = await supabase
.from('posts')
.select('*')
.eq('user_id', user.id)代表:Firebase(谷歌)、Supabase(开源 Firebase 平替)、AWS Amplify、Appwrite。
Serverless(无服务器)
FaaS + BaaS 的统称——“看起来没有服务器”。
⚠️ 字面是”无服务器”,实际上服务器还是有——只是你不用感知它的存在,按用量付费而非按时长付费。
各种 -aaS 全家福
| 缩写 | 全称 | 中文 | 典型代表 |
|---|---|---|---|
| IaaS | Infrastructure as a Service | 基础设施即服务 | AWS EC2 / 阿里云 ECS |
| PaaS | Platform as a Service | 平台即服务 | Vercel / Heroku |
| SaaS | Software as a Service | 软件即服务 | Notion / Figma |
| FaaS | Function as a Service | 函数即服务 | AWS Lambda / Cloudflare Workers |
| BaaS | Backend as a Service | 后端即服务 | Firebase / Supabase |
| DBaaS | Database as a Service | 数据库即服务 | PlanetScale / Neon |
| MaaS | Model as a Service | 模型即服务 | Claude API / OpenAI API / Bedrock |
| AaaS | Agent as a Service | 智能体即服务 | 2025+ 兴起的智能体平台 |
| Serverless | 无服务器 | — | FaaS + BaaS 统称 |
选型框架:一张图判断你该用哪个
你想要的是什么?
├─ 极致定制 + 数据完全自控
│ → On-premise(贵、需要团队)
│
├─ 灵活控制底层 + 不想买硬件
│ → IaaS(懂运维就上 AWS / 阿里云)
│
├─ 快速上线 + 不想懂运维
│ → PaaS(写代码就上 Vercel / Railway)
│
├─ 比 PaaS 还省事 + 只写一段函数
│ → FaaS / Serverless(Cloudflare Workers / Lambda)
│
└─ 我连代码都不想写
→ SaaS(用 Notion / Figma / 飞书)
一个真实例子:三种方式做同一个博客
| 路径 | 怎么做 | 月成本 | 上线时间 |
|---|---|---|---|
| IaaS | 阿里云 ECS + 自装 WordPress | ¥120 | 半天(懂技术) |
| PaaS | Vercel + Next.js + GitHub | ¥0(免费额度内) | 10 分钟 |
| SaaS | 注册公众号 / 知乎 / Substack | ¥0 | 5 分钟 |
结论:技术能力越弱、越想快,越往右选;自由度要求越高、越想自控,越往左选。
独立创业者(OPC / Indie Hacker)的典型组合
OPC 通常待在 PaaS + Serverless + SaaS 的组合区——因为没人手运维。一个典型的 OPC 技术栈:
前端 → Vercel(PaaS)
后端 → Cloudflare Workers(FaaS)
数据库 → Supabase(BaaS / DBaaS)
认证 → Clerk(SaaS)
支付 → Stripe(SaaS)
邮件 → Resend(SaaS)
分析 → PostHog(SaaS)
总月成本:通常 ¥0~¥500,可以撑到几千用户。没有任何一台服务器需要自己运维。
历史脉络(30 秒看懂”上云”演进)
2000 年代之前:On-premise 一统天下
↓
2006 年:AWS EC2 横空出世(IaaS 诞生)
↓
2007~2010 年:Heroku 兴起(PaaS 兴起)
↓
2010 年代:SaaS 大爆发(Salesforce、Slack、Notion)
↓
2014 年:AWS Lambda 发布(Serverless / FaaS 元年)
↓
2020 年代:Vercel / Cloudflare 让 PaaS / FaaS 走向极致
↓
2023+:MaaS 兴起(Claude API、OpenAI API)
↓
2025+:AaaS 萌芽(Agent 即服务,Claude Code 是早期形态)
每一代的核心趋势:让开发者管的事越来越少,让厂商承包的越来越多。
常见误区
误区 1:Serverless = 没有服务器
❌ 错。服务器还在,只是你不感知、不维护、按用量付费。
误区 2:上 PaaS 就一定比 IaaS 贵
❌ 不一定。小流量阶段 PaaS 通常免费;大流量时 PaaS 单价高,但省了运维团队工资——总成本未必更高。
误区 3:SaaS 一定比自建慢
❌ 反了。SaaS 厂商投入巨大优化性能,通常比你自建的快很多。
误区 4:私有化部署 = On-premise
✅ 大部分情况是。但有些 SaaS 厂商提供”私有化部署版”——把他们的 SaaS 装到你的机房,本质是 On-premise 形式 + SaaS 的产品。
与本知识库其他章节的关联
| 关联点 | 文档 | 关系 |
|---|---|---|
| 缩写速查 | 程序员黑话速查 § 云服务族 | 本文是”为什么”,速查表是”快查” |
| 独立开发者技术栈 | 程序员黑话速查 § 独立创业族 | OPC / Indie Hacker 用 PaaS+FaaS+SaaS 的原因 |
| 大模型 API 调用 | 上下文窗口与Token计费 | MaaS 的计费就建立在 Token 上 |
| Agent 工程 | Harness 工程与 Agent 解剖 | AaaS 是 Agent 工程的产品化形态 |
| 内部系统选型 | 内部工具选型方法论 | 低代码平台 = PaaS 在内部工具场景的产品化形态 |
一句话总结
“上云”的本质是让别人替你管底层。你管得越少,自由度越低、贵单价越高、但总成本(含运维人力)可能越低。 选型不是技术问题,是”我想把精力花在哪一层”的问题。
创建时间:2026-05-16