一、SAAS 系统应用场景

SaaS 应用近几年来越来越火,这主要得益于国内云计算设施的发展 —— 我们开发应用所需要的硬件计算资源、存储资源和网络资源等。企业建设应用或平台不用再像以前那样先采购服务器,然后建立自己的机房或者将服务器托管了,仅需在华为、阿里或腾讯等云服务商那里购买云服务器即可,这些资源的使用及付费已经做到像交水费及电费那样简单,而现在唯一的问题是应该考虑如何在这些云计算资源上构建我们需要的企业应用。

在传统应用上,我们开发的每个应用均是服务于一家企业或单位,我们可以把它称之为私有云。而在如今互联 +、物联网 + 的模式下,时代对我们提出了更高的要求:一套系统可服务多个企业或者一个企业及旗下的所有子公司,且其业务可以随时分割,如:

1. 案例一:
省区要开发一个云医疗数据集中采集平台,需要每家市区、县区医院定期上报数据及对其自身的数据进行统计,同时平台的各个管理员(省区管理员、市区管理员、县区管理员)可以对其管辖内的所有医院的数据进行汇总及统计。

2. 案例二:
企业要开发一个 ERP 系统给他的客户使用,他的每个客户需要独立管理自己的商品、库存、会员,账户、订单、活动、消费、积分、账单、消息通知等数据。

3. 案例三:
企业要开发一个 SaaS 云平台,上面有各种应用:EMS、OA、OMS、TMS、档案系统、KMS(知识管理系统)等等,他的客户可以根据自己的需要选购一个或多个应用使用。

以上的应用场景都可以用 SAAS 模式来实现,同时对于传统旧的应用,我们可以用单个租户模式来实现即可。这种模式我们称之为云应用,如果把这种模式面向公网进行租户注册使用,我们即称之为公有云。

其实,SaaS 云应用还可适用以下的应用场景:
➢ 私有化部署,全公司共用所有业务;
➢ 多个部门登录,各自管理不同的业务;
➢ 集团内存在多个分公司,各个分公司自行管理自己的业务;
➢ 每个分公司需要有独立的数据管理;
➢ 集团或总公司需要集中管理数据
➢ 按不同子系统管理不同的业务,授权不同子公司或部门使用;

二、SAAS 应用的存储模式

1. 方案一
独立数据库:即一个租户一个数据库 (Database),这种方案的用户数据隔离级别最高,安全性最好,但成本也高。
优点:
➢ 为不同的租户提供独立的数据库,有助于简化数据模型的扩展设计,满足不同租户的独特需求;
➢ 如果出现故障,恢复数据比较简单。
缺点:
➢ 增大了数据库的安装数量,随之带来维护成本和购置成本的增加。如果面对的是银行、医院等需要非常高数据隔离级别的租户,可以选择这种模式,提高租用的定价。如果定价较低,产品走低价路线,建议使用方案二。

2. 方案二
共享数据库,隔离数据架构:这是第二种方案,即多个或所有租户共享 Database,但一个 Tenant 一个 Schema。
优点:
➢ 为安全性要求较高的租户提供了一定程度的逻辑数据隔离,并不是完全隔离;
➢ 每个数据库可以支持更多的租户数量。
缺点:
➢ 如果出现故障,数据恢复比较困难,因为恢复数据库将牵扯到其他租户的数据;

3. 方案三
共享数据库,共享数据架构:这是第三种方案,即租户共享同一个 Database、同一个 Schema,但在表中通过 TenantCode 区分租户的数据。这是共享程度最高、隔离级别最低的模式。
优点:
➢ 三种方案比较,第三种方案的维护和购置成本最低,允许每个数据库支持的租户数量最多。
缺点:
➢ 隔离级别最低,安全性最低,需要在设计开发时加大对安全的开发量;
➢ 数据备份和恢复最困难,需要逐表逐条备份和还原。

在数据为王的时代,Stone SaaS 开发框架同时支持方案一 及 方案二(方案一需要手动创建数据库) 。Stone 是一款带有互联网企业信息化基础管理的 SaaS 平台开发框架,它是基于主流 Spring 架构体现构建,以支持中小企业、大型集团企业、政府单位的日常事务管理。目前,平台提供通用的基础数据交互功能(租户数据隔离、数据权限控制)以及组织架构管理(租户管理、部门管理、功能权限管理)、适合于有 IT 研发能力的企业或向 SaaS 应用运维的 IT 企业。

未来的企业服务一定是 云 + 端 的天下,我们在构建云应用的同时,布局端的应用也显得无比关键,它使得我们开发后续的应用更加灵活与方便,如下图所示,我们未来构建的企业应用均可以基于weiit 之上。

weiit- SaaS 开发框架开源地址:weiit-saas是一款Java开源项目,属于weiit团队自研产品,意在通过技术封装,让企业无需代码开发,帮助企业一键生成小程序、公众号,让企业拥有独立品牌的自营商城。

SaaS 系统的应用与架构相关推荐

  1. 概谈SaaS系统的应用与架构

    SaaS系统的应用与架构     一.SAAS系统应用场景 SaaS 应用近几年来越来越火,这主要得益于国内云计算设施的发展 -- 我们开发应 用所需要的硬件计算资源.存储资源和网络资源等.企业建设应 ...

  2. 多租户 Saas 系统架构的设计思路

    ToB Saas 系统最近几年都很火.很多创业公司都在尝试创建企业级别的应用 cRM, HR,销售, Desk Saas系统.很多Saas创业公司也拿了大额风投.毕竟Saas相对传统软件的优势非常明显 ...

  3. Saas系统架构的思考,多租户Saas架构设计分析

    ToB Saas系统最近几年都很火.很多创业公司都在尝试创建企业级别的应用 cRM, HR,销售, Desk Saas系统.很多Saas创业公司也拿了大额风投.毕竟Saas相对传统软件的优势非常明显. ...

  4. SaaS系列介绍之十三: SaaS系统体系架构

    1 系统体系架构设计 软件开发中系统体系架构决定了一个系统稳定性.健壮性.可扩展性.兼容性和可用性,它是系统的灵魂.体系架构是架构师所关注的核心.良好的体系架构是系统成功的开端,否则,再好的代码与设计 ...

  5. SaaS 系统架构,租户数据隔离模式与租户信息解析方案!

    这段时候在准备从零开始做一套SaaS系统,之前的经验都是开发单数据库系统并没有接触过SaaS系统,所以接到这个任务的时候也有也些头疼,不过办法部比困难多,难得的机会. 在网上找了很多关于SaaS的资料 ...

  6. 千万级常规saas系统架构精讲(干货)

    什么是saas系统 saas这个概念来源于云计算领域,其本质是软件即服务.要理解这个概念需要从历史说起,对于早期的软件行业,一般是A公司需要一套进销存系统则软件公司就会针对A的需求开发一套进销存系统, ...

  7. SaaS系统给企业带来了哪些优势

    2019独角兽企业重金招聘Python工程师标准>>> SaaS是Software-as-a-Service(软件即服务)的简称,随着互联网技术的发展和应用软件的成熟, 在21世纪开 ...

  8. 作为后端开发如何设计数据库系列文章 设计SaaS系统表结构

    在公司做了一年的SaaS内核系统,但是有些东西不知道能不能透露出来.我尽量在不透露一些敏感东西的情况下(这个度我无法把控,只能是笼统了),将某些关于数据库方面的精髓传递出来.如果表达不畅,请谅解. 前 ...

  9. SaaS系统设计研发细节复盘

    近期我们要孵化一个SaaS项目,目前本行业内有一些可以对标的产品,但是这些产品大部分采用独立部署的方案,不太符合我们的战略. 我们希望这个SaaS是一个云端产品,既可以云端共享,同时满足独立部署的需求 ...

最新文章

  1. 前端文件表单/ajax上传实例代码
  2. 浅谈SQL注入风险 - 一个Login拿下Server(转)
  3. NameError: name ‘List‘ is not defined
  4. VS2013单元测试
  5. 电脑telnet工具如何开启
  6. 全能扫描王(一款识别率超高的OCR识别APP)
  7. 批量自动打印PDF文件辅助工具BatchOutput PDF for Mac
  8. excel超链接无法打开服务器文件,excle链接的未打开 | excel超链接打不开,超链接后点击出现无法打开指定的文件,求高手解决...
  9. Samba服务器的配置全过程
  10. vue-router 如何在新窗口打开页面
  11. docker--privileged
  12. git小游戏通关攻略(基础、高级、远程)
  13. 关于游戏开发,如何开发一款游戏(基于unity)
  14. 流行的rpc框架性能测试对比
  15. sqlserver位数不够左边补0
  16. 阿里云ubuntu源_优麒麟19.04即将发布,华为、阿里云、重大、360四大境像站鼎力支持!...
  17. ModelMapper 的高级使用
  18. 游戏美术行业的薪资待遇,人与人的差距真的在于努力,来看看数据吧
  19. Android 13 针对 Intent filters 安全的再加强
  20. springboot Activiti6

热门文章

  1. 产品线管理:学习笔记
  2. word中设置页眉页脚奇偶页不同,页脚为页码时偶数页不显示一招解决
  3. 独家|撒谎不眨眼的“女乔布斯”和她的帝国覆灭记
  4. 【Flink】Flink SQL 读取 CSV 文件
  5. 云服务器显示异地登录,云服务器异地登录异常
  6. 排球分组循环交叉编排_学校2020年教职工气排球比赛圆满落幕
  7. CTF 流量分析Wireshark Certificate例题
  8. VSFTP一键部署脚本
  9. 12306个人敏感信息泄露
  10. font color=red[置顶]/font