SAAS 系统设计(01)—— 重要模块设计

最近在攻克 SAAS 从 0 到 1 的架构设计,希望把已有的能力 SAAS 化,做个代练行业垂类的 SAAS,可以连通行业上下游。

通常的 SAAS 是针对一些可以标准化的场景,有通用的租户和针对的解决方案,做出 SAAS 平台后做推广。比如飞书、友盟等,它们是先有产品,构建 SAAS 的租户,再以用户为基础,让开发者基于 SAAS 平台,自定义开发产品。

他们也有两种商业模式。

  • 泛类通过 SAAS 主功能和三方产品盈利。

比如飞书、钉钉、企微,他们租户很广泛,所有公司、组织都可以用,它们 SAAS 主功能有组织架构、平台权限、IM 等。

盈利点包括:

  1. 大客户定制化,中小客户按人头收费。
  2. 通过 SAAS 平台的特点吸引租户(比如飞书是云文档 + OKR),收取开发者佣金。

这些涉及的三方产品非常多,飞书自己不会都做,他只需做好开发者系统,鼓励开发者入驻开发,它主要提供用户,SAAS 平台作为流量入口。

  • 垂类通过做好自身产品盈利

比如友盟,SAAS 主功能是数据收集和分析。它所有的产品都是自身开发,基于 SAAS 主功能扩展的。

友盟这种,所有参与人员都是自己,没有第三方开发者概念。它的产品更垂,受众更小。

我要做的 SAAS 更特殊,友盟和飞书起码是先有产品,再吸引用户,我这是已有用户和供应链,差个 SAAS 把他们关联之前,我们希望 SAAS 为我们提供模块化的支持,业务特点更像友盟。

所以我们 SAAS 有以下边界

  1. 垂类行业的 SAAS,用户群体固定,对有需求的人是刚需。
  2. 靠自己做好产品挣钱,几乎没有三方开发者。
  3. 几乎都是根据行业定制化的产品。

这个 SAAS 最大的作用,就是把前后端服务模块化,提高产研效率。

SAAS 主站、开发者、产品

SAAS 主站是 SAAS 自身的系统,租户无需开通任何产品就有的功能,比如组织架构、员工、平台级权限管理,未来我们还会做钱包、企微基础能力。

开发者平台,是在 SAAS 申请成为开发者后,自行编码应用,嵌入到 SAAS 中,可以通过调用 SAAS OpenApi 的方式获取商户在 SAAS 主站上信息,完整自己业务闭环。

产品,也叫解决方案。由多个应用打包,每个应用内有多个资源。

比如飞书中的销帮帮,这是产品,它里面每个菜单,都是应用,菜单中的每个页面,都是资源。(其实资源除了页面还有数据、功能,就是 RBAC 标准的一套,为了方便理解, 只说菜单资源)

这里应用只代表功能,不包含数据,多个功能模块(应用)打包,可以任意组成新的产品。

比如做个销忙忙产品,把这里 CRM 应用挪过去,再加点别的数据菜单就行了。

但是销帮帮和销忙忙的数据是隔离的。

后端应用分层和基础组件

后端服务分为 base、admin、app 层,所有应用的代码在 base 中,SAAS 管理后台是 admin,所有对外和租户门户服务是 app。

行业本身也有个最大的 admin,管所有行业内的租户,这个是开发者自己开发的。

基础组件有

  1. saas-base,saas 的 base 服务,和数据库打交道那层。
  2. saas-application,组织架构、钱包等基础组件,都以内部应用的形式嵌入。
  3. saas-open,SAAS 对三方应用开放的接口,比如获取组织架构信息、员工信息等,走 oauth2 授权。
  4. saas-admin,SAAS 管理后台,负责打包应用成为产品、审核应用和权限、商户入驻申请等。
  5. saas-app,租户门户的后台,租户的产品展示在上面。

这篇概念性的比较多,有点难理解,下一遍重点说说技术实现细节。

相关推荐
考虑考虑3 小时前
nginx路由重写
运维·后端·自动化运维
吴建旭 智宅焕3 小时前
智能家居交付计价模型的设计与实现:按时间计费与交付确定性架构
架构·智能家居
JaguarJack4 小时前
PHP 紧急修复两项严重 RCE 漏洞,8.2 至 8.5 用户应立即升级
后端·php·服务端
BingoGo4 小时前
PHP 紧急修复两项严重 RCE 漏洞,8.2 至 8.5 用户应立即升级
后端·php
金銀銅鐵4 小时前
[Java] 展示添加元素时 ArrayList 的内部变化
java·后端·ai编程
斌糖雪梨5 小时前
spring auth 核心流程详解
java·后端·spring
高频因子挖掘机6 小时前
本地已有一年历史数据,第二天更新别只拉“昨天一天”:量化 K 线增量同步实践
后端·github·api
高频因子挖掘机6 小时前
只补缺失日期,不重拉全部历史:增量更新 K 线应该怎么设计?
后端·github·api
Gopher_HBo7 小时前
Go reflect 包动态调用与方法反射 —Call、MakeFunc 与性能
后端
码事漫谈8 小时前
人设带处境,AI 更入戏
后端