SaaS模式设计总结

上传人:宝路 文档编号:2470647 上传时间:2017-07-24 格式:DOCX 页数:12 大小:427.88KB
返回 下载 相关 举报
SaaS模式设计总结_第1页
第1页 / 共12页
SaaS模式设计总结_第2页
第2页 / 共12页
SaaS模式设计总结_第3页
第3页 / 共12页
SaaS模式设计总结_第4页
第4页 / 共12页
SaaS模式设计总结_第5页
第5页 / 共12页
点击查看更多>>
资源描述

《SaaS模式设计总结》由会员分享,可在线阅读,更多相关《SaaS模式设计总结(12页珍藏版)》请在金锄头文库上搜索。

1、1SaaS 架构设计SaaS 成熟度模型分级根据 SaaS 应用是否具有可配置性、高性能、可伸缩性的特性,SaaS 成熟度模型被分成四级。每一级都比前一级增加以上三种特性的一种。可配置 高性能 可伸缩性 特点Level 1定制开发 设备托管Level 2可配置 设备共享、可配置化Level 3高性能的多租户架构(Multi-Tenant) 多租户、数据隔离、高性能Level4可伸缩性的多租户架构 支撑应用规模的增长 Level1 定制开发: 有一个客户项目,就按客户需求定制一个版本,每个客户的软件都有一份独立的代码,不同客户软件之间可以共享和重用的只有少量的可重用组件、库以及开发人员的经验Le

2、vel2 可配置 :客户可以通过简单的配置,让通用型的软件能够满足自己的一些个性经需求。为每个客户独立部署一个运行实例,只不过每个运行实例运行的是同一份代码。Level3 高性能的多租户架构: 多租户单实例的应用架构才是通常真正意义上的 SAAS 应用架构,也就是我们通常所说的 Multi-Tenant 架构。Level4 可伸缩性的多租户架构:在用户数大量增长情况下,无须更改架构,而仅通过硬件设备的增加,支撑应用规模的增长1.5 SaaS 平台的应用 企业内部管理办公自动化(OA) 、客户关系管理(CRM) 、供应链管理(SCM) 、人力资源管理(HR) 、项目管理(PM) 、内容管理(CM

3、)等管理系统大量应用在企业内部的管理中。 外部展示服务动态网站、网站商铺、在线定单、产品目录、会员注册、下载中心、物流跟踪等应用系统借助互联网的普及和浏览的方便性使得 SaaS 平台得到网络式的广泛应用。 工具软件E-MAIL、短信、QQ、MSN、彩信、即时通讯、在线应用开发工具、在线客户化工具、在线自主建站等工具软件也迅速地得到发展。3. 应用场景分析1.6 企业注册、开通过程 应用场景分析企业要使用 SaaS 平台系统,然而 SaaS 平台所提供的服务软件不只一个,因此应该知道2他是需要使用哪个软件。软件是分为模块的,有些模块是用户所需要租用的,有的可能用户是不关心的,不同模块功能不同,访

4、问权限及访问方式不同,同时价格也不同,所以,企业注册时应该清楚自己注册的是哪级模块。不同企业有不同要求,如企业 1 要求数据要独立存放,我们就应该为企业 1 开辟独立的数据库。企业 2 要求他的数据放在自己的数据 服务器上,这时我们的数据 服务器地址要指向企业 2 的数据服务器地址,所以 SaaS 平台的所有应用系统的数据连接都是动态的由平台来管理的。企业申请后,我们是要审核其合法性,如租用的资金到帐没有,企业是否可联系到人。经过审核合法,我们开通其申请,这时平台管理员分配给相应企业帐号及业务模块、就近原则分配应用服务器、数据库并建立企业管理员帐号及权限。 最后通知申请成功并转告登录帐号及其功

5、能等。企业管理员通过企业的帐号(包括企业号、用户名、密码)登录到应用系统中,建立企业内的用户并分配对应的权限。企业用户通过本企业的企业号、用户帐号、密码就可以登录到自己所有权限范围内的模块了。用户界面设计 1. 企业注册图 1 企业注册2. 软件注册增加界面3图 2 软件注册增加界面 框架设计 图 3 框架设计 用例设计4图 4 用例设计 层次关系图图 5 层次关系图 数据库设计5图 6 数据库设计SaaS 平台按先后顺序要做的事一一列出。1.提供业务系统注册2.提供企业注册申请,业务开通3.提供企业内部用户业务权限分配4.用户登录访问5.提供用户填写日志我们要满足以上用户要求,保障系统正常运

6、行平台所要做的是:1.安全保障2.数据存储3.数据同步4.设备接入5.服务器不间断6.分流7.计费4. SaaS 平台整体框架设计1.8 多层体系的架构设计6图 1 多层体系的架构设计合作方:企业、客户、开发商、代理商、运营商、其他(如银行、政府)系统用户:平台管理员、企业管理员、企业普通用户、平台运维人员、合作伙伴接入设备:个人电脑、PDA、 手机、Kiosk 机层次划分:企业信息门户层、业务管理层、系统平台服务层、业务应用层、数据库层、系统安全平台。其中系统安全平台跨越业务管理层、系统平台服务层、业务应用层,是整个系统的安全管理中心归纳整合:企业信息门户层:负责终端设备的接口的定义、接入、

7、及界面定制,企业信息门户的统一管理。业务管理层: 负责业务应用服务管理,包括企业、客户、合作伙伴、组织机构用户角色、权限及计费等的统一管理。系统平台服务层:负责系统资源、数据管理及平台所提供的服务,是系统的核心。业务应用层:平台所提供的业务应用模块。数据库层:数据的访问链接及控制。系统安全平台:负责系统的安全保障,包括安全基础设施、 业务应用系统安全、安全管理保障体系等,是系统的核心。理论依据与参考:分布式层次结构的思想。企业 IT 服务规范。IBM 软件解决方案。1.9 基于构件库的架构设计7图 2 基于构件库的架构设计接入设备:个人电脑、PDA、手机、离线应用。服 务:数据交换服务、人员/

8、权限管理、部件管理服务、离线拉入服务、表单引擎、工作流 引擎。构件库:企业级应用系统(如 HR、CRM ) 、系统安全平台、邮件系统、个人事务、业务报表 、流程管理、文档管理、会议管理、任务管理、通知公告归纳整合:企业信息门户层:负责终端设备的接口的定义、接入、及界面定制,企业信息门统一管理。 构件库层: 负责业务应用服务管理。数据库层:数据的访问链接及控制。系统安全平台:负责系统的安全保障,包括安全基础设施、 业务应用系统安全、安全管理保障体系等,是系统的核心。理论依据与参考:分布式层次结构的思想。企业 IT 服务规范。5. SaaS 平台逻辑架构8图 3 平台逻辑架构 用户层企业用户通过终

9、端设备访问远程 SaaS 服务平台的业务应用系统。用户包括企业、客户、开发商、代理商、运营商、其他(如银行、政府)等个人或者单位。用户按角色分为:平台管理员、企业管理员、企业普通用户、平台运维人员、合作伙伴。 隔离区隔离区的的目标是确保把有害的攻击隔离,在可信网络之外和保证可信网络内部信息不外泄的前提下,完成网间数据的安全交换。 负载均衡负载均衡是把改变网络的数据流量集中在中心服务器一端,通过对访问服务器的负载进行均衡(或者说分担)措施来减少对中心服务器的压力。负载均衡,从结构上分为本地负载均衡和地域负载均衡(全局负载均衡 ),前一种是指对本地的服务器集群做负载均衡,后一种是指对分别放置在不同

10、的地理位置、在不同的网络及服务器群集之间作负载均衡。每个主机运行一个所需服务器程序的独立拷贝,诸如 Web、FTP、Telnet 或 e-mail 服务器程序。对于某些服务(如运行在 Web 服务器上的那些服务)而言,程序的一个拷贝运行在群集内所有的主机上,而网络负载均衡则将工作负载在这些主机间进行分配。对于其他服务(例如 e-mail) ,只有一台主机处理工作负载,针对这些服务,网络负载均衡允许网络通讯量流到一个主机上,并在该主机发生故障时将通讯量移至其他主机。 多级防火墙防火墙就是一个位于计算机和它所连接的网络之间的软件。该计算机流入流出的所有网络通信均要经过此防火墙。防火墙对流经它的网络

11、通信进行扫描,这样能够过滤掉一些攻击,以免其在目标计算机上被执行。防火墙还可以关闭不使用的端口。而且它还能禁止特定端口的流出通信,封锁特洛伊木马。最后,它可以禁止来自特殊站点的访问,从而防止来自不明入侵者的所有通信。 核心区核心区是 SaaS 平台的核心组成部分。是平台与各业务系统的连接纽带。它能 驱动各模9块的运转,解析业务系统的独立运行。同时提供各终端设备的接口上驱动。 应用系统符合 SaaS 平台的规范,按 SaaS 平台标准开发的提供给用户服务的业务系统。SaaS 下的安全性设计很重要。一般常见的安全性设计分为两类:系统级和程序级。(1) 系统级:使用 HTTPS 协议以 SSL(Se

12、curity Socket Layer)交换数据,增强通信安全;通过数字签名防止传输过程篡改;对用户身份识别的 UserToken 使用 DES 算法数据加密;业务数据定时自动备份。(2) 程序级:完整的权限配置,包括功能权限和数据权限;客户端输入校验,防止 JS 攻击、XSS 攻击、SQL 注入等;辅助安全设计,比如密码控件、图片验证码、手机确认码等。现在 SaaS Multi-Tenant 在数据存储上存在三种主要的方案(1) 方案一:独立数据库这是第一种方案,即一个 Tenant 一个 Database(见图 3-14) ,这种方案的用户数据隔离级别最高,安全性最好,但成本也高。优点:为

13、不同的租户提供独立的数据库,有助于简化数据模型的扩展设计,满足不同租户的独特需求;如果出现故障,恢复数据比较简单。缺点:增大了数据库的安装数量,随之带来维护成本和购置成本的增加。这种方案与传统的一个客户、一套数据、一套部署类似,差别只在于软件统一部署在运营商那里。如果面对的是银行、医院等需要非常高数据隔离级别的租户,可以选择这种10模式,提高租用的定价。如果定价较低,产品走低价路线,这种方案一般对运营商来说是无法承受的。(2) 方案二:共享数据库,隔离数据架构这是第二种方案,即多个或所有租户共享 Database,但一个 Tenant 一个 Schema。优点:为安全性要求较高的租户提供了一定

14、程度的逻辑数据隔离,并不是完全隔离;每个数据库可以支持更多的租户数量。缺点:如果出现故障,数据恢复比较困难,因为恢复数据库将牵扯到其他租户的数据;如果需要跨租户统计数据,存在一定困难。(3) 方案三:共享数据库,共享数据架构这是第三种方案,即租户共享同一个 Database、同一个 Schema,但在表中通过TenantID 区分租户的数据。这是共享程度最高、隔离级别最低的模式。优点:三种方案比较,第三种方案的维护和购置成本最低,允许每个数据库支持的租户数量最多。缺点:隔离级别最低,安全性最低,需要在设计开发时加大对安全的开发量;数据备份和恢复最困难,需要逐表逐条备份和还原。如果希望以最少的服

15、务器为最多的租户提供服务,并且租户接受以牺牲隔离级别换取降低成本,这种方案最适合。数据库层性能优化建立合适的索引 索引应该创建在条件(where) 、排序(order by) 、分组( group by)等操作所涉及的列上; 索引应该有较强的选择性,即应尽可能建立在重复数据少的数据列中; 如果多个条件经常需要组合起来查询,应合理使用联合索引; 一次查询中只能使用一个索引,可使用相应的分析工具分析索引效果; 索引不是越多越好(一个表最好在 5 个索引以内) ,过多的索引可能导致 CUD(新增、修改、删除)的性能降低,并且占用更多的空间。11数据库层性能优化建立合适的索引 索引应该创建在条件(wh

16、ere) 、排序(order by) 、分组( group by)等操作所涉及的列上; 索引应该有较强的选择性,即应尽可能建立在重复数据少的数据列中; 如果多个条件经常需要组合起来查询,应合理使用联合索引; 一次查询中只能使用一个索引,可使用相应的分析工具分析索引效果; 索引不是越多越好(一个表最好在 5 个索引以内) ,过多的索引可能导致 CUD(新增、修改、删除)的性能降低,并且占用更多的空间。消除大数据表连接消除表连接的几种解决方案解决方案 适用场景 示例场景冗余存储关联字段业务需求上可以接受冗余导致的不一致,或者冗余数据可以很容易被同步更新订单列表查询时,希望查看到订单的客户名称,原本订单

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 中学教育 > 其它中学文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号