☁️ 第二章 构建系统优先考虑云服务的时代
📄 一句话概括

IaaS、PaaS、SaaS 的分界线不在价钱,在你从哪一层开始接手——三层往上,你管得越来越少、上手越来越快、能改的余地越来越小;没有哪一种更便宜,只有哪一种更合适。

📝 本节和前面几节的关系

上一节(一切尽在云中)把 XaaS 家族列全了,这一节专门讲其中最常被选中的三段。

这三个缩写其实在前面已经露过两次面:第一章的 云服务的市场规模 把市场按这三层拆开算过账(IaaS 3,200 亿、PaaS 2,100 亿、SaaS 3,200 亿美元),云计算对系统架构的改变 也用"能不能离开现在这台机器"筛过一批系统。但这两处都没有把"分界线到底画在哪一层"讲清楚——那正是这一节要补的。

一、分界线画在哪一层

把一套系统从下往上切成八层,三者的区别立刻就清楚了:

层次 自建 IaaS PaaS SaaS
机房与电力 你 提供商 提供商 提供商
服务器与存储 你 提供商 提供商 提供商
虚拟化 你 提供商 提供商 提供商
操作系统 你 你 提供商 提供商
运行时与中间件 你 你 提供商 提供商
应用代码 你 你 你 提供商
数据 你 你 你 你(部分)
用户与权限 你 你 你 你

三条分界线,一条比一条往上抬:

注意最下面两行——数据和用户权限,无论哪一层都仍然在你手上。 这一点最容易被忽略:云服务从来不替你负责数据(这一点在 1-15 讲故障恢复时也提过:那 4 分钟只是机器层面)。

二、同一个需求,三种买法

抽象的分层看着清楚,但落到具体项目上还是难。用一个最普通的例子——一个内部审批系统:

方式 上手时间 三年总成本 谁负责运维
IaaS 自建 3~4 周 约 42 万 你的团队
PaaS 平台 1~2 周 约 60 万 双方共担
SaaS 现成 3~5 天 约 72 万 提供商

这张表里最反直觉的是:上手越快的,总成本越高。 很多人第一反应是"那当然选便宜的",但这样看就漏掉了这张表真正的意思。

贵的部分,是你花钱买回来的时间和风险转移:

三、怎么选:一个问题就够了

这套流程是【我们的特色】还是【行业通用】?

这个判断可以往下再推一步:同一套系统,不同部分可以落在不同层。最典型的组合是"核心逻辑自己写、周边能力全托管"——用 PaaS 提供的认证、日志、消息队列,把自己的人集中在那段真正独特的代码上。

四、动手 Demo:把分界线和三种买法都摆出来

# 八层责任表:True = 提供商管,False = 你管
layers = ["机房与电力", "服务器与存储", "虚拟化", "操作系统",
          "运行时与中间件", "应用代码", "数据", "用户与权限"]
line = {"IaaS": 3, "PaaS": 5, "SaaS": 6}   # 分界线在第几层之下

for service, cut in line.items():
    # 分界线以上(index < cut)归提供商
    owner = ["提供商" if i < cut else "你" for i in range(len(layers))]
    print(service, owner)

实跑输出:

==================================================================================================
D5 云服务的分类:IaaS、PaaS、SaaS 差在哪一层
==================================================================================================
  【一】把系统从下往上切成八层,看三家各管到哪

  层次                  自建      IaaS        PaaS        SaaS
  --------------------------------------------------------------------------
  机房与电力            你        提供商      提供商      提供商
  服务器与存储          你        提供商      提供商      提供商
  虚拟化                你        提供商      提供商      提供商
  操作系统              你        你          提供商      提供商
  运行时与中间件        你        你          提供商      提供商
  应用代码              你        你          你          提供商
  数据                  你        你          你          你(部分)
  用户与权限            你        你          你          你

  【二】同一个需求(一个内部审批系统),三种买法的对比

  方式            上手时间        三年总成本        谁负责运维
  --------------------------------------------------------------------
  IaaS 自建       3~4 周          约 42 万          你的团队
  PaaS 平台       1~2 周          约 60 万          双方共担
  SaaS 现成       3~5 天          约 72 万          提供商

  ④ 没有【哪种更便宜】,只有【哪种更合适】。
     IaaS 上手最慢但最自由;SaaS 上手最快但只能照人家的流程走。
     选之前先问一句:这套流程是【我们的特色】还是【行业通用】?
     通用的部分越多,越该往上走;越独特,越该往下留。

读这个输出:第一张表最值得盯的是最后两行——不管选哪一层,数据和用户权限都留在"你"这一列。这解释了为什么"上云"从来不是把责任全交出去:云交出去的是运行环境,留下的是数据的归属和谁有权访问。第二张表则说明三者的差别不在贵贱,而在"你换来的是什么"——用钱换时间(上移)还是用时间换自由(下移)。

五、⚠️ 2026 现状

30 秒实验

想一件你每天都在用、但不是你公司自己开发的软件(比如公司的邮箱、考勤、报销系统),回答两句话:

  1. 你能改它的界面和流程吗? 只能选选项、不能改逻辑 → 典型 SaaS。
  2. 如果换一家,你要做什么? 如果只是把数据导出来再导进去,说明它跟你自己的系统耦合很浅——这就是 SaaS 的特征:换起来相对容易,但也没什么可改。

再想一个你们自己开发的核心系统,问同样两句。两者的答案对照一下,就能体会"分界线画在哪"的实际含义。

常见误区

  1. 错误:三层是递进关系,早晚都要走到 SaaS。——纠正:它们是并列选项,不是成长阶段。走到哪一层取决于"这件事是不是你们的差异所在"。很多公司最核心的系统会长期停在 IaaS 甚至自建——不是落后,而是因为那一层必须自己掌握。把分层当成升级路线,会导致核心能力被无谓地交出去。

  2. 错误:SaaS 上手快 3~5 天就能用,所以最划算。——纠正:上手快对应的是长期成本高,而且这笔钱买的不是"省事"而是"改动权"。你花了更高的年费,换来的是"流程按对方的做法走"。如果这套流程恰好就是你们的竞争力,那再便宜也是亏的。 反过来,如果它只是通用的行政流程,那贵一点也值——判断的依据是流程的性质,不是价格的数字。

  3. 错误:上云了,数据的安全就该云服务商负责。——纠正:看第一张表的最后两行——数据和用户权限一直在"你"这一列。提供商负责的是机器的运行和平台的可用性;数据流失、权限失控、误删误改,责任都在使用方。这也是各种责任划分模型(业界常说的"责任共担")的核心意思:平台的安全由平台负责,你的配置和数据由你负责。

  4. 错误:IaaS 更自由,所以应该都从 IaaS 开始。——纠正:IaaS 的"自由"同时也是"什么都要自己干"。操作系统补丁、运行时升级、中间件高可用,全落在你们团队身上。如果没有对应的运维力量,IaaS 的自由会变成负债——上手慢 3~4 周只是开始,后面还有持续的人力投入。选 IaaS 的前提是"你确实需要那份控制权",而不是"它看起来更灵活"。

自测三问(点开对答案) 1. 为什么这张表里"上手越快"和"总成本越高"会同时出现? —— 因为**越往上走,你买回来的东西越多**——不只是省掉搭建时间,还包括把操作系统的补丁、中间件的可用性、平台的运行这些长期责任一并转移给对方。**这笔钱买的是时间和责任的转移,不是容量**。所以对比时不能只看数字,要先问"贵的这部分,我换到了什么"。 2. 第一张表里,为什么"数据"和"用户与权限"这一行,无论哪一层都留在"你"这一列? —— 因为**云服务外包的是"运行",不是"归属"**。机器的运行、平台的可用性可以由对方保证;但数据属于谁、谁有权访问,这是组织自己的事,任何服务商都不会替你承担。**所以"上云"之后仍然要回答的问题包括:谁能看这些数据、备份在哪、误删了怎么恢复**——这些答案不在合同里,在你们自己的管理里。(第一章 1-15 讲故障恢复时那句"4 分钟只是机器层面",说的也是同一件事。) 3. "通用的部分往上走、独特的部分往下留"——这句话在实操上指什么? —— 指**同一套系统里各部分可以落在不同层**。比如:认证和日志用 PaaS 提供的托管能力(通用、无差别),核心业务逻辑自己写并自己掌握(独特、构成竞争力),报表和审批用 SaaS(通用、按流程走)。**它的实际价值是让人力集中在真正不可替代的部分**——而不是让整个系统统一上移或下移。

相关笔记