1234 字
6 分钟
IaaS、PaaS、SaaS
认知
/
基础 /
云计算 云服务谱系
云服务谱系从底层基础设施到上层应用服务的演进路径:
flowchart TD
A[传统IT<br>自己管理一切] --> B[IaaS<br>基础设施即服务]
B --> C[PaaS<br>平台即服务]
C --> D[Serverless<br>(FaaS + BaaS)]
B --> E[SaaS<br>软件即服务]
subgraph B [IaaS]
direction LR
B1[管理:<br>应用、数据、<br>运行时、中间件、<br>操作系统、<br>虚拟化、<br>服务器、存储]
end
subgraph C [PaaS]
direction LR
C1[管理:<br>应用、数据]
C2[平台管理:<br>运行时、中间件、<br>操作系统、<br>虚拟化、<br>服务器、存储]
end
subgraph D [Serverless]
direction LR
D1[开发者仅管理:<br>函数代码<br>(FaaS)与<br>后端服务配置<br>(BaaS)]
D2[平台管理:<br>自动伸缩、<br>高可用、<br>运行时、<br>操作系统等]
end
subgraph E [SaaS]
direction LR
E1[使用者仅需:<br>使用软件]
E2[服务商管理:<br>一切]
end
- IaaS(基础设施即服务):这是云计算的“地基” 云厂商提供虚拟化的计算、存储、网络等基础资源
你需要在虚拟机上自己安装操作系统、部署环境、管理应用。就像租一块空地,你需要自己设计、建造、装修并维护房子
- PaaS(平台即服务):在IaaS之上又加了一层“开发平台”
云厂商不仅提供基础设施,还提供了应用开发、运行、管理的环境(如数据库、中间件等)
你无需管理底层,但应用的扩缩容、高可用等仍需一定配置。这好比租一个精装公寓,开发商(云厂商)提供了水电网和基本装修,你拎包入住即可,但房子日常的维护(如管理应用配置)仍需自己负责
- SaaS(软件即服务):这是给最终用户使用的完整软件。你无需关心任何技术细节,只管使用软件功能,按需付费
这就像直接住进一家全服务的五星级酒店,一切需求都有人为你打理好
Serverless,则代表了比PaaS更高一层的抽象。它通常由 FaaS(函数即服务) 和 BaaS(后端即服务) 两部分构成
开发者只需编写和上传核心业务代码(函数),平台的伸缩、高可用等全由云厂商自动处理
这更像是网约车服务,你只需告诉平台目的地(业务事件),平台自动调度车辆(计算资源),你只为实际使用的路程付费
⏳ 第二维度:它的产生与发展时间线
Serverless并非凭空出现,它的发展历程反映了云计算不断追求极致弹性和效率的必然趋势。
-
萌芽期(2006-2011):云计算的诞生
- 2006年,AWS发布了Amazon S3(对象存储服务)和Amazon EC2(弹性计算云),标志着现代公有云的诞生。值得注意的是,S3本身就被认为是早期无服务器架构的体现
- 2008年,Google发布了Google App Engine,这是一个早期的PaaS平台,让开发者无需管理服务器即可部署应用
-
概念提出期(2012-2013):理念的诞生
- 2012年,云基础设施服务商Iron.io公司的副总裁Ken Fromm首次提出了“Serverless”这个概念。不过当时缺乏落地技术,并未引起太大反响
-
商业化引爆期(2014-2016):从理念到现实
- 2014年,AWS发布了划时代的AWS Lambda服务,这是业界第一个商用的FaaS产品。它真正将Serverless从概念变成了可用的工具,开启了Serverless的商业化时代
- 2016年,看到AWS的成功,Google Cloud Functions和Microsoft Azure Functions相继推出。Serverless开始成为各大云厂商的“标配”
-
蓬勃发展期(2017-至今):生态的成熟与深化
- 2017年,国内的阿里云和腾讯云也先后推出了自己的Serverless平台
- 2018-2019年,Serverless进入生产应用和最佳实践的快速发展阶段。2019年,伯克利大学发表著名论文,预测Serverless将是云计算下一个十年的发展方向
- 至今,Serverless已从最初的计算(FaaS)扩展到数据库、大数据分析、人工智能等几乎所有云服务领域
🔗 相关概念澄清
在理解Serverless时,有几个容易混淆的概念需要厘清:
- Serverless ≠ FaaS:FaaS是Serverless的核心,但Serverless是FaaS和BaaS的组合。可以说,FaaS是Serverless的一种具体实现形式
- Serverless vs. 容器 (Container):容器(如Docker)是Serverless的底层技术之一。Serverless平台内部使用容器来隔离和运行你的函数,但对开发者而言,这些容器是完全透明的
- Serverless vs. 云原生 (Cloud Native):云原生是一套更宏大的技术理念和方法论,而Serverless是实现云原生目标的一种高级阶段或具体路径
编辑于 2026-08-19
部分信息可能已经过时