虚拟化如何为SaaS应用程序提供支持

作者: Roger Morrison
创建日期: 17 九月 2021
更新日期: 19 六月 2024
Anonim
虚拟机是否等于物理机,vm+挂机赚钱项目真的可以实现财富自由吗?
视频: 虚拟机是否等于物理机,vm+挂机赚钱项目真的可以实现财富自由吗?

内容



资料来源:Tashatuvango / Dreamstime.com

带走:

虚拟化和SaaS可以成为企业的强大组合。

虚拟化包含各种计算技术,并且可以在硬件级别和软件级别上实现。在企业中,虚拟化可以增强软件服务的能力,尤其是SaaS应用程序。这也是企业降低IT成本的最有效方法。但是将虚拟化和SaaS结合在一起,您可能会获得成功。

什么是SaaS?

软件即服务(SaaS)是一种软件许可模型,其中该软件是按订阅许可的,并由供应商或服务提供商集中托管。这些分布式软件应用程序可通过Internet提供给客户。

SaaS在支持面向服务的体系结构(SOA)或Web服务的技术中变得越来越流行。 SaaS具有许多优势。最常见的是:
  • 易于管理
  • 轻松更新和补丁管理
  • 兼容性(所有用户都将使用相同版本的软件)
  • 全球可及性
SaaS还被认为是云计算术语的一部分,其中包括:
  • 基础架构即服务(IaaS)
  • 桌面即服务(DaaS)
  • 后端即服务(BaaS)
  • 平台即服务(PaaS)
  • 信息技术管理即服务(ITMaaS)

虚拟化和软件交付

虚拟化的概念已在软件开发社区中正确采用并接受。它具有通过快速创建开发和测试环境来提供更快的开发和测试机制的能力。

VMware和VBox是使用最广泛的技术,它们使多个用户可以在不同的操作系统,版本和实例上运行。大多数软件开发企业通过首先采用软件虚拟化机制,然后逐渐转向硬件虚拟化来采用虚拟化技术。

虚拟化和SaaS

尽管具有许多优势,但SaaS尚未得到应有的认可。造成这种情况的因素很多。这些包括:
  • 巨大的启动成本:几年后就可以收回在安装中投入的收入。

  • 它可能违反自由软件的原则:软件自由主义者Richard Stallman将SaaS称为“服务即软件替代(SaaSS)”,并认为这违反了自由软件的原则。

    “使用SaaS,用户没有可执行文件的副本:该文件位于服务器上,用户无法看到或触摸该文件。因此,他们无法确定其实际作用,也无法更改。 SaaS固有地使服务器操作员有权更改正在使用的软件或正在操作的用户数据。” Stallman在GNU网站上写道。
通过虚拟化进行SaaS的一个很好的例子是Amazon Web Services(AWS)。 AWS提供了许多软件和平台。该软件安装在虚拟主机上,可以根据需要按比例放大或缩小。

如果我们将重点放在基础架构和启动成本之外,那么一旦部署,SaaS应用程序平台应该只关注可重复性。基于SaaS的应用程序的每个实例都应该彼此相同。为了使每个客户和支持团队的每个应用程序实例保持一致的行为,应该有最小的差异。这样做是为了使他们有一个统一的基础,以便在需要时对任何问题进行故障排除。支持工程师不希望发现由单个客户实例的缺少库模块引起的问题。同样,客户都不希望知道所订购的每个应用程序都可能存在问题,因为基于SaaS的公司无法为每个订单使用相同的步骤来重现该问题。整个过程应自动化以实现一致性和成本效益。

越来越复杂

了解当今应用程序部署的复杂性变得很重要-无论是SaaS模型还是传统模型。即使是最简单的Web应用程序也不再负责管理基础数据存储层。标准做法是拥有一个数据库,例如MySQL,Oracle,DB2或SQL Server。将这些与典型的Web堆栈(例如Java,Ninja,Grails,Rails等)结合使用,将导致需要可伸缩部署的多层体系结构。例如,在设置Rails环境时,我们使用了MySQL。

应用程序的敏捷性允许通过插件,补丁,宏和混搭轻松升级软件,可以轻松地集成到SaaS模型中。扩展或补丁程序是为较小的问题而开发的,大多数情况下是错误修复,需要将其作为补丁程序提供给现有软件。通常,客户不希望听到由于资源限制或其他一些情况而发生问题,或者是另一个客户造成的问题。

根据Wikipedia,关注点分离是将应用程序分解为不同功能的前提,从而最大程度地减少了功能重叠。有了虚拟化,该概念可以应用于基础架构。可以按每个应用程序,每个客户和/或每个群集应用分离。在仍使用硬件的最大能力的同时,它还提供了水平和垂直缩放的功能。这对于希望进入SaaS市场的单租户应用程序是有益的。可以轻松实现底层硬件的即时多租户,代码更改几乎为零。

Contegixs SaaS平台上部署了两种部署模型。差异化因素取决于应用程序的开发方式:
  • 为了每个部署支持一个客户,或者
  • 在一次部署中支持多个客户
另一个常见的部署模型是提供更高的分离度。基础基础架构应用程序分为虚拟机,每个虚拟机均按各自所需的级别进行扩展。除了单租户模型之外,该模型还允许在虚拟机资源方面扩展单个组件,并且在实例数量上扩展。该模型非常适合大型实例或多个客户应用程序。

不管部署模型如何,将操作系统和应用程序安装与应用程序数据分开非常重要。这导致了有关如何处理和处理升级的讨论。操作系统和应用程序的安装应考虑易失性数据的数量,该数量应能够随时用刷新的副本或新版本替换。