第七章+服务的封装方法.ppt

上传人:s****8 文档编号:69248171 上传时间:2023-01-01 格式:PPT 页数:103 大小:6.45MB
返回 下载 相关 举报
第七章+服务的封装方法.ppt_第1页
第1页 / 共103页
第七章+服务的封装方法.ppt_第2页
第2页 / 共103页
点击查看更多>>
资源描述

《第七章+服务的封装方法.ppt》由会员分享,可在线阅读,更多相关《第七章+服务的封装方法.ppt(103页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、Cloud Computing Autumn,2011Chapter 7The methods of Service encapsulationXu Jungang12023/1/1Cloud Computing,GUCAS2提纲1.服务的定义2.IaaS及其使能技术3.PaaS及其使能技术4.SaaS及其使能技术服务的定义服务服务在字义上来说是履行某一项任务或是任职某种业务,在中文地区以及法国等,也将它当作为了公众做事,替他人劳动的涵义。其它地区一般认为服务是个经济用语,涵盖所有在买卖过程后不会有物品留下,提供其效用来满足客户的这类无形产业。也就是我们常说的“服务业(第三产业)”。Web服务

2、服务是一种面向服务的架构的技术,通过标准的Web协议提供服务,目的是保证不同平台的应用服务可以互操作。根据W3C的定义,Web服务服务(Web service)是一个软件系统,用以支持网络间不同机器的互动操作。Web服务通常是由许多应用程序接口(API)所组成的,它们通过网络,例如国际互联网(Internet)的远程服务器端,执行客户所提交服务的请求。服务的定义云计算服务,即云服务。中国云计算服务网的定义是:指可以拿来作为服务提供使用的云计算产品。包括云主机,云空间,云平台,云测试和云应用等。云计算服务是指将大量用网络连接的计算资源统一管理和调度,构成一个计算资源池向用户按需服务。用户通过网络

3、以按需、易扩展的方式获得所需资源和服务。服务的发展系统分散建设系统分散建设 基础架构基础架构集中建设集中建设 面向服务的面向服务的虚拟化虚拟化 虚拟虚拟IT服务服务动态、优化的、全动态、优化的、全虚拟化架构为虚拟化架构为IaaS、PaaS、SaaS服务服务提供支持提供支持SaaS基于基于Internet的应用的应用和服务和服务离散系统离散系统虚拟虚拟IT服务服务业务服务整业务服务整合合 6基础设施服务基础设施服务-IaaSIaaS,Infrastructure as a ServicesInfrastructure as a Services存储服务网络服务虚拟机服务软件服务软件服务-SaaS

4、SaaS,Software as a ServiceSoftware as a Service办公应用信息化应用通讯应用互联网应用平台服务平台服务-PaaSPaaS,Platform as a Service,Platform as a Service开发环境运行环境(Lib)身份认证云计算提供的服务类型大规模分布式物理资源大规模分布式物理资源云计算提供的服务类型7Infrastructure as a ServicePlatform as a ServiceHigh VolumeTransactionsSoftware as a Service主机主机网网络存存储中中间件件协作作交易交易处理

5、理CRM/ERP/HR企企业级应用程序用程序Data Center Fabric虚虚拟化共享化共享,动态供供给数据数据库Web 2.0Java开开发工具工具S Sa aa aS S用户层用户层(应用)应用)P Pa aa aS SIaaS中间件(用户、核心)中间件(用户、核心)系统系统The Providers of Cloud Services2023/1/1Cloud Computing,GUCAS9提纲1.服务的定义2.IaaS及其使能技术3.PaaS及其使能技术4.SaaS及其使能技术IaaS基础设施即服务(IaaS)是指计算基础设施(通常是一个虚拟化环境)作为服务提供。与传统的外包不

6、同,传统外包需要广泛的尽职调查,无休止的谈判,复杂、冗长的合同利用IaaS,用户不需要购买数据中心空间、服务器、软件、网络设备等,IaaS客户基本上作为完全外包服务租用这些资源。通常,服务按月计费,就像公用事业公司向用户收费,客户只为消费的资源付费2023/1/1Cloud Computing,GUCAS10IaaS使能技术网络虚拟化服务器虚拟化存储虚拟化IaaS规划模型虚拟化网络资源池虚拟化网络资源池虚拟化网络资源池虚拟化网络资源池/负载均衡访问负载均衡访问负载均衡访问负载均衡访问虚拟桌面虚拟桌面虚拟桌面虚拟桌面WebWeb资源池资源池资源池资源池AppApp资源池资源池资源池资源池DBDB

7、资源池资源池资源池资源池SANSAN虚拟化架构虚拟化架构虚拟化架构虚拟化架构存储资源池存储资源池存储资源池存储资源池备份资源池备份资源池备份资源池备份资源池安安安安全全全全管管管管理理理理ITIT网网网网管管管管 /资资资资源源源源池池池池管管管管理理理理虚拟计算中心的物理拓扑结构存储资源池存储资源池安全监控安全监控管理平台管理平台光纤存储网络光纤存储网络 Hyper-VVMVMVMVMVMUNIX服务资源池服务资源池PC服务器资源池服务器资源池运维管理平台运维管理平台虚拟桌面终端虚拟桌面终端IP 网络网络 活动目录 企业级门户备份资源池备份资源池SAN(光纤存储网络)Unix服务器虚拟化硬件

8、分区硬件分区逻辑分区逻辑分区/虚拟机虚拟机操作系统虚拟化操作系统虚拟化系统资源管理系统资源管理ServerOSAppDomainDomainSolaris Containers Solaris Containers(Zones+SRM)(Zones+SRM)Solaris Containers for Solaris Containers for Linux ApplicationsLinux ApplicationsSolaris Resource Manager Solaris Resource Manager 多操作系统多操作系统单操作系统操作系统日志管理日志管理数据库数据库WebRAY

9、App数据库数据库邮件邮件Web文件文件IDApp数据库数据库更灵活更灵活隔离度高HPHP nParnParHP vParsHP vParsIBM LPARs(2002 AIX 5.2)IBM LPARs(2002 AIX 5.2)IBM mPARSIBM mPARSIBM AIX WLMIBM AIX WLMHP PRM/WLMHP PRM/WLMFreeBSD JailFreeBSD JailLinux VServersLinux VServersIBM WPAR(AIX6.1IBM WPAR(AIX6.1)PC服务器虚拟化按需部署按需部署在线迁移在线迁移存储虚拟化-统一存储SANSANS

10、ANVol1Vol1Vol2Vol2Vol3Vol3Vol4Vol4Vol1Vol1Vol1Vol1Vol1Vol1Vol1Vol1Vol1Vol1Vol2Vol2Vol2Vol2Vol2Vol2Vol3Vol3Vol2Vol2Vol2Vol2统一存储平台统一存储平台统一存储平台统一存储平台统一存储平台统一存储平台 开发分区开发分区生产分区生产分区测试分区测试分区HP存储存储HDS存储存储SUN存储存储IBM存储存储DMX 2000WindowsHost测试测试UNIXHost生产生产UNIXHost生产生产Windows开发开发UNIX开发开发.NAS存储设备存储设备统一管理统一管理 整合整

11、合SAN&NAS 支持异构平台支持异构平台存储虚拟化磁盘与磁带利用率最大化磁盘与磁带利用率最大化磁带虚拟化磁盘虚拟化虚拟带库虚拟带库虚拟存储系统虚拟存储系统(VSM)磁盘的性能用于减少备份窗口,增强数据保护,增加磁带资源的可用性存储资源池分级存储管理逻辑分区精简配置.备份备份备份备份通用卷管理(UVM)分级存储(TSM)虚拟分区管理(VPM)动态精简配置管理可进行压缩、加密等基于策略的数据管理高可用架构容灾恢复更加有效MainframeOpen SystemsSystemOSApp应用程序与数据库应用程序与数据库IaaS的参与者2023/1/1Cloud Computing,GUCAS19Ia

12、aS市场规模2023/1/1Cloud Computing,GUCAS20Amazon AWSAmazon拥有庞大的市场份额与牢固的市场领先地位。AWS目前也是产品线最广最全的IaaS供应商,也是产业链生态圈最广的IaaS供应商。2006年初开始提供IaaS服务,迄今已经有14个IaaS产品和3个PaaS产品,涵盖计算、存储、网络、消息、数据库等。2023/1/1Cloud Computing,GUCAS212023/1/1Cloud Computing,GUCAS22提纲1.服务的定义2.IaaS及其使能技术3.PaaS及其使能技术4.SaaS及其使能技术PaaSPaaS(Platform

13、as a Service,平台即服务)提供了基础架构,软件开发者可以在这个基础架构之上建设新的应用,或者扩展已有的应用,同时却不必购买开发、质量控制或生产服务器S的F、Google的App Engine和微软的Azure(微软云计算平台)都采用了PaaS的模式。这些平台允许公司创建个性化的应用,也允许独立软件厂商或者其他的第三方机构针对垂直细分行业创造新的解决方案。2023/1/1Cloud Computing,GUCAS23PaaS对于开发Web Application和Services,PaaS提供了一套基于Internet的,从开发、测试、部署、运营到维护的全方位的集成环境。特别它从一开

14、始就具备了Multi-tenant architecture,用户不需要考虑多用户并发的问题,而由platform来解决,包括并发管理、扩展性,失效恢复、安全等。2023/1/1Cloud Computing,GUCAS24PaaS的特点PaaS所提供的服务与其他的服务最根本的区别是PaaS提供的是一个基础平台,而不是某种应用。PaaS运营商所需提供的服务,不仅仅是单纯的基础平台,而且包括针对该平台的技术支持服务,甚至针对该平台而进行的应用系统开发、优化等服务。PaaS的运营商最了解他们所运营的基础平台,所以由PaaS运营商所提出的对应用系统优化和改进的建议也非常重要。而在新应用系统的开发过程

15、中,PaaS运营商的技术咨询和支持团队的介入,也是保证应用系统在以后的运营中得以长期、稳定运行的重要因素;PaaS运营商对外提供的服务不同于其他的服务,这种服务的背后是强大而稳定的基础运营平台,以及专业的技术支持队伍。这种“平台级”服务能够保证支撑SaaS或其他软件服务提供商各种应用系统长时间、稳定的运行。PaaS的实质是将互联网的资源服务化为可编程接口,为第三方开发者提供有商业价值的资源和服务平台。2023/1/1Cloud Computing,GUCAS25PaaS的开发,优良的性价比PaaS使能技术并行/分布式计算分布式文件系统NoSQL并行编程模型.PaaS核心技术分布式技术:把多台机

16、器虚拟成一台性能极强的超级计算机分布式存储、分布式计算、分布式数据库、同步机制、负载分担、任务调度分布式软件开发、测试、运行工具编程环境SDK、编程接口、代码库、测试工具、运行工具运营管理系统用户管理、计费认证、资源监控、应用管理PaaS核心技术云计算分布式计算模型l分布式计算是由来已久的问题l计算模型:操作(CPU)+数据(内存/硬盘)l并行方法:传统分布式系统试图解决任何CPU访问任何数据CPUCPU内存内存硬盘硬盘CPUCPU内存内存硬盘硬盘CPUCPU内存内存硬盘硬盘CPUCPU内存内存硬盘硬盘CPUCPU内存内存硬盘硬盘CPUCPU内存内存硬盘硬盘CPUCPU内存内存硬盘硬盘CPUC

17、PU内存内存硬盘硬盘中间件承担多机之间的中间件承担多机之间的“总线总线”结束结束输入输入开发者必须将程序逻辑转换成分布式平台的逻辑开发者必须将程序逻辑转换成分布式平台的逻辑CPUCPU内存内存硬盘硬盘CPUCPU内存内存硬盘硬盘CPUCPU内存内存硬盘硬盘CPUCPU内存内存硬盘硬盘CPUCPU内存内存硬盘硬盘CPUCPU内存内存硬盘硬盘CPUCPU内存内存硬盘硬盘CPUCPU内存内存硬盘硬盘借助网络,借助网络,HadoopHadoop实现了多机之间的实现了多机之间的“总线总线”结束结束输入输入MapMapMapMapReduceReduce应用应用逻辑逻辑转换转换逻辑逻辑分布分布执行执行分布

18、式文件系统提供海量存储空间保持容错性保持数据完整性I/O吞吐率大GFS架构HDFS ArchitectureNoSQL数据库数据库关系模型不再是PaaS需要解决的问题,而是采用NoSQL数据库并行编程模型MPIMapReduceMapReduce执行流程2023/1/1Cloud Computing,GUCAS362023/1/1Cloud Computing,GUCAS37提纲1.服务的定义2.IaaS及其使能技术3.PaaS及其使能技术4.SaaS及其使能技术SaaS及其使能技术软件发展的四个阶段SaaS的定义、特性和架构SaaS的核心技术SaaS的成熟度模型SaaS的安全SaaS模式与传

19、统软件模式的区别国内外SaaS发展情况软件发展的四个阶段2023/1/1Cloud Computing,GUCAS39软件发展的四个阶段39项目开发阶段项目开发阶段套装式软件开发阶段套装式软件开发阶段平台化软件开发阶段平台化软件开发阶段社会化软件开发阶段社会化软件开发阶段社会化软件开发阶段社会化软件开发阶段软件发展的四个阶段l项目开发阶段l最早期的软件开发都是基于一个具体的项目l这个项目由客户(包括上级部门安排的任务)提出具体的需求,在甲、乙双方以合同的方式约定好开发费用、开发时间以及验收标准后开发方组织人马加班加点去完成合同所约定的任务。l这个阶段的一个重要特点是用户的需求是十分清楚的,开发

20、的软件也是给特定用户使用。2023/1/1Cloud Computing,GUCAS40软件发展的四个阶段l套装式软件开发阶段l项目式开发阶段是针对一个客户开发一个具体的项目,这种服务事实是一对一的。l软件公司为了降低开发成本,最大化地利用以前的工作,不再满足于自己开发的一个软件只能服务于一个客户,它更希望一个软件能最大化地服务于多个用户。l对于不同的项目需求,只要在原有相类似的软件上经过适当的修改和配置就可完成新项目,或者以本项目为基础,在开发设计时就充分考虑到软件的扩展性及适用性,以产品的开发模式来开发项目,甚至不需要客户提出项目需求,就研究开发能满足某类相同需求的用户。所以,软件公司就把

21、以前开发过的项目通过组合和修改,成为一个新产品来卖给有相类似需求的用户。l这个阶段的一个重要特点是改变项目为产品,大规模的卖给客户。这种服务事实就成了一对多了。这种模式最典型的是用友的财务软件。2023/1/1Cloud Computing,GUCAS41软件发展的四个阶段l平台化软件开发阶段l通过配置来达到简单的改变完全不能满足用户的新需求,这时就出现了“平台化”的开发模式。l一些软件企业通过架构自己的平台,达到业务系统的开发简便与高效。这个平台可把一些公用的部分如权限管理、流程定义集中起来,其它业务系统基于这个平台开发,只需要考虑自己的业务而不需要关心其它公用的部分。l这是目前乃至今后三五

22、年的热点开发模式。这种模式最典型的是SAP。2023/1/1Cloud Computing,GUCAS42软件发展的四个阶段l社会化软件开发阶段l以服务为导向的软件经营模式不仅让人耳目一新,同时它带来的是一场软件行业的革命。l这种新的软件服务模式叫ASP,软件厂商不再去为客户定身裁衣,也不必到客户那去安装软件,软件运营商自已架设服务器、安装软件,然后通过网络把软件信息送到用户手中。l客户通过服务商的网站了解到自己花多少钱,可以得到多少应用功能的软件服务,并通过在线试用,确定符合自己的需求的基础上,购买服务,并通过上网来使用这种服务。2023/1/1Cloud Computing,GUCAS43

23、SaaS的兴起l由于技术上特别是网络速度跟不上,再加上安全等问题,ASP并没有发扬光大,好多从事这方面开发和经营软件厂商半路夭折。l直到2008年,随着微软在这方面的重大突破,提出一种新的被称为之SaaS的软件经营模式,市场又重新火热起来,许多软件公司把精力投入到这方面,从软件开发到商业模式都朝这方面转。l真正的大规模的SaaS模式将在三五年后出现。这个时代的到来,就是社会化软件大开发的阶段。这很显然,谁最先转型,谁最先撑握SaaS技术,谁最先占领市场,谁就是最大的获利者。2023/1/1Cloud Computing,GUCAS44SaaS发展的三个阶段2023/1/1Cloud Compu

24、ting,GUCAS4545成熟阶段软件运营商理念成熟;综合而集成的在线应用成为主流;软件运营商开始大规模并购。发展阶段软件运营商理念开始形成;电信运营商开始介入;功能较为丰富的在线应用开始出现初级阶段ASP应用:单一功能的在线应用;软件运营商概念还没有形成。2000年2006年2006年2015年2015年以后SaaS定义lSaaS(Software as a service,软件即服务)也称为Hosted or On-demand Software,是一种软件部署和运营模式。l它是通过Internet提供的新的软件使用模式,消除了企业购买、构建与维护基础设施和应用程序的需要。l通过维护由服

25、务提供商负责管理,服务提供商以租赁的形式向用户提供软件的在线使用。l它能使用户在任何地方,只要能接入Internet,就能方便的使用软件来管理企业。2023/1/1Cloud Computing,GUCAS46SaaS定义lSaaS广义定义lSaaS,软件即服务,即用户可以根据自己的实际需求,以租用的方式按某种服务水平协议(SLA)直接通过互联网向专门的提供商获取软件服务,按订购服务的多少和时间长短向厂商支付费用,包括企业和个人。lSaaS狭义定义l只针对企业用户,以租用方式通过互联网向厂商订购所需的应用软件服务来进行企业的组织经营活动,按订购服务的多少和时间的长短向厂商支付费用。根据不同软件

26、的功能实现,将其分为管理软件、企业建站、企业在线OA、企业在线通信以及其他等类型2023/1/1Cloud Computing,GUCAS47SaaS的特性l互联网特性:l SaaS服务通过互联网浏览器或Web Services/Web 2.0程序连接的形式为用户提供服务,使得SaaS应用具备了典型互联网技术特点。l由于SaaS极大的缩短了用户与SaaS提供商之间的时空距离,从而使得SaaS服务的营销、交付与传统软件相比有着很大的不同。l多租户(Multi-tenant)特性:l服务要能够支持不同租户之间数据和配置的隔离,从而保证每个租户数据的安全与隐私,以及用户对诸如界面、业务逻辑、数据结构

27、等的个性化需求。l多租户大大增强了软件的可靠性和可扩展性(Scalability)、降低了维护和升级成本。2023/1/1Cloud Computing,GUCAS48SaaS的特性l服务(Service)特性:l SaaS使得软件以互联网为载体的服务形式被客户使用,所以服务合约的签定、服务使用的计量、在线服务质量的保证、服务费用的收取等等问题都必须考虑。l包括面向企业的服务(Line-of-business service)和面向个人消费者的服务(Consumer-oriented service)l可扩展特性(Scalable)特性:l可扩展性意味着最大程度的提高系统并发性,更有效的使用系

28、统资源。2023/1/1Cloud Computing,GUCAS49SaaS的特性l可配置(Configurable)特性:lSaaS模式的使用环境中,客户使用元数据(Metadata)来为其终端用户配置系统的界面以及相关的交互行为。l这种按需配置的特性,给用户的选择更加自由,用户可以灵活选择所需要的功能模块。而备份、维护、安全、升级等服务都留给SaaS供应商完成。l随需应变特性:l应用程序的使用将是动态的,提供了集成的、可视化的或自动化的特性。lSaaS模式的软件开发商可以利用这一市场的成长机会来提供软件应用和解决方案,帮助他们的客户完成到随需应变商业模型的过渡。通过注册并租赁SaaS模式

29、的服务系统,用户可以访问为帮助自身建立随需应变应用程序和加速销售而设计的资源和支持材料。2023/1/1Cloud Computing,GUCAS50SaaS整体架构2023/1/1Cloud Computing,GUCAS51SaaS体系结构2023/1/1Cloud Computing,GUCAS5252客户端1客户端2客户端3 中 小 企 业 公 共 服 务 平 台安 全 服 务/认 证 与 授 权负载均衡服务器/进程服务(用户服务请求统一接口)同构实例 用户mInstance 信息表同构实例 用户mInstance 信息表同构实例 用户mInstance 信息表 SLA/业 务 管 理

30、 构 件 库/信息共享数据源服务代理 目 录 服 务 访 问 控 制 无数据服务文件系统 数据库元数据SaaS体系结构l在此架构中,软件服务供应商在负载均衡的服务器上为不同的客户提供主机服务,在同一代码库上运行多个相同的应用实例(同构实例),每个应用实例服务于一定数量不同需求的客户,通过授权和安全策略来确保不同的客户访问各自权限范围的数据,以及区分不同客户的数据。l系统采用可配置的元数据为不同的用户提供个性化的服务。l负载均衡的服务器群作为和用户交互的统一接口,并且向下管理这些同构实例。l同构实例能够最大化不同用户间的资源共享,并且从最终用户的角度来看,不会察觉到应用是与多个用户共享的。l用户

31、使用软件的性能由服务水平协议SLA来监管。2023/1/1Cloud Computing,GUCAS53SaaS的主要关键技术数据库虚拟共享技术SaaS模式下,如何保证用户间的隔离性是一个首要的挑战目前已经提出了以下几种共享方式:共享机器、共享进程、共享表支持事务密集型应用的可伸缩性技术事务密集型应用程序是最常见的SaaS应用程序类型,实现这类应用程序的方法是采用支持事务密集型的高吞吐量数据库以及应用程序服务器集群,从而保障事务密集型应用的可伸缩性应用程序的可配置型用户可以对应用程序进行个性化配置与定制,以适应自己的特殊要求。SOA为实现这一要求提供了有力的技术支撑2023/1/1Cloud

32、Computing,GUCAS54SaaS的三层含义2023/1/1Cloud Computing,GUCAS55 SaaS的含义表示层接口层应用实现层SaaS的实现管理流、业务流分离统一的远程调用接口计算能力共享、存储能力共享、个性化配置能力、大容量支持能力SaaS的三层含义lSaaS软件在表示层方面,将SaaS软件中的管理流与业务流进行分离。lSaaS软件在接口方面,必须满足用户统一的远程调用要求。随着互联网技术和分布式计算技术的发展,越来越多的用户希望远程连接到数据源和应用,以期望实现应用程序跨多个服务器的分布和运行,这也是Web2.0中混合搭建(Mash Up)的目标。lSaaS模式面

33、向长尾市场,要求SaaS软件必须具备低成本运行能力和个性化配置能力。一方面,市场虽然诱人,但如果不能解决多用户间的资源共享,随着用户数量的增加,SaaS软件的运营成本就会线性上升,而无法产生规模效应;另一方面,客户在接受SaaS软件主要业务流程的前提下,还会有一定的个性要求,比如企业标识、页面版式、页面色系等。2023/1/1Cloud Computing,GUCAS56多租户技术l多租户作为SaaS的核心技术,本质上是一种应用程序模型,在该模型中所有用户和应用可以共享同一个基础架构和代码平台。l与单租户程序相比,多租户的设计思想是:多个租户可以共享、运行在同一套硬件平台之上的单个应用软件实例

34、,类似Google的邮件服务。多租户的设计使得快部署、低成本的理想成为现实。l目前,实现多租户的方法主要有物理分隔(Physical ioslation)、虚拟化(virtualization)、支持多租户的应用设计等。2023/1/1Cloud Computing,GUCAS57租户(Tenant):在SaaS模式下,软件的最终用户通常会按他们所属的公司、部门组织成一个个具有一致需求的群体,这种群体被称作租户(tenant)。租户租用应用软件,一个应用程序服务于多个租户,每个租户的应用程序又服务于多个最终用户。支持多租户的应用设计方法2023/1/1Cloud Computing,GUCAS

35、58l主要通过应用本身来实现对多租户的支持。如共享应用实例用在一个应用实例上,为成千上万个租户提供服务,租户间是隔离的,并且租户可以用配置的方式对应用进行定制。l这种技术在资源利用率配置的灵活性上都较虚拟化的方式好,并且由于是一个应用实例,在管理、维护方面也比虚拟化的方式方便。支持多租户的应用设计方法2023/1/1Cloud Computing,GUCAS59l多租户就是说多个租户共用一个实例,租户的数据既有隔离又有共享,说到底就是如何解决数据存储的问题。l现在SaaS Multi-Tenant在数据存储上存在三种主要解决方案:l独立数据库l共享数据库,隔离数据架构l共享数据库,共享数据架构

36、独立数据库2023/1/1Cloud Computing,GUCAS60 独立数据库这种方案的用户数据隔离级别最高,安全性最好,但成本也高。这种方案的用户数据隔离级别最高,安全性最好,但成本也高。独立数据库2023/1/1Cloud Computing,GUCAS61l优点:l为不同的租户提供独立的数据库,有助于简化数据模型的扩展设计,满足不同租户的独特需求。l如果出现故障,恢复数据比较简单。l更加安全隔离l缺点:l增大了数据库的安装数量,随之带来维护成本和购置成本的增加。l适用租赁服务要求数据实现独立存储足够资金支付数据扩展和独立存储的成本银行,医疗等系统共享数据库,隔离数据架构2023/1

37、/1Cloud Computing,GUCAS62 共享数据库,隔离数据架构多个或所有租户共享多个或所有租户共享Database,但一个,但一个Tenant一个一个Schema共享数据库,隔离数据架构2023/1/1Cloud Computing,GUCAS63l优点:l为安全性要求较高的租户提供了一定程度的逻辑数据隔离,并不是完全隔离,中等程度的安全。l每个数据库可以支持更多的租户数量。l容易进行数据模型扩展l缺点:l如果出现故障,数据恢复比较困难,因为恢复数据库将牵扯到其他租户的数据。l如果需要跨租户统计数据,存在一定困难。l适用:l应用的数据表较少l需要最大化服务器性能共享数据库,共享数

38、据架构2023/1/1Cloud Computing,GUCAS64 共享数据库,共享数据架构方案租户共享同一个租户共享同一个Database、同一个、同一个Schema,但在表中通过,但在表中通过TenantID区分租户的数据。这是共享程度最高、隔离级别最区分租户的数据。这是共享程度最高、隔离级别最低的模式。低的模式。共享数据库,共享数据架构2023/1/1Cloud Computing,GUCAS65l优点:l三种方案比较,第三种方案的维护和购置成本最低,允许每个数据库支持的租户数量最多。l缺点:l隔离级别最低,安全性最低,需要在设计开发时加大对安全方面的工作量。l数据备份和恢复最困难,需

39、要逐表逐条备份和还原。l如果希望以最少的服务器为最多的租户提供服务,并且租户接受以牺牲隔离级别换取降低成本,这种方案最适合。l很难进行数据模型扩展l适用:l可以把数据共同存储在同一个数据库l最大化服务器性能要求高三种方案的比较2023/1/1Cloud Computing,GUCAS66隔离共享独立数据库隔离数据架构共享数据架构模式隔离级别共享级别安全性成本独立数据库高低高高共享数据库,隔离数据架构中中中中共享数据库,共享数据架构低高低低SaaS成熟度模型2023/1/1Cloud Computing,GUCAS6767实例1实例2实例3实例实例实例实例 负载均衡实例实例实例实例SaaS成熟度

40、模型2023/1/1Cloud Computing,GUCAS6868可配置高性能可伸缩Level1定制开发Level2可配置Level3Level4SaaS成熟度模型l第一级 定制l第一级成熟度类似于上世纪90年代初的ASP(Application Service Provider)所采用的软件交付模式。l软件服务提供商为每个客户定制一套应用软件,并为其部署。l每个客户使用一个独立的数据库实例和应用服务器实例。数据库的数据结构和应用代码可能都根据客户需求做过定制化修改。l这种模式相对传统软件,差别仅仅在于商业模式,在应用架构上没有任何差别。l符合这一级成熟度的系统,每个客户拥有一个为其定制的

41、应用实例,这一单独的实例运行在SaaS服务提供商的硬件之上。从系统架构而言,这一级别的SaaS系统和传统的本地安装软件非常相似,同一客户的不同终端用户使用客户端软件连接同一个应用实例,但这一客户实例和服务提供商同时运行的其它客户的应用实例相比是完全独立的。2023/1/1Cloud Computing,GUCAS69SaaS成熟度模型l第二级 可配置l第二级成熟度模型是在第一级的基础上的改进,也就是针对每个客户的定制化可以通过配置的方式实现,而不需要通过定制代码、数据库结构来实现。软件服务提供商为每个客户定制一套应用软件,并为其部署。l这种模式要求软件开发商在设计应用的时候已经考虑了扩展性,所

42、以针对不同需求的客户,可以采用灵活的配置来响应。l这种模式下每个客户依然有独立数据库实例和应用服务器实例,但是每个客户的实例都是相同的版本,通过不同的配置来满足客户不同的需求。l符合第二级成熟度的系统,每个客户各自拥有一个单独的应用实例,但不同之处在于第一级中的用户实例是根据每个客户的需求单独定制的,而在这里,每个客户使用相同的代码。SaaS服务提供商通过详细的具体配置选项来允许客户改变自身应用的外观和系统行为。尽管如此,不同的应用实例之间还是保持完全独立运行。2023/1/1Cloud Computing,GUCAS70SaaS成熟度模型l第三级 可配置,高效的多用户支持l第三级的成熟度模型

43、就是符合multi-tenant架构的,multi-tenant完整的名称应该是Single Instance Multi Tenant,也是单实例多租户。这级模型下软件提供商部署一个应用的实例即可满足多个客户的要求。l服务提供商通过运行一个应用实例来为所有的客户服务,同时通过可配置的元数据来给每一个客户提供不同的用户体验和功能。l可配置的权限控制和安全策略则确保了每一个客户的数据被单独存放且与其它客户的数据相隔离。因此,从最终用户的角度出发,他们将感受不到所使用的应用实例也在同一时间为其他客户所共享。2023/1/1Cloud Computing,GUCAS71SaaS成熟度模型l第四级 可

44、配置,高效的多用户支持可扩展l第四级成熟度模型延续第三级成熟度模型,系统扩展为multi-tenant multi-instance,最终用户首先通过接入Tenant Load Balance层被分配到不同的Instance上,通过多个Instance我们可以实现应用的近似无限水平扩展。l要实现第四级成熟度模型,最复杂的就是针对原有单个Instance的数据库服务器,实现其数据的水平拆分。l在这一级也就是最后一级的成熟度模型中,SaaS服务供应商将通过运行一个负载均衡的具备权限验证功能的平台来为众多的客户同时服务,每个客户的业务数据将被单独存放,同时提供使用可配置的元数据来为每一个客户提供其自

45、身需要的独一无二的用户体验。2023/1/1Cloud Computing,GUCAS72SAAS的成熟度模型渐进步骤2023/1/1Cloud Computing,GUCAS73项目产品多租户高性能的多租户可配置的多租户可伸缩的多租户l实现多租户l实现多租户架构下的高性能l实现可配置l实现伸缩性SaaS安全技术l当前,安全问题成为制约SaaS全面兴起的主要瓶颈。企业用户在选择IT产品时,无论是传统软件还是基于SaaS的软件服务,最先考虑的就是安全性。lSaaS的安全性主要分为两个方面:技术安全和非技术安全。2023/1/1Cloud Computing,GUCAS74数据库安全lSaaS软件

46、系统普遍采用大型商用关系型数据库和集群技术。l在数据库的设计上,多租户的软件会有3种设计,每个客户公司独享一个数据库instance,或独享一个数据库instance中的一个模式(schema),或多客户公司以隔离和保密技术原理共享一个数据库instance的一个模式。l数据库隔离的方式经历了instance隔离、schema隔离、partition隔离、数据表隔离到在应用程序的数据逻辑层提供的根据共享数据库进行用户数据增删改授权的隔离机制,从而在不影响安全性的前提下实现效率最大化。2023/1/1Cloud Computing,GUCAS75应用程序安全l应用程序的安全围绕Web服务器展开,

47、比如Apache、IIS等。l给予这些Web服务器,主流厂商多采用J2EE或.NET开发技术,并会采用特殊的Web服务器或服务器配置以优化安全性、访问速度和可靠性。l身份验证和授权服务是系统安全性的起点,J2EE和.Net自带有全面的安全服务。l在应用程序的设计上,安全服务通过用户访问列表、应用程序Session、数据库访问Session等进行数据访问控制,并需要建立严格的组织、组、用户树和维护机制。lACL和密码保护策略也是SaaS软件成熟度得标志。客户可在自己的系统中修改相关策略。有些厂商还推出了浏览器插件来保护客户登陆安全。2023/1/1Cloud Computing,GUCAS76数

48、据传输和客户端安全lSaaS通过互联网而非企业局域网来传输数据和表格,SaaS软件也都是采用浏览器方式来访问,数据的传输以及客户端的安全性也显得尤为重要。lSaaS和已经普及的网上银行和网银支付都采用SSL加密技术,而SaaS软件的访问普遍采用的安全技术包括Cookie加密、URL随机码、SQL等代码的注入防范等技术。另外,浏览器及时升级也非常重要l身份验证和授权服务是系统安全性的起点,J2EE和.Net自带有全面的安全服务。2023/1/1Cloud Computing,GUCAS77非技术安全l相对而言,非技术安全才是最重要,也是用户当前最担心的l把企业客户或运营资料全盘委托给服务商保管,

49、还会遇到一些非技术性的困境,就是谁可以保证机密资料不被泄露。换句话说,就是服务商是否值得信任。lSaaS的特点是由服务商完成所有的系统维护,当服务商提供欧服务时,技术人员可以很方便地接触到用户的商业数据,这时就存在着用户对服务商的信任问题。2023/1/1Cloud Computing,GUCAS78SaaS安全设计性lSaaS下的安全性设计很重要。一般常见的安全性设计分为两类:系统级和程序级。l系统级:l使用HTTPS协议以SSL(Security Socket Layer)交换数据,增强通信安全;l通过数字签名防止传输过程篡改;l对用户身份识别的UserToken使用DES算法数据加密;l

50、业务数据定时自动备份。l程序级:l完整的权限配置,包括功能权限和数据权限;l客户端输入校验,防止JS攻击、XSS攻击、SQL注入等;l辅助安全设计,比如密码控件、图片验证码、手机确认码等。2023/1/1Cloud Computing,GUCAS79SaaS模式与传统软件模式的区别2023/1/1Cloud Computing,GUCAS80传统软件模式SaaS模式与传统软件模式的区别2023/1/1Cloud Computing,GUCAS81 SaaS模式SaaS模式与传统软件模式的区别lSaaS不仅减少或取消了传统的软件授权费用,而且厂商将应用软件部署在统一的服务器上,免除了最终用户的服

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

当前位置:首页 > 生活休闲 > 生活常识

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁