很多团队做了两三年 SaaS 之后,都会遇到同一个问题:系统明明已经云化,为什么交付成本还是高、版本还是难迭代、客户需求还是不断撕裂主线?
原因通常不是“技术不够先进”,而是从第一天就把 SaaS 理解窄了。SaaS 不只是部署方式变化,而是商业契约、交付模型、软件形态三件事同时变化。少看任何一层,后面都要补课。

今天我想系统聊一件事: 一个 SaaS 团队到底在做什么。
我做后端业务很多年,越做越觉得,真正拉开差距的不是“会不会上云”,而是有没有想清楚三个根问题:

  1. SaaS 对企业到底解决了什么核心问题。
  2. 在满足多数客户的前提下,怎么做个性化且不撕裂主线。
  3. 我们到底靠什么赚钱,收费模型如何反向约束产品和技术。

这三个问题如果不一起想,团队很容易进入一种表面繁荣: 功能越来越多,客户越来越杂,代码越来越重,但复用率和毛利率并没有同步提升。

先把词讲清楚:SaaS 不是一个词,而是三件事叠加

这几年大家都在聊 SaaS、多租户、低代码、云化,但很多讨论只停在技术层。
我的理解更简单: 不要把 SaaS 当名词,要把它当三次迁移的叠加。

  1. 商业契约迁移:从一次性买断转向持续订阅。
  2. 交付迁移:从客户机房部署转向服务商托管。
  3. 软件形态迁移:从“为一个客户写一套代码”转向“为一个行业定义默认工作方式”。

很多团队只盯第二件事,觉得把系统托管到云上就完成了 SaaS 化。
但如果第一件事和第三件事没跟上,本质上只是“在线项目制”,不是 SaaS。

真正的分水岭是这一句:
SaaS 代表软件从一次性商品,变成长期服务关系。

从项目制到行业操作系统:SaaS 本质是标准化博弈

传统定制软件在做的是“把某一个客户的流程数字化”。
SaaS 在做的是“替一个行业给出一套默认且持续演化的工作方式”。

我习惯用一个二维坐标解释这件事:

  1. X 轴:行业里各家公司今天实际上是怎么干活的。
  2. Y 轴:这些公司希望自己怎么干活,或者说应该怎么干活。

项目制通常沿着 X 轴复刻现状。
SaaS 的野心是给出一条更标准、更可复制、也更可治理的路径,逐步把客户从 X 轴推向 Y 轴。

这会带来一个很现实的 trade-off:
你越是坚持标准,越可能在短期遭遇“为什么不能按我们历史习惯做”的阻力;
你越是迎合所有现状,越会在中长期失去主线和复利。

所以做 SaaS 必须有一点“产品上的克制与傲慢”:

  1. 克制在于不把所有需求都做进主线。
  2. 傲慢在于敢于给出工作流观点,并推动行业默认水平上移。

基石一:多租户真正的价值,不是省机器,而是复利

谈 SaaS 就绕不开租户。广义上,一个租户通常就是一个客户组织。
很多人把多租户理解为“同一套系统塞更多客户,节约成本”。这个理解不算错,但太浅。

我更认同的视角是:多租户是让产品、运维和认知同时产生复利的基础设施。
如果没有多租户心智,你做的还是批量外包,不是 SaaS。

四层隔离是基本盘

一个成熟的多租户系统,至少要把隔离做到四层:

  1. 数据隔离:A 公司不能看到 B 公司的任何数据,包括主库、日志、报表、导出。
  2. 权限隔离:同租户内部不同角色也只能看各自该看的范围。
  3. 资源隔离:大租户高并发不能把其他租户拖慢或拖垮。
  4. 故障隔离:单租户异常不能扩大成全局事故。

这四层如果只停在 PPT 上,后面谈复利都是空话。

多租户带来的三类复利

  1. 产品演化复利:一次字段优化、一次流程改进、一次推荐策略调整,可以覆盖全部或大多数租户。
  2. 运维治理复利:一套监控体系、一条故障定位路径、一套容量模型,可以跨租户复用。
  3. 行业认知复利:你能看到真实的行业平均线、头部实践和无效功能,再反哺产品默认方案。

这也是为什么优秀的 SaaS 团队会对可观测性极度执着。
他们不是在“排查一个 bug”,而是在建立“多租户可复用的诊断体系”。

可观测性至少要回答的五个问题

  1. 某个租户的错误率、延迟、QPS 分别是多少。
  2. 某个租户为什么会觉得慢,是资源瓶颈还是流程配置问题。
  3. 某个功能被谁在用、用到了哪一步、在哪一步流失。
  4. 哪些模块被高频使用,哪些模块是产品认为重要但无人使用。
  5. 某次变更对全量租户和头部租户分别造成了什么影响。

只有回答得出这些问题,多租户的“网络效应”才会真的发生。

基石二:决定 SaaS 生死的,不是代码量,而是边界管理

很多号称 SaaS 的系统,最后都会死在一个词上: 边界。
我见过最典型的三种边界失守。

  1. 产品边界失守:什么都做,最后什么都不精,主线越来越碎。
  2. 客户边界失守:客户要什么就做什么,最终变成“以 SaaS 名义做外包”。
  3. 技术边界失守:把个性需求直接写进主干,升级像做外科手术。

需求评审时,先做“归位”,再做“实现”

每个需求进来,我建议团队先问一句: 这个诉求应该挂在哪里。
如果挂错层,短期上线很快,长期维护成本会指数级上升。

一个可执行的分层方式是:

  1. 平台内核:十年维度稳定、全租户共享、不会轻易改动的能力。
  2. 行业插件:面向某垂直行业的预设流程和规则模板。
  3. 客户规则:只属于单客户,必须放在配置、脚本、规则引擎或插件,不进主线。

这套分层不是“架构美学”,而是成本控制手段。
你把客户规则写进内核,本质是在给未来所有版本埋雷。

还有一个关键边界:谁来解决什么问题

很多客户需求,本质上不是产品能力问题,而是管理问题或组织问题。
例如“员工不会用系统”“KPI 设计不清晰”“内部流程没人推进”等。

深一点的 SaaS 团队会明确三件事:

  1. 哪些问题必须产品化,才能规模复用。
  2. 哪些问题应该由培训、实施、顾问、生态伙伴解决。
  3. 哪些问题即便客户强烈要求,也不该承诺产品承担。

这个边界一旦不清,团队会被无限需求拖入低复用泥潭。

基石三:收费模式和成本模式必须成对出现

SaaS 团队常见误区是“技术做得不错,商业模型模糊”。
模型一模糊,后果非常现实:你不知道某租户究竟赚钱还是亏钱,自然也不知道该给他什么级别的隔离、资源和 SLA。

我一直强调一句话: 收费模式会反向塑造技术形态。

  1. 按席位或版本收费:你必须把权限、模块、版本边界切清楚。
  2. 按用量收费:你必须从第一天就具备计量、配额、账单、审计能力。
  3. 按结果收费:你必须控制关键业务链路并提供可验证归因。

这不是财务问题,也不是销售问题,这是架构问题。
因为它决定了你如何做资源池、隔离等级、容量规划和成本核算。

怎么做出“能长期演进”的 SaaS:四个判断维度

我自己现在会用四个维度评估一个团队的成熟度,这部分也最容易落地。

1) 时间维度判断

看一个需求,不先问“怎么实现”,先问“这个决定写入系统三年后会不会后悔”。
很多时候我们会优先选一个短期麻烦、长期省事的方案,因为 SaaS 本来就是长期复利游戏。

2) 抽象维度判断

当三个客户提了看起来不同的诉求,团队能不能抽象出一个平台能力。
如果每次都“按需求写接口”,最后只会得到一座越来越重的 if/else 博物馆。

3) 经济维度判断

听到“大客户特殊需求”时,不能只讨论开发工期,还要评估单位经济影响:

  1. 是一次性收益,还是长期成本项。
  2. 会不会引发连锁特例,拖慢后续版本。
  3. 是否影响现有计费模型和资源公平性。

4) 组织维度判断

系统设计不只是代码结构,也是分工结构。
你要清楚哪些能力必须产品化,哪些交给实施,哪些交给生态伙伴。
分工清楚,团队才能把研发产能投入到可复用主线。

一个合格 SaaS 工程师的判断信号

我会用下面这些信号判断工程师是否具备 SaaS 思维:

  1. 看到需求先问“共性还是个性”,而不是先写实现。
  2. 评估方案会考虑“对全租户影响”和“对未来计费影响”。
  3. 聊架构时自然会谈租户模型、隔离策略、扩展点和规则引擎。
  4. 面对个性诉求,优先考虑配置化或插件化,而不是主线加分支。
  5. 讨论可观测性时不只看系统指标,也看租户级和业务级指标。

换句话说,优秀的 SaaS 工程师,设计的是“可演化系统”,不是“一次性交付代码”。

不适用边界:不是所有业务都适合第一天就做标准多租户

这里也要把边界说清楚,不然容易把 SaaS 写成万能答案。
以下场景通常不适合一开始就强推标准多租户:

  1. 强监管和强数据主权场景,必须物理隔离或专属环境。
  2. 行业流程还在剧烈变化,标准尚未稳定。
  3. 客户极度分散且个性需求占比过高,短期共性难抽象。

这时更务实的路线是“可迁移架构”:

  1. 先把领域边界和核心模型抽象清楚。
  2. 允许阶段性混合交付,积累共性数据。
  3. 共性形成后再回收进统一主线。

发布前可执行清单(面向团队落地)

如果你要把上面这些观点变成团队动作,可以直接用这份清单:

  1. 是否明确了平台内核、行业插件、客户规则三层边界。
  2. 是否定义并落地了数据、权限、资源、故障四层隔离。
  3. 需求评审是否包含“归位判断”,并要求记录归位结论。
  4. 个性诉求是否优先通过配置、规则引擎、插件实现。
  5. 是否建立租户级可观测性与业务级可观测性。
  6. 是否能按租户计算收入、成本和毛利。
  7. 是否把收费模式和资源/SLA 分层打通。
  8. 是否有高风险变更的回滚点和灰度策略。
  9. 是否能持续识别“看似重要但无人使用”的功能。
  10. 是否建立了客户问题与产品问题的分流机制。

这 10 条里只要有 3-4 条长期缺失,你的 SaaS 大概率会逐步退化成项目制。

写在最后

如果要把这篇文章压成一句话,我的答案是:
SaaS 的本质,不是把软件放到云上,而是把行业经验沉淀成可复用、可计量、可持续演进的服务系统。

多租户决定你有没有复利底座,边界管理决定你能不能长期演进,商业模型决定你最终能不能活得健康。
三件事分开讲都不难,难的是把它们在同一个系统里统一起来,而且持续很多年。