最近在攻克 SAAS 从 0 到 1 的架构设计,希望把已有的能力 SAAS 化,做个代练行业垂类的 SAAS,可以连通行业上下游。
通常的 SAAS 是针对一些可以标准化的场景,有通用的租户和针对的解决方案,做出 SAAS 平台后做推广。比如飞书、友盟等,它们是先有产品,构建 SAAS 的租户,再以用户为基础,让开发者基于 SAAS 平台,自定义开发产品。
他们也有两种商业模式。
- 泛类通过 SAAS 主功能和三方产品盈利。
比如飞书、钉钉、企微,他们租户很广泛,所有公司、组织都可以用,它们 SAAS 主功能有组织架构、平台权限、IM 等。
盈利点包括:
- 大客户定制化,中小客户按人头收费。
- 通过 SAAS 平台的特点吸引租户(比如飞书是云文档 + OKR),收取开发者佣金。
这些涉及的三方产品非常多,飞书自己不会都做,他只需做好开发者系统,鼓励开发者入驻开发,它主要提供用户,SAAS 平台作为流量入口。
- 垂类通过做好自身产品盈利
比如友盟,SAAS 主功能是数据收集和分析。它所有的产品都是自身开发,基于 SAAS 主功能扩展的。

友盟这种,所有参与人员都是自己,没有第三方开发者概念。它的产品更垂,受众更小。
我要做的 SAAS 更特殊,友盟和飞书起码是先有产品,再吸引用户,我这是已有用户和供应链,差个 SAAS 把他们关联之前,我们希望 SAAS 为我们提供模块化的支持,业务特点更像友盟。
所以我们 SAAS 有以下边界
- 垂类行业的 SAAS,用户群体固定,对有需求的人是刚需。
- 靠自己做好产品挣钱,几乎没有三方开发者。
- 几乎都是根据行业定制化的产品。
这个 SAAS 最大的作用,就是把前后端服务模块化,提高产研效率。
SAAS 主站、开发者、产品
SAAS 主站是 SAAS 自身的系统,租户无需开通任何产品就有的功能,比如组织架构、员工、平台级权限管理,未来我们还会做钱包、企微基础能力。
开发者平台,是在 SAAS 申请成为开发者后,自行编码应用,嵌入到 SAAS 中,可以通过调用 SAAS OpenApi 的方式获取商户在 SAAS 主站上信息,完整自己业务闭环。
产品,也叫解决方案。由多个应用打包,每个应用内有多个资源。

比如飞书中的销帮帮,这是产品,它里面每个菜单,都是应用,菜单中的每个页面,都是资源。(其实资源除了页面还有数据、功能,就是 RBAC 标准的一套,为了方便理解, 只说菜单资源)
这里应用只代表功能,不包含数据,多个功能模块(应用)打包,可以任意组成新的产品。
比如做个销忙忙产品,把这里 CRM 应用挪过去,再加点别的数据菜单就行了。
但是销帮帮和销忙忙的数据是隔离的。
后端应用分层和基础组件
后端服务分为 base、admin、app 层,所有应用的代码在 base 中,SAAS 管理后台是 admin,所有对外和租户门户服务是 app。
行业本身也有个最大的 admin,管所有行业内的租户,这个是开发者自己开发的。
基础组件有
- saas-base,saas 的 base 服务,和数据库打交道那层。
- saas-application,组织架构、钱包等基础组件,都以内部应用的形式嵌入。
- saas-open,SAAS 对三方应用开放的接口,比如获取组织架构信息、员工信息等,走 oauth2 授权。
- saas-admin,SAAS 管理后台,负责打包应用成为产品、审核应用和权限、商户入驻申请等。
- saas-app,租户门户的后台,租户的产品展示在上面。
这篇概念性的比较多,有点难理解,下一遍重点说说技术实现细节。