分析:SaaS在云计算中扮演的角色

责任编辑:企业网

2010-08-06 18:11:43

来源:企业网D1Net

原创

本篇文章将探究不同风格的 SaaS,并给出两个 SaaS 如何在按需付费的云计算环境中工作的例子 —— 工厂工程管理和远程学习。

\想要知道软件即服务 (SaaS) 在云计算中的扮演的是什么角色吗?本篇文章将探究不同风格的 SaaS,并给出两个 SaaS 如何在按需付费的云计算环境中工作的例子 —— 工厂工程管理和远程学习。通过结合多租赁和虚拟化的优点对 SaaS 进行性能调优。寻找针对未使用资源和互操作性问题的解决方案。最后,如果没有恰当的计划和实现,安全性防护的成本将远远超出 SaaS 和云计算的价格优势。

简介

如果使用过 Amazon Web 服务,您一定会对 SaaS 在云计算中扮演的角色很感兴趣。好消息是您可以基于这些 Web 服务开发 Web 感知、云友好的 SaaS。您可以将这个 SaaS 销售给许多用户,比如顾问或产品工程师,并通过更实惠的按需付费方式减少提前购买软件的成本。另一个好处是 SaaS 在一个集中的位置提供更新,避免经常下载补丁和进行升级。

在本文中,我将向您展示 SaaS 和云计算之间的异同,并讨论 SaaS 在云计算中扮演的角色,以及展示它与效用计算和平台即服务(Platform as a service,PaaS)等其他形式的云计算的巨大差别。我还将给出服务类别和应用程序示例,探讨关于结合多租赁和虚拟化的内容。然后,我将论及未使用的资源和互操作性问题,并提供一些相应的解决方案。最后介绍测试 SaaS 在云计算中的执行情况所需的条件,以及 SaaS 在安全性方面的问题。

SaaS 的成熟度

SaaS 已经非常成熟,可以看作是 mashup 的一部分,或是 PaaS 产品或基于 Internet 的服务的一个插件。它提供开箱即用的应用程序,比如企业资源管理或工厂工程管理。不管您身居何处,都可以从 Web 浏览器访问这个应用程序。

SaaS 服务的完善得益于服务器和磁盘上的虚拟平台软件。服务完善程度仅次于它的是 PaaS 和基础设施即服务(Infrastructure as a Service,IaaS)。服务完善程度最低的是基于 Internet 的服务。PaaS 在磁盘上运行 API 和虚拟平台软件,而 IaaS 则通过 Internet 提供了一个完整的计算机基础设施,并仅为 Amazon EC2 和 IBM Blue Cloud 等的用户提供了服务器虚拟化。Amazon S3、Amazon Simple DB 和 Google Base 等都是基于 Internet 的服务。

示例 1:工厂工程管理

我们可以构建一个完善的 SaaS,工厂工程公司可以利用它改进生产周期,以及为商品采购、销售和财务交易提供保障。这个 SaaS 还能帮助决定生产转包中的容量计划所需的业务流程。它的用户群很大,可以是厂长、质量经理、生产线管理员、COO 和 CFO。

主管人员不仅可以利用 SaaS 在按需付费的订阅环境中访问数据,他们还可以借助它在财务、工厂工程、生产周期、供应管理和人力资源计划方面做出关键决策。SaaS 可充当制造型工厂的决策者的经营业务智能工具。比如,通过 SaaS 提供的工具可以为决策者提供原料处理时间、生产周期时间和设备更换时间的理想指标。这些工具还可以给出分析,并在某个指标没有达到理想指标时为决策者提供补救措施。

示例 2:远程学习

我们可以将一个培训程序构建为 SaaS。DigitalChalk 的 SaaS 模型专门针对大学或企业客户,帮助他们通过 Web 站点传输培训内容(包括远程学习)。在构建这个 SaaS 时,它创建了自己的 Amazon Machine Image (AMI) 并使用 Amazon S3、EC2 和 SQS,而不是使用数据中心。

要开发其他的 SaaS 服务,可以使用 EC2 将要运行的 IBM AMI。其中包括 IBM DB2、IBM Informix、IBM Websphere Smash 和 IBM Lotus Web Content。要扩展 AMI 存储库,可以使用预先配置好的 AMI 模板,也可以创建一个包含有应用程序、库、数据和相关设置的 AMI。

SaaS 服务的分类

Microsoft® 将 SaaS 分为两类:面向企业的服务和面向个人消费者的服务。这两种服务均可通过订阅购买得到。面向企业的服务是用于金融、供应链管理及客户关系等方面的、基于按需付费的大型定制商业解决方案(例如,工厂工程管理)。面向个人消费者的服务的目标是不需要他们付费,而是依靠广告支持获得收入。

由于这两种分类仍然很有限,我这里再增加两个种类:共享资源服务和 外包服务。共享资源服务在一个用户池中分发服务,能够让大型公司以很低的成本能获得峰值的负荷容量,减少了对大型内部数据中心的需求。外包服务则让中小型企业可以通过完全外包数据中心基础设施的方式提供服务(比如,远程学习)。

除了面向个人消费者的服务外,只有企业向大量客户提供服务时,才可能有收益。因为只有客户群足够大,按需付费订阅的低收益才能弥补基础设施的高成本 — 它不像效用计算那样按使用率来收费。除订阅外,收入来源还有介绍费、交易费、基于消费的定价、基于性能的定价、转销收益及收入分成。

最佳性能调优

每个示例都显示 SaaS 的三个属性:可配置性、可伸缩性及多租赁效率。如果 SaaS 不具备一个或多个这样的属性,那么这个 SaaS 就是不成熟的。为了获得更灵活的系统最佳性能调优,可以将多租赁与虚拟化相结合。

多租赁

多租赁是指一种软件架构,在这种架构下,软件的单个实例作为一个 SaaS 运行,服务于多个客户组织(租户)。对于这种多租户的架构,数据和配置被虚拟分区,以使每个客户组织都能处理一个虚拟的应用程序实例。通过合并单个操作中的 IT 资源,多租赁节约了成本。

多租赁的一个缺点就是当用户的基数很小时,它也要占用大量的内存和进行大量的应用程序处理。当用户基数很大时,由于负荷可以在多个用户间分摊,就克服了这个缺陷。多租赁的另一个缺点就是构造一个高效的多租赁应用程序可能需要额外的编程,这就增加了开销。

虚拟化

SaaS 架构中的服务器虚拟化不局限于多租赁的数据和配置虚拟分区。虚拟化的好处之一就是它能通过动态调整实际服务器的数量以及资源的合理大小(包括存储和数据库资源),从而提高系统的容量以满足需求(比如在 12 月份购买会增加)。不好的一面是,由于虚拟化软件互操作性方面的问题,虚拟化后的服务器有可能不能从一个厂商转移到另一个厂商。

问题 1:未使用资源

运行在 Web 服务之上的 SaaS 利用 SOA 在软件应用程序之间进行交互。每个软件服务均可充当一个服务提供者或请求者。SaaS 服务提供者通过公共代理向其他应用程序公开其功能。SaaS 服务请求者合并来自其他服务的数据和功能。二者均在 SaaS 服务的部署和管理上因经营规模扩大而得到节约。

不管资源是否缺乏,Web 服务通常会松散地耦合。要确保用于服务器提供者和请求者的资源在容量随需求上下波动时不会被浪费,需要创建一个具有耦合开关的 Web 服务以配合 SaaS 应用程序。当 Web 服务收到一个告警表示其对应的资源已经达到特定的浪费级别时,这个开关就会从松散耦合倒向紧密耦合。

问题 2:互操作性问题

如果您的 SaaS 是 Web 感知、云友好的,公司可能会发现很难对不同的厂商运行同一个 SaaS 应用程序,因为这些厂商可能具有不同的导入和导出数据的格式。考虑这样一个场景:假设您有两个 SaaS 应用程序需要 mashup。一个在某个厂商的云计算环境中使用了行业标准 API。另一个则在另外一个厂商的云计算环境上运行了专有 API。不经过某些修改,这种 mashup 将不能工作。

首先必须解决这两个云计算厂商间的可移植性问题。这两个厂商是已经允许两种环境之间的通信,还是必须要对二者间的数据进行处理?这两种类型 API 的数据格式和逻辑是兼容的,还是必须要重新格式化两个应用程序间的数据或更改逻辑?目前,还没有 API 导入和导出数据的相关标准。不过,IBM 和 Amazon 正在共同努力以使互操作性和 mashup 更易于设计和管理。

测试非常关键

作为软件开发的一部分,测试可以确保云计算和 SaaS 能正常工作。为了提高服务质量,也需要进行 SaaS 服务和应用程序的测试。为了开始测试,需要仿真终端用户环境,比如多个 Web 浏览器、操作系统网络连接性。没有这些条件就不是一个好开端。例如,一个 Web 浏览器有的特性,另一个浏览器可能没有。特性的缺少有可能会影响用户访问云计算中的 SaaS 服务的方式或者未使用资源如何处置的方式。

接下来,测试是否有多租赁漏洞,比如由于软件漏洞,用户 A 得以假冒成用户 B。其他需要进行测试的还有:在系统负载正常的情况下,用户使用的扩展范围是多少。在按需付费的环境中如何最好地管理专有密钥。云中的大量数据应如何备份和存储。在 SaaS 模型中,版本控制和更改管理并非客户行为,但必须对其进行须测,以确保它们能被充分验证。同样重要的是要测试 SaaS 是否满足垂直需要,因为 SaaS 是一个水平应用程序。

要记住,与部署于典型的数据中心环境中的产品相比,云

链接已复制,快去分享吧

企业网版权所有©2010-2025 京ICP备09108050号-6京公网安备 11010502049343号