云服务交付模型: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(基础设施即服务)

你做什么

租台虚拟机,剩下的自己来。 厂商把硬件、机房、网络管好;你装系统、装软件、部署应用。

真实场景:自己搭一个网站

  1. 在阿里云买一台 ECS(2 核 4G,¥120/月)
  2. SSH 登进去,自己装 Ubuntu
  3. 自己装 nginx + MySQL + Node.js
  4. 自己上传代码、配域名、配 SSL
  5. 流量上来了,自己手动加机器或开自动伸缩

代表产品

产品来自特点
AWS EC2亚马逊全球云老大,功能最全
阿里云 ECS阿里国内最大
腾讯云 CVM腾讯国内第二
Google Compute Engine谷歌全球第三,AI 友好
DigitalOcean DropletsDO个人开发者最爱(便宜、简洁)

优缺点

✅ 优点❌ 缺点
不用买硬件,按月付钱还是要懂运维(Linux / nginx / SSL)
弹性伸缩(流量大就加机器)小毛病自己修(磁盘满、内存不够)
自由度高(OS / 中间件随便选)安全补丁要自己打

适合谁

有技术团队、需要灵活控制底层的公司——传统 Web 应用、企业 IT 系统、大数据分析。


3️⃣ PaaS — Platform as a Service(平台即服务)

你做什么

只写代码,git push 就完事了。 服务器、操作系统、运行时、中间件——全由平台搞定。

真实场景:发布一个 Next.js 网站

  1. 在 Vercel 绑定 GitHub 仓库
  2. git push 到 main 分支
  3. 自动部署、自动 HTTPS、自动 CDN——10 秒后网站上线
  4. 流量上来了,平台自动扩容

整个过程不用知道服务器在哪、用的什么 Linux、装的什么 nginx——你只管写代码。

代表产品

产品擅长场景
Vercel前端 / Next.js(个人开发者最爱)
Netlify静态网站 / Jamstack
Cloudflare Workers边缘计算(全球分布)
Heroku老牌 PaaS(被 Salesforce 收购后衰落)
RailwayHeroku 的现代替代
Render平价全栈 PaaS
Fly.io全球分布式部署

优缺点

✅ 优点❌ 缺点
极简部署(git push 即上线)vendor lock-in(平台锁定):迁移要改一堆配置
不用懂运维流量大了贵(单价比 IaaS 高很多)
免费额度足够小项目定制受限(平台不支持的中间件就没辙)

适合谁

独立开发者、小团队、初创公司 MVP 阶段、OPC——想快速上线、不想雇运维。


4️⃣ SaaS — Software as a Service(软件即服务)

你做什么

注册账号 → 登录 → 用。 不写代码、不管服务器、不管数据库。

真实场景:找一个团队协作工具

  1. 打开 notion.so
  2. 注册账号
  3. 邀请同事加入
  4. 直接开始写文档——完。

你不知道(也不需要知道)Notion 跑在 AWS 还是 GCP 上、用了什么数据库、几个工程师在维护。

代表产品

类型代表
协作文档Notion、飞书、语雀
设计Figma、Canva
沟通Slack、Discord
项目管理Jira、Linear、Trello
CRMSalesforce、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 全家福

缩写全称中文典型代表
IaaSInfrastructure as a Service基础设施即服务AWS EC2 / 阿里云 ECS
PaaSPlatform as a Service平台即服务Vercel / Heroku
SaaSSoftware as a Service软件即服务Notion / Figma
FaaSFunction as a Service函数即服务AWS Lambda / Cloudflare Workers
BaaSBackend as a Service后端即服务Firebase / Supabase
DBaaSDatabase as a Service数据库即服务PlanetScale / Neon
MaaSModel as a Service模型即服务Claude API / OpenAI API / Bedrock
AaaSAgent 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半天(懂技术)
PaaSVercel + Next.js + GitHub¥0(免费额度内)10 分钟
SaaS注册公众号 / 知乎 / Substack¥05 分钟

结论:技术能力越弱、越想快,越往右选;自由度要求越高、越想自控,越往左选。


独立创业者(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