您还未登录! 登录 | 注册 | 帮助  

您的位置: 首页 > 软件开发专栏 > 云计算 > 正文

IaaS、PaaS和SaaS之间有什么区别?

发表于:2020-09-08 作者:李睿 来源:51cto

随着时间的推移,云计算技术对于组织来说变得越来越重要。在大量的应用程序运行在不同的云模型时,组织需要做一些工作来检查这些解决方案是否更能满足其需求。组织需要确定其投资组合中的每个应用程序都在为自己和最终用户而使用正确的云模型。云计算服务主要由三种“即服务”模型组成:

  • 基础设施即服务(IaaS)
  • 平台即服务(PaaS)
  • 软件即服务(SaaS)

IaaS、PaaS和SaaS之间的主要区别实质上归结为组织相对于服务提供商管理的堆栈数量。根据组织对灵活性和自定义的需求,每种“即服务”模型都有其优缺点。例如,与完全打包的SaaS应用程序相比,标准的非托管IaaS解决方案需要更多的监视和管理,但可以提供控制和灵活性以部署几乎任何类型的工作负载。组织选择的模型在很大程度上取决于特定应用程序的功能和IT运营的需求。

以下将详细探讨这些模型,以帮助组织确定最适合其要求的模型。

1.基础设施即服务(IaaS)

IaaS提供了一种强大的功能来分发计算堆栈(其中包括服务器、存储、网络和操作软件等),同时允许用户只使用他们所需的资源,而将基础设施管理任务托付给其提供商,如下图所示。组织或消费者将控制软件(例如虚拟机),而不控制虚拟机运行的物理基础设施。

(1)IaaS解决方案示例

IaaS模型涵盖了广泛的托管基础设施:超大规模公共云、专用私有云(DPC)、虚拟私有云(VPC)和裸机。组织可能采用以下IaaS提供商的服务:

  • 使用可访问的API的INAP Bare Metal
  • 亚马逊网络服务(AWS)
  • Google Compute
  • Azure

(2)IaaS的局限性

作为用户,组织将始终希望运行投资回报率(ROI)公式,以确保预算、效率和工作量达到目标。假设随着功能、产品和计算资源的变化,将需要一些工作时间来培训用户和管理人员。

(3)对IaaS的探索

组织在考虑IaaS解决方案时需要考虑以下问题:

  • 是否拥有内部基础设施来支持用户/客户群?
  • 使用模型是否可以节省成本和个人资源?
  • 当前的冗余和合规性要求或目标是什么?

(4)托管服务与IaaS模型配套使用

将托管服务与IaaS模型配套使用可以为寻求最高安全性、网络吞吐量、冗余和成本效益的组织提供效率。无论组织是使用托管服务进行监控、安全还是优化IT基础设施,与托管服务提供商合作都可以让组织专注于关键任务应用程序,而提供商则需要管理后端基础设施。托管服务还可以包括网络管理、容量规划、性能监视、持续的技术支持等。

需要注意的是,不同的提供商会提供不同级别的服务。例如,AWS和Azure属于自我管理方面,而INAP上的DPC和VPC则通过操作系统级别(包括监视)进行全面管理。

2.平台即服务(PaaS)

PaaS是服务提供商提供的计算平台,该平台允许客户端开发、运行和管理应用程序,而无需关注基础设施维护PaaS模型适用于不想管理或管理网络、硬件、存储和计算节点的必要基础设施的组织,而是选择专注于软件和应用程序开发以及消费者使用的变化和需求。

在PaaS模型中,解决方案堆栈可能是用于开发完全可操作的产品或服务的一组组件或软件子系统。例如,该服务可以是使用操作系统、Web服务器、数据库和编程语言的Web应用程序。解决方案堆栈可能还提供了操作系统、数据库、中间件或应用程序。组织的开发团队和管理员将在此模型中管理应用程序以及环境的配置和设置,而不是操作系统、更新补丁程序或硬件评估。

对于大型开发团队来说,PaaS模型很具优势,该团队的成员以合作伙伴的身份共同从事独特而孤立的行动项目。

(1)PaaS解决方案示例

  • Windows Azure虚拟机
  • Google App Engine
  • Linux Apache Stratos

(2)PaaS局限性

PaaS模型最广为人知的局限性是将客户端分配给PaaS供应商的硬件清单中,如果不进行某些微调,可能无法明确确定应用程序要求。需要注意的是,PaaS通常也引用供应商锁定。

另一个限制是,数据保护和网络带宽超出了组织的直接权限或监督范围,这可能会导致不可预见的不利挑战。

(3)PaaS探索

组织在考虑PaaS解决方案时需要考虑以下问题:

  • 是否以对硬件资产监督最少的高效方式开发应用程序?
  • 应用程序硬件和网络是否只限于专用硬件或CPU处理器?
  • 是否可以容许发生突发但可控事件的较小风险?

3.软件即服务(SaaS)

SaaS是一种在线分发软件的模型。这些产品的用户通过Web浏览器或程序界面进行交互,无法控制计算资源、网络、存储或操作系统。用户无需IT部门即可安装、执行质量保证或修补所使用的软件,从而使他们能够满足日常工作目标。软件供应商会为组织处理这些功能。为其数据中心托管该应用程序。

适用于大多数SaaS供应商的一些主要特征:

  • 应用程序可以自动更新,无需在客户端采取任何措施。
  • 通过订阅购买服务。
  • 客户无需安装任何硬件。

SaaS模型适用于不了解(或不需要了解)他们使用的应用程序的后端开发或管理的最终用户和消费者。最终,他们只想打开这种软件并在部分配置、安装和学习时间中使用它。

(1)SaaS解决方案示例

  • Hubspot
  • Dropbox
  • Zoom
  • O365

(2)SaaS的局限性

SaaS模型存在一些限制,例如无法预料的关键补丁中断以及有限的最终用户自定义软件。SaaS模型通常需要特定版本或操作系统、Web浏览器或程序界面的安装,这些版本可能超出了用户的专业知识范围。

(3)SaaS探索

组织在考虑SaaS解决方案时需要考虑以下问题:

  • 对于管理受限的用户,软件可以在浏览器或智能设备中运行吗?
  • 软件在保持正常版本发布时,对用户来说是安全和稳定的吗?
  • 最终用户环境是否适应标准系统配置,例如类似的操作系统、处理器速度、可用内存,以及全球互联网接入?
  • 软件对组织来说至关重要,因此不允许任何停机时间吗?

如果组织对于最后一个问题的回答是肯定的话,那么SaaS对其可能并不适合。

采用最适合的云模型

组织需要考虑一下当前正在使用的工具以及使它们在后台运行的原因。其中许多解决方案都是基于云计算的,并通过以上介绍的三种模型之一实现:IaaS、PaaS和SaaS。组织当前使用的解决方案的建模方式是否更适合自己的业务?

如果组织正在考虑扩展团队或开发云计算应用程序,需要了解差异并提出正确的问题,并确保找到更能满足自己需求的云模型。

原标题:What are the Differences Between IaaS, PaaS and SaaS?,原作者:Allan Williamson