云计算软件即服务 (SaaS)
软件即服务 (SaaS) 模型允许将软件应用程序作为服务提供给最终用户。 它是指部署在主机服务上并可通过 Internet 访问的软件。 下面列出了几种 SaaS 应用程序:
- 计费和发票系统
- 客户关系管理 (CRM) 应用程序
- 帮助台应用程序
- 人力资源 (HR) 解决方案
一些 SaaS 应用程序不可自定义,例如 Microsoft Office Suite。但是 SaaS 为我们提供了应用程序编程接口 (API), 它允许开发人员开发定制的应用程序。
特点
以下是SaaS服务模式的特点:
SaaS 使软件可以通过互联网使用。
软件应用程序由供应商维护。
软件许可可以基于订阅或基于使用。 而且是定期计费的。
SaaS 应用程序具有成本效益,因为它们不需要最终用户端的任何维护。
它们可按需提供。
它们可以根据需要放大或缩小。
它们会自动升级和更新。
SaaS 提供共享数据模型。 因此,多个用户可以共享基础设施的单个实例。 不需要为个人用户硬编码功能。
所有用户都运行相同版本的软件。
优点
事实证明,使用 SaaS 在可扩展性、效率和性能方面是有益的。 下面列出了一些好处:
- 简单的软件工具
- 有效使用软件许可证
- 集中管理和数据
- 由提供商管理的平台职责
- 多租户解决方案
简单的软件工具
SaaS 应用程序部署需要很少或不需要安装客户端软件,这会带来以下好处:
- 客户端无需复杂的软件包
- 客户端配置风险很小或没有
- 分销成本低
有效使用软件许可证
客户可以为在不同位置运行的多台计算机拥有单一许可证,从而降低许可成本。 此外,由于软件在提供商的基础设施中运行,因此不需要许可证服务器。
集中管理和数据
云提供商集中存储数据。 然而,出于冗余和可靠性的考虑,云提供商可能会以去中心化的方式存储数据。
提供商管理的平台职责
备份、系统维护、安全、硬件更新、电源管理等所有平台职责均由云提供商执行。 客户不需要担心他们。
多租户解决方案
多租户解决方案允许多个用户以虚拟隔离方式共享不同资源的单个实例。 客户可以自定义他们的应用程序,而不影响核心功能。
问题
有几个与 SaaS 相关的问题,下面列出了其中一些问题:
- 基于浏览器的风险
- 网络依赖
- SaaS 云之间缺乏可移植性
基于浏览器的风险
如果客户访问恶意网站并且浏览器被感染,则后续对 SaaS 应用程序的访问可能会损害客户的数据。
为了避免此类风险,客户可以使用多个浏览器并专用于特定浏览器来访问 SaaS 应用程序,或者可以在访问 SaaS 应用程序时使用虚拟桌面。
网络依赖
只有网络持续可用时才能交付 SaaS 应用程序。 网络也应该是可靠的,但网络的可靠性无论是云提供商还是客户都无法保证。
SaaS 云之间缺乏可移植性
将工作负载从一个 SaaS 云转移到另一个 SaaS 云并不那么容易,因为工作流程、业务逻辑、用户界面、支持脚本可能是特定于提供商的。
开放 SaaS 和 SOA
开放 SaaS 使用使用开源编程语言开发的 SaaS 应用程序。 这些 SaaS 应用程序可以在任何开源操作系统和数据库上运行。 开放 SaaS 具有以下列出的多项优势:
- 无需许可
- 部署成本低
- 减少供应商锁定
- 更便携的应用程序
- 更强大的解决方案
下图展示了基于 SOA 的 SaaS 实现: