SaaS参考架构和关键技术_第1页
SaaS参考架构和关键技术_第2页
SaaS参考架构和关键技术_第3页
SaaS参考架构和关键技术_第4页
SaaS参考架构和关键技术_第5页
已阅读5页,还剩35页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

SaaS参考架构和关键技术云计算服务现在已经快成了一个家喻户晓的词了。如果你不知道PaaS,IaaS和SaaS的区别,那么也没啥,因为很多人确实不知道。云其实是互联网的一个隐喻,云计算其实就是使用互联网来接入存储或者运行在远程服务器端的应用,数据,或者服务。任何一个使用基于互联网的方法来计算,存储和开发的公司,都可以从技术上叫做从事云的公司。然而,不是所有的云公司都一样。不是所有人都是CTO,所以有时候看到云技术背后的一些词可能会比较头疼。云也是分层的任何一个在互联网上提供其服务的公司都可以叫做云计算公司。SaaS是一种软件布局模型,其应用专为网络交付而设计,便于用户通过互联网托管、部署及接入。SaaS应用软件的价格通常为‘全包”费用,囊括了通常的应用软件许可证费、软件维护费以及技术支持费,将其统一为每个用户的月度租用费。对于广大中小型企业来说,SaaS是采用先进技术实施信息化的最好途径。但SaaS绝不仅仅适用于中小型企业,所有规模的企业都可以从SaaS中获利。SaaS概述软件发展的四个阶段•1项目式软件开发阶段一一做项目・依客户需求定制开发-存在重复开发,开发成本过高的问题•2套装式软件开发阶段一一做产品-将软件作为产品开发,满足相似需求的用户-不可能通过产品满足所有用户的需求•3平台化软件开发阶段一一做平台-业务驱动的基于基础平台的软件开发-软件的升级和运营维护成本越来越高•4社会化软件大开发阶段一一做服务-以服务为导向的软件开发运营模式-SaaS模式应运而生SaaS概述SaaS(SoftwareasaService,软件即服务)SaaS是一种软件交付模式,将软件以服务的形式交付给用户,用户不再购买软件,而是租用基于Web的软件.并按照对软件的使用情况来付费SaaS由应用服务提供(ApplicationServiceProvider,ASP)模式发展而来SaaS与ASP的相同点•通过互联网提供,运营商负责软件的管理和维护-SaaS与ASP的不同点ASP仅对用户提供定制化的,一对一的服务方式SaaS一般以一对多的方式提供服务SaaS支持可配造性和可伸缩性之冢之冢之冢之冢SaaS概述Internet\\thIa;»SSaaS与云计算Internet\\thIa;»S•云计算(CloudComputing)基于互联网的新计算模式-主要可分为三个层次laaS:基础设施即服务PaaS:平台即服务SaaS:软件即服务SaaS可以基于PaaS构建,也可以直接构建在laaS上SaaS的发展催生了对PaaS、laaS的需求SaaS为云计算提供了一种应用模式SaaS将云计算的能力推向了最终用户SaaS概述SaaS的特性・互联网特性-SaaS应用一般通过互联网交付,用户仅需要浏览或联网终端设备就可以访问应用•多租户特性-通过多租户模式实现多种使用方式,以满足不同用户的个性化需求•按需服务特性-支持可配置性和按使用付费,按用户需求提供服务•规模效应特性-一般面向大量用户提供服务.以取得规模效应和效益..SaaS概SaaS成熟度模型Level1:定制开发的SaaS应用Level2:可配电的多租户SaaS应用Level3:单实例支持多

租户的SaaS应用架构Level4:支持可伸缩性的多租户SaaS应用架构SaaS概述as的优势服务的理念符合软件的本质按需服务,契合用户需求软件统一管理,易于升级和维护随处可用,支持移动办公有利于抓住长尾市场而用个件化和“生 ►用户采用SaaS的优势降低了使用软件的成本,增强了业务变化的灵活性软件企业采用SaaS的优势扩大了用户范围,提高资源的使用效率,提升收益<6<6口。之冢实现SaaS模式的挑战理解多租户模式用户需求获取多租户个性化与可配置性高效率运行与可伸缩性数据独立和事务性资源共享与隔离性安全性保障服务质量保障租户/用户管理与计费实现SaaS模式的挑战理解多租户模式•多租户模式是指SaaS应用可以同时为多个用户提供有差别服务的软件使用模式,每个用户(租户)都可以不受其他用户影响的访问应用,并可以定制应用的某些属性多租户模式是SaaS的核心优势对多租户模式的理解是SaaS成败的关键多租户模式对SaaS应用的功能和性能有更高的要求•多租户模式需要全新的软件设计开发方法实现SaaS模式的挑战用户需求获取•按需服务是SaaS应用的核心理念-多租户SaaS应用应尽可能的满足不同用户的个性化需求,通过多个租户向用户提供有差别的服务•用户需求的获取研究用户需求的建模、分类和实现方式,是设计开发多租户SaaS应用的基础•用户需求的描述-如何对用户需求模型进行有效的整合与挖掘.从而合理设置SaaS应用的业务灵活性,是SaaS模式的一大挑战匕口。之冢实现SaaS模式的挑战多租户个性化与可配置性•多租户的个性化需求-SaaS应用只杓通过多租户模式尽可能满足不同类型用户的个性化需求,才能在商业模式上取得成功•个,性化需求配置工具-SaaS应用需要提供配置方法及工具,以便租户根据个性化需求定制SaaS应用的功能及非功能属性-可配置性一般体现在数据、功能、界面、流程、安全、性能等多个方面配置工具应该功能强大,同时又易于使用之冢之冢之冢之冢•<1C2•<1C2之冢实现SaaS模式的挑战高效率运行与可伸缩性•高效率运行SaaS模式将软件服务通过Internet交付给用户使用,在短时间内大量用户并发访问的情况下.SaaS应用能否高效运行对服务可用性和用户体验有重要的意义•可伸缩性-随着业务的增长,在服务的用户量和访问量持续上升的情况下,如何实现SaaS应用的可伸缩性,保持可接受的性能和可用性,以保证用户的良好体验,对SaaS应用能否取得成功至关重要实现SaaS模式的挑战数据独立和事务性•数据以托管方式存储和管理-在SaaS模式下,全部用户的数据存储和管理都由服务运营商负责,数据是用户关注的重点•数据独立性数据空间独立性(物理独立)-数据结构独立性(逻辑独立)•事务处理-对于有状态SaaS应用,在多租户多用户并发访问的情况下,实现有效的数据事务处理机制,保持业务与数据的一致性是一项重要的挑战实现SaaS模式的挑战资源共享与隔离性•资源共享多租户模式下,物理资源共享可以自然实现应重点实现租户之间基础设施、数据资源的共享共享可以提高资源使用效率共享提升了SaaS应用的可用性和性能•资源隔离在实现资源共享的同时,针对用户对性能、安全性和其它方面的需要.实现资源的隔离性与独立性,是SaaS模式有待解决的问题,实现SaaS模式的挑战安全性保障•安全性是用户对软件的首要需求•SaaS模式为软件的安全性提出了新的要求-由于SaaS通过网络交付给终端用户,在处理远程应用访问和远程数据传输方面需要更高的安全性-由于数据层的基础设施可能同时提供给来自跨组织的多租户使用,数据的安全性必须得到完全的满足-数据安全性包括CIA机密忸onfidentiality完整性Integrityvailability实现SaaS模式的挑战服务质量保障•用户的非功能需求-非功能需求的满足是实现良好用户体验的基础,而用户体验对SaaS应用的成功至关重要•服务质量要求-用户的非功能需求主要体现在对服务质量的要求上-例如服务可用性、可靠性、响应时间、处理速度等•服务等级协议SLA(ServiceLevelAgreement)-slA规定了服务质量-如何在系统资源有限的情况下,通过对资源、程序代码、配置等多方面的优化,为用户提供有SLA保障的服务,是SaaS模式的发展方向实现SaaS模式的挑战租户/用户管理与计费•租户/用户管理租户合理设置(功能、权限、数据模型等方面)动态管理维护租户信息动态管理用户并为用户分配资源•计费策略以按使用付费为原则应实现计时、计次、计数据量、计功能点等多种策略应实现计费策略的灵活组合和改变SaaS应用去现层SaaS应用去现层SaaS应用业务乂应用支撑平台动态草础设施托管域SaaS参考架构•参照ITA的描述方法,SaaS的主技术架构通过一系列的视图从不同的角度来描述,-概念视图・关键元素和元素之间关系的高层次的总览-逻辑视图•表示了主要的功能组件和它们在系统中的关系-实现视图•表示特定的实现组件和它们之间的关系SaaS参考架构SaaS概念视图•租户域-包括应用的租户和最终用户•托管域-应用的提供和运营平台•管理-负责应用的管理事宜•安全负责应用的安全事宜'圮,'圮,C2之冢SaaS参考架构SaaS逻辑视安全-A1.»UcMnicriK-i,训”…什SaaS参考架构托管横SaaS逻辑视•租户域-组成浏览器+智能终端-功能信息输入愉出简单计算/存储能力,普适感知能力

租户域浏览器 智能终端SaaS参考架构SaaS逻辑视•SaaS应用表现层负责SaaS应用的页面表现支持单点登录和统一身份验证支持应用层负载均衡和执行请求自动转发支持租户个性化配置CIDCID之Saad参考架构SaaS逻辑视•SaaG应用业层-通过业务服寡和租户业务服务实现个性化服务-通过元数据服务和租户配置服务实现租户业务和数据等方面的定制-通过分布执行提供高可用性和高性能服务

租门业在竭务无KrtK第片妞;工krci3归道业务服务一租门业在竭务无KrtK第片妞;工krci3归道业务服务一]分布执打环境SwS应用业务层租户总团里先'土已'土已C2之冢SaaS参考架构SaaS逻辑视•应用支撑平台-运行支撑•提供信息集成、数据划分优化模式、存储框架、并行计算框架等方面的支持-构建支撑•提供开发环境、存储模型、计算模型等方面的支持应用支撑平台运行时支净SaaS参考架构SaaS逻辑视•动态基础设施-提供硬件、网络、中间件、数据库与°S的支持-提供支持统一虚拟化的计算、存储、网络通信与交换能力

SaaS参考架构SaaS逻辑视•租户管理-租户身份、权限与帐套管理•运营管理-租户的使用情况进行度量、计费,生成账单,管理租户许可•济源菅理-管理应用实例,实现模板配置与快速部署-管理基础设施,实现弹性调度、连续性保护与能耗管理:•服务管理服务描述、注册、集成与发现SaaS参考架构SaaS逻辑视•应用安全-身份认证,访问控制,程序加固•操作遵从安全-相关标准,规范•数据安全-读写控制,数据加密,数据隔离•环境安全-提供接入控制,入侵防御,安全运维功能•安全基础设施数字证书,公钥体系安全长树加去虐力按M数据安全笠全林尊设他SaaS参考架构SaaS实现视图租户接入fj户/\服务件%门户“闷竹fl他用料件1,:!接入城c C租户接入fj户/\服务件%门户“闷竹fl他用料件1,:!接入城c C提供城构建SaaS应用的关键技术SaaS成熟度模型•Level1:定制开发的SaaS应用-多次开发模式•Level2:可配苦的多租户SaaS应用-一次开发多次部署模式•Level3:单实例支持多租户的SaaS应用架构-一次开发一次部署模式•Level4:支持可伸缩性的多租户SaaS应用架构构建SaaS应用的关键技术第1级:定制开发的SaaS应用•为租户单独定制开发应用•与传统软件相比,主要体现在软件租用付费商业模式和托管运行运营模式的区别租户A租户B一般不涉及大的技术架构变化•为提高应用运行效率,需要更\有效地整合硬件资源 实例1实例2构建SaaS应用的关键技术第2级:可配置的多租户SaaS应用•采用统一开发的模式,所有租户使用相同的程序代码.但各租户分别部署程序实例・与第1级模型相比,降低了定租户A租户B制开发的软件研发成本•关键在于通过元数据实现应用的可配置性-元数据:用于描述数据的数据,用于描述租户的个性化需求相同实例相同

实例租户C实例3之口。之冢租户c相同实例之冢之冢构建SaaS应用的关键技术第3级:单程序实例支持多租户的SaaS•全部租户运行部署在单一程一序实例上的同一套程序代码,应用架构A•最大限度的提高了系统资源租户a利用效率

同时降低程序代码升级维护的工作成本•同时应注意,单实例架构为应用开发带来了更大的复杂度,需要更多的初期投入「鹏一/构建SaaS应用的关键技术第4级:可伸缩的多租户SaaS应用架构像单催像单像单催像单•租户通过负载均衡层访问以镜像方式部署在集群上的同一套程序代码实例上•通过负载均衡方法为应用提供可伸缩性,使应用在大量用户访问下保持可接受的应用可用性和性能・关键在于实现应用的可伸缩性,主要涉及负载均衡、资源管理等技术

AAA131 1镜像单构建SaaS应用的关键技术4级成熟度模型对比第1第1级定制开发主要特点 托管运营按需使用付费关键技术 实现托管运营初期投入单用户成本对个性化需求、安全性、隔离目标用户性要求较高的大客户第2级可配置多租户模式可配置性可配置性

租户管理中等中等对安全隔离性有要求,同时关注价格的行业客户第3级

单实例架构高性价比统一维护单实例架构安全隔离较高低对价格比较敏感,安全隔离性要求不高的中小企业用户第4级可伸缩支持可伸缩性动态资源分配负载均衡

资源管理X低大量的中小企业用户及个人用户‘、4"2之构建SaaS应用的关键技术如何选择适合的成熟度等级•用户需求1,2级成熟度模型适合对SaaS应用的隔离性安全性有较高的要求,并愿意为此付出较高的价格的用户3,4级成熟度模型适合对价格较为敏感的中小企业及个人用户•业务特征如果不同类型用户业务差异过大,则只适合1级成熟度模型(实现可配置性成本过高)•初期投入成本高级成熟度模型需要进行应用架构转变,会导致大量设计开发工作,带来较大的初期投入高级成熟度模型回报周期较长,远期效益更好

构建SaaS应用的关键技术基于软件产品构建SaaS应用•选择适合的成熟度模型和数据存储方案-不同级别的成熟度模型和不同的数据存储方案各有侧重,适用于不同的场景和情况-根据用户需求、业务特征和自身条件合理选择•制定开发计划确定关键技术,进行重点研发攻关全面分析用户需求整体设计,全面测试・设计/开发/测试/维护/客户支持等方面的思路转变-思路转变对SaaS成功至关重要构建SaaS应用的关键技术基于软件产品构建SaaS应用过程・面向第4级(最高级)成熟度的SaaS应用构建过程:专租户业弁需求分析多祖卢应用开发A/fl源w。琅多尸陶\/、定据式,确数模、今(U负我均荷专租户业弁需求分析多祖卢应用开发A/fl源w。琅多尸陶\/、定据式,确数模、今(U负我均荷构建SaaS应用的关键技术1多租户业务需求分析与建模•全面考虑各类用户的不同需求汇总全部业务需求情况•识别用户的共性需求与特定需求对业务需求的通用性,必要性和实现代价进行分析与评估•按用户需求的相似度进行分析聚合-业务聚合模型是设计与建立租户的基础•业务需求模型整合业务需求模型是可配置性设计的基础'七口。之冢构建SaaS应用的关键技术2实现ASP托管模式•将软件转为基于网络访问的架构-为传统客户端软件定义访问交互接口,使之通过浏览器或联网终端设备即可访问使用•实现ASP托管模式-软件本地运行,用户通过网络访问应用•整合硬件资源,优化性能-同一套硬件及基础设施之上,可以同时运行多个项目,支持多个租户的使用构建SaaS应用的关键技术3多租户数据存储模式-一般有三种模式-一般有三种模式-完全独立模式一部分独立模式完全(共享数据库实例,独立表集合)

(共享数据库实例,共享表集合)共享模式•按数据独立性、隔离性和安全性排序完全独立,部分独立,完全共享•按硬件共享程度、方案性价比排序•完全共享〉部分独立,完全独立•需要根据用户需求等具体情况决定采用何种模式构建SaaS应用的关键技术3多租户数据存储模式一一完全独立模式InuniA FtiKiniB 1cri,miC租户拥有专属数据库实例InuniA FtiKiniB 1cri,miC数据库实例之间逻辑独立,但可以部署在相同硬件上性能比较容易控制.数据安全性、隔离性强硬件开销鼓大,性价比差适合对数据性能和独立性要求高的大客户独立数据库模式o必之冢构建SaaS应用的关键技术3多租户数据存储模式一一部分独立模式全部租户使用同一数据库实例,租户都有专属表集合数据的安全性、隔离性与性能可弱于完全独立模式硬件开销性价比有所提升适合对数据独立性安全性有一定求,但预算有限的客户每个控性要共享数据库独立数据架空松吊.构建SaaS应用的关键技术3多租户数据存储模式一一完全共享模式全部租户共同使用同一数据库实例下的相同表集合数据安全性、隔离性需要采用特定方法实现•性能可控性相对较差最大化利用系统资源,性价比最强TcwirtjB 1cn«nt(•适合对价格比较敏感的中小客户共享数据库共享数据架梅%之经构建SaaS应用的关键技术3多租户数据存储模式一一三种模式对比完全独立模式部分独立模式主要特点数据安全性与隔离性数据可配置性数据备份与恢复性能可控性硬件开销性价比目标用户独立数据库实例高(通过数据库

权限控制实现)直接实现共享数据库实例独立表集合中等(通过数据库权限控制实现)直接实现容易(采用数据库备份恢复机制)中等(按租户的表集合分别恢复)高低对安全性要求较高的客户中等中等对各方面要求较为均衡的客户完全共享模式共享数据库实例共享表集合低(需要通过编程实现)需要特定方式实现困难(需要通过编程实现)低高对硬件性价比要求较高的.》二心之方构建SaaS应用的关键技术4数据结构定制方法•对完全独立与部分独立数据存横模式-通过每个租户定义不同的表结构实现•对先至共享数据存储模式-通过特定方法实现•预定义字段方法-aka,保留字段/固定扩展字段•行转列方法构建SaaS应用的关键技术3多租户数据存储模式一一三种模式对比-aka,数据字典/扩展子表/名称值对•XML字段方法构建SaaS应用的关键技术6租户与配置管理•建立和维护租户信息(由服务提供者完成)租户元数据配置租户资源使用策略设置租户访问权限设置租户计费策略设置租户管理者设定•管理各租户的用户信息(由租户管理者完成)-建立维护用户数据用户权限与约束设置构建SaaS应用的关键技术7计费策略与使用管理♦计费策略-以按需提供、按使用情况付费为原则以租户为单位,按功能和服务质量的不同制定不同的收费标准-提供按使用时间、使用次数、按数据量和按原子功能点计费等多种计费方式•使用管理-通过日志记录租户/用户的应用使用情况对租户/用户的使用进行多维度度量(用户数/使用时间/次数/流量/功能点/组合维度)-按一定时段自动生成并发送账单构建SaaS应用的关键技术8应用安全•应用层安全通过权限控制确保用户操作的合法性用户操作必须得到监控并且记录日志需要标准化协议和立法的支持•数据层安全合理设计数据存储方案保证数据隔离性通过实时备份等机制保证数据可靠性通过数据加密等手段保护数据的私密性数据的非法访问必须被完全拦截,•可信交互在多应用集成并采用单点登录技术的环境下,必须遵循安全协议实现应用之间的可信交互构建SaaS应用的关键技术9性能优化与保障•数据库层性能优化合理建立索引优化数据连接查询•应用层性能优化-后台计算处理(完成大量数据的统计等任

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论