云计算基础

IaaS、PaaS、SaaS 到底怎么区分?一张表看懂云计算服务模型

IaaS、PaaS、SaaS 的区别只有一条主线:谁负责操作系统、运行时、中间件和应用程序。IaaS 把虚拟机交给你,操作系统以上全部自管;PaaS 接管操作系统与运行时,你只管代码和数据;SaaS 连应用本身都由厂商运营,你只是使用者。控制力越往下越强,运维负担与成本弹性也越往上越轻。

责任边界:一条线划清三种模型

把技术栈从下往上排:物理设施、虚拟化、操作系统、运行时、中间件、应用、数据。不同模型的分界线画在不同高度,这条线以上是"你管",以下是"厂商管"。云安全领域把它叫责任共担模型,选型时它同样适用。

层次 IaaS PaaS SaaS
物理设施与虚拟化 厂商 厂商 厂商
操作系统与补丁 你 厂商 厂商
运行时(JVM/PHP/Node) 你 厂商 厂商
中间件与数据库 你 厂商(受管服务) 厂商
应用代码 你 你 厂商
数据与账号权限 你 你 你(配置层)
典型产品 云服务器、VPC、块存储 应用托管、容器平台、云数据库 在线文档、CRM、邮箱

要特别注意最后一行:无论哪一层,数据与访问权限始终由你负责。把数据放进 SaaS 并不等于把合规责任也外包出去。

IaaS:给你地基,其余自建

IaaS 交付的是计算、存储、网络这些原始资源。你拿到 root,能装任何软件、改任何内核参数、配任何网络拓扑。优点是控制力最强、可迁移性最好、能承载任何形态的遗留系统;代价是所有运维工作都要自己做——补丁、监控、备份、高可用、容量规划。

适合的场景:有专职运维或平台团队、需要特殊内核或网络配置、有明确的成本优化诉求并愿意自己动手、或正在从 IDC 迁移且短期内无法改造架构。相关的基础概念可参考什么是云服务器。

PaaS:把运维成本换成约束

PaaS 的形态比 IaaS 模糊得多,从"托管的数据库"到"只能推代码的应用引擎"都算。共同点是:你不再拥有服务器,平台保证运行时、扩缩容和健康检查,你通过配置和代码描述期望状态。

  • 托管中间件:云数据库、消息队列、Redis。最容易被接受的一类 PaaS,省掉主从、备份、升级这些重复劳动。
  • 应用托管平台:推代码即部署,平台负责构建、发布、回滚、日志。约束是不能随意改系统层。
  • 容器平台:Kubernetes 及其托管版本。介于 IaaS 与 PaaS 之间,你仍然要理解节点与网络,但调度和编排交给平台。

PaaS 的核心权衡是"用控制力换效率"。当你需要改一个系统参数而平台不提供入口时,这个约束会变得非常具体。选型前先确认三件事:能不能自定义运行时版本、能不能导出数据、出问题时能不能看到底层日志。

SaaS:买的是结果,不是组件

SaaS 直接交付可用的应用,按账号或用量订阅。它的优势是把固定成本变成可变成本、上线周期从月变成天、由厂商承担升级与安全补丁。代价是数据在别人那里、定制空间受限于厂商开放的能力、长期订阅总成本可能超过自建。

判断 SaaS 是否值得,不看单价看"总拥有成本":把自建需要的人力、服务器、备份、合规审计折算进去,多数非核心业务系统用 SaaS 更便宜,核心业务系统则往往需要保留控制权。

成本结构与弹性差异

维度 IaaS PaaS SaaS
计费单位 实例规格 × 时长 + 流量 实例数 / 调用量 / 存储 账号数 / 月活 / 功能档位
固定成本占比 高,需预留容量 中,可按需伸缩 低,纯订阅
规模效应 用量越大单价越低 较平缓 按人头线性增长
闲置浪费 高,易出现长期空跑的实例 较低 低,可随时减席位
退出成本 低,镜像可迁移 中,存在平台绑定 高,数据导出格式受限

一个常被忽略的事实是:PaaS 与 SaaS 的隐性成本主要在"绑定"。迁移时导出的数据、重写的部署脚本、重新培训的团队,都是真实支出。成本优化的系统方法见云计算成本优化实战。

企业选型决策树

  1. 这项能力是不是公司的核心竞争力?是,倾向 IaaS 或自建,保留控制权;否,倾向 SaaS。
  2. 有没有专职团队维护它?没有,直接排除需要自己运维的选项。
  3. 是否有硬性合规或数据落地要求?有,优先私有化部署或受管专属实例。
  4. 负载波动是否剧烈?剧烈,选能自动伸缩的 PaaS 或按量 IaaS。
  5. 未来两年是否会大规模改造?会,避免深度绑定单一平台的专有接口。
  6. 算一遍三年总拥有成本,包含人力与迁移成本,再做最终决策。

实际落地通常是混合的:底层用 IaaS 承载核心系统,中间件用 PaaS 托管,办公协作类业务用 SaaS。三层并存不是妥协,而是把有限的工程能力投到真正差异化的地方。

FaaS 与 BaaS:往更上层再走一步

FaaS(函数即服务)把责任边界推到函数级:你只写一个处理函数,平台按事件触发、按调用计费、自动伸缩到零。适合事件驱动的轻量逻辑,比如图片处理、Webhook 接收、定时任务。限制是冷启动、执行时长上限、以及本地调试体验较差。

BaaS(后端即服务)提供现成的后端能力:用户认证、推送、对象存储、实时数据库。移动端和小程序开发常用它跳过自建后端。两者常被合称 Serverless,本质都是"进一步放弃对运行环境的控制,换取更细粒度的计费与更低的运维投入"。

若打算走向容器化与微服务,建议接着读云原生架构入门与Kubernetes 核心概念,PaaS 的抽象方式与这两者有直接继承关系。

常见问题

云服务器属于 IaaS 还是 PaaS?

属于 IaaS。你拿到的是虚拟机和网络,操作系统、运行时、中间件都要自己装和维护。如果厂商进一步接管了运行环境和扩缩容,比如应用托管或容器平台,那一层才是 PaaS。

中小企业应该从 IaaS 起步还是直接用 PaaS?

没有专职运维的小团队用 PaaS 更快,能省掉大量重复劳动;但核心业务应保留数据导出与迁移通道。有一定规模且负载特征明确的团队,IaaS 加托管中间件的组合通常性价比最好。

SaaS 的数据安全由谁负责?

厂商负责平台安全与基础设施,你负责账号权限、数据分类、共享设置与审计。多数数据泄露源于配置错误而非平台被攻破,例如把内部文档设成公开链接。

PaaS 会不会锁定厂商,以后迁不走?

取决于用了多少专有能力。只用托管数据库、对象存储这类通用能力,迁移成本可控;用了厂商专有的函数框架、专有数据库或深度集成的 CI,迁移会显著变难。签约前先确认数据导出格式与网络出口方案。

延伸阅读