- 1、本文档共8页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
SaaS架构设计课案
SaaS架构设计
SaaS架构设计 1
SaaS成熟度模型分级 1
RUP “4+1”视图模式(逻辑视图/过程视图/开发视图/物理视图+场景视图) 2
MDA(Model Driven Architecture)模型驱动架构 2
SaaS的安全性设计 2
安全性 3
SaaS下的安全性设计很重要。一般常见的安全性设计分为两类:系统级和程序级。 3
(1) 系统级: 3
(2) 程序级: 3
现在SaaS Multi-Tenant在数据存储上存在三种主要的方案 3
(1) 方案一:独立数据库 4
(2) 方案二:共享数据库,隔离数据架构 4
(3) 方案三:共享数据库,共享数据架构 4
数据库层性能优化 5
建立合适的索引 5
消除大数据表连接 5
应用层性能优化:Cache 5
日志记录 6
(1) 行为日志记录 6
(2) 数据日志记录 6
(3) 日志记录的安全 6
数据加密算法(会牺牲一定性能) 6
基于SaaS云计算网络性能测试指标 7
(1) 新建速率 7
(2) 并发数 7
(3) 吞吐量 7
(4) 响应时间 8
SaaS成熟度模型分级
根据SaaS应用是否具有可配置性、高性能、可伸缩性的特性,SaaS成熟度模型被分成四级。每一级都比前一级增加以上三种特性的一种。
可配置 高性能 可伸缩性 特点 Level 1
定制开发 × × × 设备托管 Level 2
可配置 √ × × 设备共享、可配置化 Level 3
高性能的多租户架构
(Multi-Tenant) √ √ × 多租户、数据隔离、高性能 Level 4
可伸缩性的多租户架构 √ √ √
RUP “4+1”视图模式(逻辑视图/过程视图/开发视图/物理视图+场景视图)
场景视图:用例图,描述用户的业务场景,从用户的角度标识出业务需求,它是架构设计的起点和终点;
逻辑视图:就是对象模型。逻辑视图重点在于功能,功能包括可见的业务功能,也包括不可见的系统功能(如日志、权限、事务等)。同时更重要的是确立逻辑分层、模块划分和模块之间的依赖关系;
开发视图:用于描述开发环境下的静态组织。从开发环境、技术架构、分层策略和目录结构4个方面阐述;
过程视图:聚焦在进程、线程等运行时概念,以及相关的并发、同步、通信等问题。如果本系统不需要考虑这些方面,本视图可以省略;
物理视图:也叫部署视图描述软件如何映射到硬件,反映系统在分布/部署上的设计。
MDA(Model Driven Architecture)模型驱动架构
MDA利用元数据模型,可以方便灵活地实现可配置化。
MDA(Model Driven Architecture)是模型驱动架构,它是由OMG定义的一个软件开发框架。它是一种基于UML以及其他工业标准的框架,支持软件设计和模型的可视化、存储和交换。和UML相比,MDA能够创建出机器可读和高度抽象的模型,这些模型独立于实现技术,以标准化的方式储存。MDA把建模语言用作一种编程语言而不仅仅是设计语言。MDA的关键之处是模型在软件开发中扮演了非常重要的角色。
安全压倒一切。大多数用户只是问问SaaS厂商是不是采用了安全套接层(SSL)技术,而安全性涵盖的不仅仅只有这个方面。要向潜在的SaaS厂商询问下列问题:
●放置服务器的数据中心有没有24×7全天候的物理安全措施?
●数据中心有没有得到保护(保安是不是24小时在周围至少巡视一次)?
●谁有权访问这些服务器(只有内部员工可以访问,还是承包商也可以访问?)
●有没有日志记录谁何时进入、何时离开?如果有日志,那么隔多长时间审计这些日志?
●应用程序有没有使用基于行业标准的128位加密技术?
●如果多个客户使用的应用程序放在同一台服务器上,那么它们有没有采用逻辑或物理分隔,从而确保你的数据不被未授权的人所看到?
●SaaS厂商中可以访问你企业数据的工作人员有没有经过犯罪背景调查?知道被定罪的重罪犯是不能访问你企业那些敏感的个人数据,这很重要。
●厂商有没有正规的业务连续性方案(BCP)?对方愿不愿意与你共享该方案、它能消除你的担忧吗?
SaaS下的安全性设计很重要。一般常见的安全性设计分为两类:系统级和程序级。
系统级:
使用HTTPS协议以SSL(Security Socket Layer)交换数据,增强通信安全;
通过数字签名防止传输过程篡改;
对用户身份识别的UserToken使用DES算法数据加密;
业务数据定时自动备份。
程序级:
完整的权限配置,包括功能权限和数据权限;
客户端输入校验,防止JS攻击、XSS攻击、SQL注入等;
辅助安全设计,比如密码控件、图片验证码、手机确认码等。
现在SaaS Multi-
文档评论(0)