写点什么

设计一个 SaaS 系统需要考虑的 4 个关键点

作者:Im胡子
  • 2022 年 3 月 22 日
  • 本文字数:1405 字

    阅读完需:约 5 分钟

设计一个 SaaS 系统需要考虑的4个关键点

之前再聊聊 SaaS 中 说道了 SaaS 有几种模式: 1. S2C 模式( 面向个人的 SaaS); 2. S2B2C 模式 (面向企业组织的 SaaS); 3. 平台模式(S2B2C + S2C)。 链接


SaaS 产品是比较复杂,那么在实现或者设计(实现)一个 SaaS 系统架构时 需要重点关注以下 4 个关键点,这 4 点 都理解透彻了,那么 SaaS 也没那么复杂,可以更好的完成 SaaS 的架构设计。

1. 理解 SaaS 模式和租户

SaaS 产品 可以 同时 为多个客户提供有差别服务的 软件使用模式, 每个 客户(租户)都可以不受其他 客户影响的访问使用,并可以定制应用 或者做一些特殊配置。在不同 SaaS 模式中租户的主体是不同的,如下:

S2C 模式: 所有使用 SaaS 应用的 个体都是 一个租户

S2B 模式: 租户主体是一个组织, 比如钉钉,企业微信,teambition

平台模式(S2B2C + S2C): 租户组织和个人, 而且个人 跟组织有一些关系。 比如:小鹅通,有赞,微店, 车巡,四个轮子,等。这类 SAAS 主要是针对垂直行业 提供 SaaS 解决方案。 只有理解了 SaaS 中的 租户 主体后,才可以更好的 进行功能设计,资源的隔离。

2. 解决客户的个性化诉求

按需服务是 SaaS 产品 的核心理念, 应尽可能满足不同用户的 个性化需求,并向客户提供 有差别的服务。 如何 提供 有差别服务呢?需要做到如下两点:

  1. 识别 SaaS 的基础能力,同时 把 SaaS 抽象为 一个平台系统。比如:操作系统 会带很多基础能力(功能)或者环境,没有这些就没法用,那么 SaaS 也是如此。

  2. 功能应用化,以应用为单位做 权限 资源建模。不客户根据不同情况有不同的功能需求,那我们要做的就是对客户需求进行有效的整合与挖掘,从而合理抽象 成 SaaS 应用,每个 SaaS 应用 非常内聚的内聚。

做到上面 两点后,那么 完成 客户的个性化 需求,很简单: 就是不同客户使用不同的 SaaS 应用集就好了,比如企业微信,针对幼儿园 会有家校通讯录,普通的企业是没有这个功能的。最终达到的效果就是:基础能力 + 应用市场的模式,针对一一些特殊的客户,也可以给他定制应用(功能),只要他出钱就行。总之就是要满足不同客户业务在线一体化的诉求,低代码和超级自动化也也可以作为 SaaS 的基础能力,从而迎来超定制和利基生产的 SaaS 工业 3.0 时代。

3. 要做到服务弹性伸缩、资源隔离与限流

SaaS 系统服务弹性伸缩主要解决突发流量的到来,导致无法横向扩展或者横向扩展太慢,进而影响整个 SaaS 产品崩溃和其他客户的使用体验。但是 SaaS 系统做弹性伸缩 主要关注两个方面:

  1. 整个系统相关服务的伸缩。

  2. 按租户进行资源伸缩,

SaaS 为代表的云服务,都可以按照企业的需要,选购功能、账号数量、资源规模……让企业不论峰时谷时,都可以「按需消费」,极大地削减了成本


比如:微信云托管,可以按资源伸缩,但是,如果能够提供一些伸缩 API,就更好了,根据 租户 进行 资源隔离 伸缩。

4. 数据安全永远是第一位的

最后一点,也是最重要一点,数据安全。客户使用 SaaS 时,全部客户数据存储和管理都由 SaaS 服务商负责,数据是用户关注的重点,如何打消客户顾虑,让客户放心使用 SaaS,可以从这几方面入手:

  1. 数据隔离 不同 租户之间的数据必须隔离;

  2. 数据存储 必须 是多副本;

  3. 所有涉及隐私的数据必须脱敏,比如:手机号, 身份证, 认脸照等,针对 SaaS 运营商自己也需要做到脱敏;

  4. 数据传输安全:对外提供的接口 必须是 Https 协议,以及加密传等等;

  5. SaaS 系统本身的安全,需要做完善的测试以及相关认证;


以上这 4 点我认为是在设计一个 SaaS 系统架构时必须要理解透彻,这也是 任何一个 SaaS 系统的核心。


发布于: 刚刚阅读数: 3
用户头像

Im胡子

关注

开始写写作吧 2011.01.03 加入

一个懂产品的程序员

评论

发布
暂无评论
设计一个 SaaS 系统需要考虑的4个关键点_系统架构_Im胡子_InfoQ写作平台