SaaS模式中的质量管理_第1页
SaaS模式中的质量管理_第2页
SaaS模式中的质量管理_第3页
SaaS模式中的质量管理_第4页
SaaS模式中的质量管理_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

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

文档简介

1、SaaS模式中的质量管理SaaS模式无疑是对软件质量管理的新挑战,我们有必要 找出相应的对策来保障高品质的软件服务。随着互联网的迅猛开展,特别是Web2.0的兴起,将软件作为一种服务形式提供给客户的需求逐渐增加,软件产业正 在发生越来越大的变化,其中最突出的就是形成软件即服务 (Software as a Service, SaaS)模式。SaaS模式就是以软件部署为基础,通过互联网直接为客户提供服务,而且客户还可以按需定制自己特定的服务。这种新模式的出现,正符合了这种需求。用软件服务取代 传统软件产品,不仅可以防止软件被盗版困扰,还可以降低 软件消费企业购买、构建和维护基础设施和应用程序的本

2、钱 和难度。SaaS模式已经给传统套装软件厂商带来了实实在在的压 力,其自身的开展越来越快,许多著名调查或咨询公司所提 供的数据进一步显示了这一趋势。其中著名的代表有SalesForce、WebEx、oDesk、 OpenAir、eProject 等,而且像甲骨文、IBM、Microsoft 和 SAP等软件巨头开始关注这一模式,并投入巨资力图将传统的 软件产品销售模式逐渐向软件服务迁移,例如,甲骨文相继收购了 J. D. Edwards PeopleSoft和Siebel CRM OnDemand,而IBM开始宣称自己一直是一家按需服务(On-demand service)公司,Micros

3、oft 开始力推其live的战略,而以百度、Google eBay和Amazon等以消费者为中心的服务也从侧面证明了 SaaS模式是可以进一步扩展的。(1)软件开发方法和流程要敏捷,其实施要具有简单性。(2)允许客户自行定制,对系统架构的灵活性、兼容性、 扩展性有较高要求。(3)软件服务是通过部署系统来实现的,对系统部署、运 行、技术支持和维护的要求很高。(4)要求高可用性(7x24不间断运行),以及性能稳定、 可靠性,包括系统故障转移。(5)SaaS的核心是数据,使客户能通过网络方便存取数 据,同时要保证数据的平安性,包括数据加密、隔离、备份 和恢复等。这些无疑是对软件质量管理的新挑战,我们

4、有必要找到相 应的对策来保证高质量的软件服务。SaaS模式有很多特定要求包括对软件开发方法和流程、 对系统架构的灵活性、兼容性和扩充性等有更高的要求、对 系统部署、操作、技术支持和维护要求等等。这些也无疑是 对软件质量管理的新挑战,我们有必要找出相应的对策来保 障高品质的软件服务。SaaS质量需求的焦点高质量的软件应该同时满足用户和软件公司的需求。满足 用户需求就是满足用户在功能、界面易用性、可用性、可靠 性、平安性等方面的要求。满足软件企业自身的需求,就是要降低软件系统的复杂 性,具有可扩充性、移植性等,使系统更容易维护。对于 SaaS,软件质量需求的焦点在于系统的有效性、可靠性、安 全性和

5、可维护性等。产品或服务对于客户的是否能保持有效,即在预定的启 动时间中,系统真正可用并且完全运行时间所占的百分比, 可以用“系统平均无故障时间(MTTF, Mean Time To Failure)除以总的运行时间(MTTF与故障修复时间之和)” 来计算系统的有效性。例如,网上银行系统需要高有效性(如99. 99%)才能 满足质量要求。一个有效性需求可以这样说明:“工作日期间,在当地时 间早上6点到午夜,系统的有效性至少到达99.5%,在下午4 点到6点,系统的有效性至少要到达99.95%”。系统的稳健性和有效性有时可以视为可靠性的一局部。衡量软件可靠性的方法,包括正确操作的比例,在发现新 的

6、缺陷之前系统运行的时间长度,缺陷的密度。软件系统的 可靠性和性能是相互关联的,更确切地说,它们是相互影响 的。高可靠性可能会降低性能。比方数据复制备份,重复计 算等。可以提高软件系统的可靠性,但在一定程度上降低了 系统的性能。比方协同工作的一些关键流程需要快速处理才能到达高性 能,而这些关键流程可能是单点失效设计,可靠性不够。对于SaaS,还必须认真地考虑平安性、扩充性和可维护 性等。平安性,除了数据存储、备份等要求之外,还需要设 定系统合理的、可靠的系统和数据的访问权限,防止一些不 速之客的闯入和黑客的攻击,以防止数据泄密和系统瘫痪。一般来说,软件的平安性和可靠性是一致的。平安性高的 软件也

7、要求相对高的可靠性,因为任何故障都可能造成数据 不平安。需要保证与平安相关的关键部件是可靠的。即使出现错误 或失败,也必须确保代码和数据存储在平安的地方,不能被 不当使用和分析。但软件的平安性和其性能、适用性会有些冲突,如加密 算法越复杂,其性能可能会越低;或者对数据的访问设置种种 保护措施,包括用户登录、口令保护、身份验证、所有操作 全程跟踪记录等等,必然在一定程度上降低了系统的适用 性。适应SaaS质量需求的软件开发流程SaaS通过互联网向用户提供服务,而这基础是软件系统 的部署。这就要求在软件需求分析、设计和验证时,要充分 考虑系统部署的需求,包括服务器集群、分布式网络、故障转移、系统在

8、线扩充、数据备份和恢复等。所以系统的架构 设计是非常重要的,需要投入足够的时间和资源。另一方面,由于软件部署由软件服务商自己控制,且不 会像渠道销售软件套装产品那样花费很长时间和制造本钱, 所以SaaS软件发布周期可以大大缩短,力求在软件开发过程 中做到最简单和最有效,最优先要做的是通过尽早的、持续 的交付有价值的软件来使客户满意。对于SaaS软件开发,可以将敏捷方法和RUP过程方法结 合起来,敏捷过程能够保持快速、稳定的开发速度,RUP过程 可以保证系统的灵活架构、良好的扩充性和移植性,促进开 发过程到达一个最正确的平衡状态,以获得很高的满意度。软件服务模式的产品发布程序比一般软件产品的发布

9、要 复杂得多,要涉及到软件产品部署和实施的前期活动和后期 活动,其中增加了 “软件产品的部署(Deployment)规划、 部署设计、部署设计的验证和实施、监控”等活动。在开发中,要考虑到网站或数据的迁移、多种升级方 式、多版本共存的运行环境等需求,对数据/系统的兼容性要 进行充分的讨论和分析,保证用户升级过程中,所获得服务 没有受到影响,数据受到保护,一切使用正常。而且为了处理客户之间的关系,对于功能变化较大的新版 本的升级,一般都需要事先征得用户的允许或同意。对于软件服务模式,当产品发布到运行环境(服务器) 中,在用户开始使用之前,还要进一步验证。所以,对软件 服务模式的产品发布中最后实施

10、阶段,其时间性非常强,一 般放在周末或晚上时间(9:00pm6:00am)。如果提供7x24 不间断的软件服务,就需要采用DNS、服务器、目录等快速切 换方式来实现无缝升级。部署的规划、设计和验证软件部署(Deployment)是SaaS 一个必不可少的、关键 的环节。软件部署是通过整合的、虚拟化的或逻辑化的资源 和进程的集中管理,对所要运行的程序提供技术和环境的支 撑,从而保证软件系统被部署到合适的运行环境中能具有最 优的、最可靠的性能表现,并能对用户和系统的各种数据进 行有效的存储、备份和恢复等。在软件部署的技术分析上,就是以业务目标为出发点, 将这些要求转化为可用来设计部署体系结构的技术

11、规范。而 在部署设计中,必须考虑多种质量因素。逻辑体系结构它能决定服务分配的最正确方式和系统扩充 性、维护性等。服务质量要求必须满足服务质量(QoS)要求,建立在 逻辑体系结构和QoS要求的映射关系,从而到达性能、可用 性、可伸缩性、可维护性等软件服务的质量目标。用量分析有助于通过系统负载的使用模式来隔离性能瓶颈,开发出满足QoS要求的策略,用于部署设计中。用量分析因素主要有:用户数量及类型、活动和非活动用户、管理用户、使用模式、用户增长、用户事务和用户/历史 数据等。用例尽管用例包含在使用分析中,但在评估部署设计时, 您应该参考用例,以确保在任何情况下揭示的问题都在设计 中得到处理或解决。根

12、据性能指标,对一些关键用例进行研究,以确定在系统 级保证这一需求实现的结构、技术或方式。服务级别协议指定了最低性能要求以及未能满足此要求 时必须提供的客户支持级别和程度,相当于设计的底线 (Bottom Line)。本钱有必要设计2-3个软件部署方案,通过分析、比拟,对资源优化,采用平衡策略,能够在业务约束范围内达 到业务要求,并获得本钱最优化。业务目标是软件部署的最终目标,包括实现这些目标的业 务需求或约束。软件部署设计的质量最终取决于对满足业务 目标的能力的评估。除此之外,下面还要着重讨论可用性、可伸缩性和平安性的影响因素和规划策略,保证部署设计成功。对可用性、 可伸缩性和平安性等的验证,

13、也是至关重要的。可用性的规划策略当可用性的要求达99. 99%或99. 999%,通常要求系统必 须是一个容错系统。容错系统必须能够在硬件或软件出现故 障时继续运行,其实现手段是为提供关键服务的硬件(如 CPU、内存和网络设备)及软件配置冗余组件。可用性设计将考虑到可用性降低或组件丧失时所发生的 情况,其中要考虑连接的用户是否必须重新启动会话和一个 区域内的故障对系统的其他区域的影响程度。QoS要求应考 虑这些方案并指定部署如何对这些情况作出反响。单一故障点(Single-point failure)是指没有备用的 冗余组件的硬件或软件组件,而这些组件是重要路径的组成 局部,即该组件出现故障会

14、使系统无法继续提供服务。设计 容错系统时,必须确定并消除潜在的单一故障点。其常用的可用性策略有:负载平衡 使用冗余硬件(如服务器集群-Server Cluster)和软件组件来分流处理负载。负载平衡器(如NetScaler LoadBalance)把对某个服 务的任意请求引导至该服务的服务器集群中当前负载最小的 某个服务器上。如果任一实例发生故障,其他实例可以承当 更大的负载。故障转移涉及对冗余硬件和软件的管理,在任何组件发生故障时提供对服务的不间断访问并保证关键数据的平安。如Sun Cluster软件为后端组件管理的关键数据提供了故障 转移解决方案。复制或备份服务为同一数据的访问提供多个源,

15、如目录服务器为LDAP目录访问提供多个复制和同步策略。可伸缩系统的规划可伸缩性是指增加系统容量的能力,并要求当系统资源增 加时,部署的架构不应改变。在系统需求分析、设计阶段,系统容量的预测往往只是 估计值,可能与部署系统的实际情况存在较大差异,所以部 署具体设计时,应考虑到必然存在的偏差,引入系统部署可 伸缩性的策略,使部署后的系统具备足够的灵活性,具有足 够的处理合理时间内(如系统运行后612个月)增加负载 的潜在容量,以便在出现异常峰值负载时能够沉着应对。一般来说,可伸缩系统的规划有以下三种策略,从中可以 选择一种或多种组合策略。高性能设计策略在性能需求确实定阶段增加潜在容量,以 应对可能

16、随时间增长的负载,在预算控制范围内尽可能提高 系统的可用性。这种策略可以使系统有一定的缓冲时间来应对不断增加的负载,因此相对容易制定较大的系统扩展计 划。渐增式部署基于负载的要求以及评估,事先明确系统扩 展的条件以及条件可能到达的时间,对每一个重大的系统扩 展特定日期/时间有一个估计和安排,从而建立部署的整个日 程表。大范围的性能监控监控性能有助于确定何时向部署添加资 源。监控性能的要求可以为负责维护和升级的操作员和管理 员提供指导。平安性的规划平安性是一个复杂的主题,涉及到部署系统的各个级 别,主要包括以下内容:物理平安物理平安是指对路由器、服务器、服务器机房、 数据中心和基础设施其他局部的

17、物理访问。如果未经授权的 人可以进入服务器机房,然后拔掉路由器,其他的平安措施 就没有意义了。网络平安网络平安是通过防火墙、平安访问区、访问控 制列表和端口访问对网络进行访问。应开发针对未授权访 问、篡改和拒绝服务攻击的策略。应用程序和应用程序数据平安性包括通过身份验证和授权 流程和策略(包括密码、加密、身份验证、访问权限和控制策各)访问用户帐户、公司数据和企业应用程序。个人平安措施组织范围内的平安政策,它定义了所有用户 必须遵循的工作环境和措施,以确保其他平安措施按设计实 施。通常的做法是编写平安手册和培训用户。为了实现有效的 整体平安策略,可靠的平安实践必须成为企业文化不可分割 的一局部。SaaS软件系统的维护质量第一,保证系统的可维护性;其次,制定系统维护的一系 列操作规那么和变更控制程序,以保证系统维护的及时有效。可维护性是指对部署的系统进行维护的难易程度,包括系 统监控、系统故障修复、系统功能增强、系统数据更新和备 份、系统软硬件升级等任务。其影响因素还包括使用模式、 停机计划和相应的流程。可维护性和可用性具有一定的依赖 性,良好的可维护性可以保证系统的高可用性。软件部署维护,首先必须由专业的、独立的维护团队, 其成员的技术构成应比拟完备,包括硬件工程师、网络设计 工程师、平安认证工程师、(操作)系统工程师、数据库管 理员(DBA)和应用系统的技术人员等。其次要

温馨提示

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

评论

0/150

提交评论