什么是SaaS、PaaS和IaaS?附带例子。

405

以下术语代表什么意思?

  • SaaS
  • PaaS
  • IaaS?

今天有多种云服务可用,例如 Amazon 的 EC2 和 AWS、Apache Hadoop、Microsoft Azure 等等。它们各属于哪个类别,为什么?


1
所有这些都是云服务模型的类型。哪种最受欢迎并不重要,因为它受到您的业务模型的支配。有关差异,请参阅- 解释SaaS、PaaS和IaaS之间的区别 - Aniket Thakur
在我们的门户网站上了解云模型和云计算,提升您的知识水平:http://www.solutionsbased.in/models-of-cloud-service/ - Amit Khanna
17个回答

420

IaaS、PaaS和SaaS是云计算服务模型。

  • IaaS(基础设施即服务)提供计算基础设施,包括物理或(通常)虚拟机器和其他资源,如虚拟机磁盘映像库、块和基于文件的存储、防火墙、负载均衡器、IP地址、虚拟局域网等。

    例子:Amazon EC2、Windows Azure、Rackspace、Google Compute Engine。

  • PaaS(平台即服务)提供计算平台,通常包括操作系统、编程语言执行环境、数据库、Web服务器等。

    例子:AWS Elastic Beanstalk、Windows Azure、Heroku、Force.com、Google App Engine、Apache Stratos。

  • 在SaaS(软件即服务)模型中,您可以访问应用程序软件,通常称为“按需软件”。您不必担心应用程序的安装、设置和运行。服务提供商将为您完成这些工作。您只需付款并通过某些客户端使用它。

    例子:Google Apps、Microsoft Office 365。

关于您的问题还有一些额外的说明:

  1. AWS(Amazon Web Services)是一个完整的套件,涉及一整套有用的网络服务。最受欢迎的是EC2和S3,它们属于IaaS服务模型。

  2. 虽然Hadoop基于Google的先前工作(GFS和MapReduce),但它并不是来自Google。它是一个Apache项目。你可以在这里找到更多信息。它只是一个分布式计算平台,不属于任何这些服务模型之一,我认为。

  3. 微软的Windows Azure再次是IaaS的一个例子。

就受欢迎程度而言,它们都很受欢迎。只是要看哪个更适合您的需求。例如,如果您想在Hadoop集群上运行MapReduce作业,那么EC2是完美的选择,这是IaaS。另一方面,如果您有一些用某种语言编写的应用程序,并希望将其部署到云端,您可以选择像Heroku这样的服务,这是PaaS的一个例子。


18
除了IaaS之外,我还会将Azure添加为一个PaaS。 - cellik
在IaaS部分添加了Google Compute Engine。 - Azfar Niaz
@AzfarNiaz,Google计算引擎并不真正提供原始硬件对吧? - Pacerier
2
小修正,Azure 不仅仅是一种 IaaS,它比那更多。IaaS 可能是 Azure 最少使用的功能。它更像是 PaaS(云服务、Azure 网站、WAAD、HDInsight等)。 - Illuminati
CloudFoundry会被归类到哪里呢?我猜是PaaS。或者更好地说,它应该被看作是一款软件,可以让你创建自己的PaaS平台? - dade
显示剩余7条评论

270

傻瓜式解释:

IAAS(基础设施即服务):

  • 底层

  • 处理虚拟机、存储(硬盘)、服务器、网络、负载均衡器等

PAAS(平台即服务):

  • 在IAAS之上的一层

  • 运行时(如Java运行时)、数据库(如MySQL、Oracle)、Web服务器(如Tomcat等)

SAAS(软件即服务):

  • 在PAAS之上的一层

  • 应用程序,如电子邮件(Gmail、Yahoo邮件等)、社交网络网站(Facebook等)

快速了解请参考以下谷歌提供的服务:

IAAS:Google Compute Engine(可以开发程序在高性能的谷歌计算基础设施上运行)

PAAS:Google App Engine(可以开发应用程序并让它们在Google App Engine上执行,由其负责执行)

SAAS:Gmail、Google+等(可以使用电子邮件服务和扩展基于电子邮件/Google+的应用程序来形成新的应用程序)

流行度

按公司流行度排序

云计算由以下公司主导:

  1. Amazon Web Services(AWS)
  2. Google Compute Engine、Google App Engine
  3. Microsoft Azure
  4. 还有许多中小型云运营商,包括IBM、Oracle等。

这些服务的大部分受欢迎程度归功于公司的声誉和这些公司在云领域所做的投资。

按服务类型流行度排序

  1. PAAS(平台即服务)更受开发人员欢迎,因为他们可以将所有精力集中在开发应用程序上,把管理和执行的其余部分留给服务提供商。许多服务提供商还提供根据流量负载增加/减少CPU功率的灵活性,为开发人员提供了经济实惠且易于管理的方式。
  2. SAAS(软件即服务)更受消费者欢迎,他们关心使用诸如电子邮件、社交网络等应用程序。
  3. IAAS(基础设施即服务)更受从事研究和高性能计算领域的用户欢迎。

12
SalesForce和ConstantConnect是SAAS的绝佳例子。 - Durai Amuthan.H
@takrishna - 你提到了“数据库(如mySql、Oracle)”作为PaaS的一个例子。请问为什么数据库是平台而不是软件?作为云服务消费者,我可以像使用Google文档一样使用数据库的CRUD操作 - 为什么前者是PaaS而后者是SaaS? - KGhatak
1
@KGhatak 一个人必须从最终用户的角度来看待这些云服务分类(不要戴上软件开发者的眼镜)。平台是我们构建某些东西的基础(就像字面上站在平台上一样...)。没有消费者会直接使用数据库 - 他们通常通过Web应用程序进行使用 - Web应用程序是建立在具有数据库的平台之上的。我留下了这个链接,它概括了所有信息。https://azure.microsoft.com/en-us/overview/what-is-paas/ - takrishna

58

当你只是一个想要使用软件但手头没有任何东西的简单客户时,你可以使用SaaS

当你拥有自己开发的软件,但想要在公开可用的平台上部署和运行时,你可以使用PaaS

当你已经准备好软件和平台,但需要硬件来运行时,你可以使用IaaS


51

云服务主要分为三种类型:IaaS、PaaS 和 SaaS。您可能已经在云服务提供商的网站上看到了这些缩写。在详细了解之前,让我们将 IaaS、PaaS 和 SaaS 与交通工具进行比较:

enter image description here

  1. 本地 IT 基础设施就像拥有一辆汽车。当你买下一辆汽车后,你需要负责其维护,要想升级就只能购买新的汽车。

  2. IaaS 就像租用一辆汽车。当你租用一辆汽车时,你可以选择你想要的车型,并将其开到任何地方,但这辆车并不属于你。想要升级吗?只需租另一辆汽车即可!

  3. PaaS 就像坐出租车。你不需要自己开车,只需告诉司机你要去哪里,然后坐在后座上放松即可。

  4. SaaS 就像乘公共汽车。公共汽车有指定的路线,你需要和其他乘客一起搭车。

参考资料:https://rubygarage.org/blog/iaas-vs-paas-vs-saas


优秀的答案。 - prashasthbaliga
谢谢你的赞美 @prashasthbaliga - Noordeen

43

IaaS、PaaS和SaaS的区别

下表将以表格形式详细说明这三种服务的区别:

  pizza as a service 


1
颜色不应该被切换吗? - ousecTic
我不理解这张图片中的IAAS和PAAS是什么意思? - Rasmi Ranjan Nayak

32

IaaS(基础设施即服务)

IaaS提供基础设施,如虚拟机和其他资源,如虚拟机磁盘映像库、块和文件存储、防火墙、负载均衡器、IP地址、虚拟局域网等。基础设施即服务(IaaS)是云计算模型中的基本层。

常见例子: DigitalOcean、Linode、Rackspace、亚马逊网络服务(AWS)、Cisco Metapod、微软Azure、Google Compute Engine(GCE)是一些流行的IaaS示例。

PaaS(平台即服务)

PaaS或平台即服务模型为您提供计算平台,通常包括操作系统、编程语言执行环境、数据库、Web服务器。从技术上讲,它是在IaaS之上的一层,作为基础设施之后的第二个需求是平台。

常见例子: AWS Elastic Beanstalk、Windows Azure、Heroku、Force.com、Google App Engine、Apache Stratos。

SaaS(软件即服务)

在SaaS中,您可以访问安装在服务器上的应用程序服务。您不必担心软件的安装、维护或编码。您只需使用浏览器即可访问和操作软件。您不需要下载或安装任何设置或操作系统,软件只需供您访问和操作。软件的维护、设置或帮助将由SaaS提供商提供,您只需支付您的使用费用。
常见的例子有:Google Apps、Microsoft Office365、Google Docs、Gmail、WHMCS计费软件。
IaaS、PaaS和SaaS之间的基本区别如下:
特点 laas PaaS SaaS 你得到的是基础设施,并根据实际情况付费。可以自由使用或安装任何操作系统、软件或组合。 在这里,你得到你要求的东西。软件、硬件、操作系统、网络环境。你得到一个可以使用的平台,并根据实际情况付费。 在这里,你不需要担心任何事情。根据你的要求提供一个预安装、预配置的软件包,你只需要相应地付费。
重要性 计算的基本层 laaS的顶层 它就像一个完整的服务包
技术困难 需要技术知识 你可以得到基本的设置,但仍然需要对主题有所了解。 不需要担心技术问题。SaaS提供商公司处理一切。
处理的内容 虚拟机、存储(硬盘)、服务器、网络、负载均衡器等 运行时(如Java运行时)、数据库(如MySQL、Oracle)、Web服务器(如Tomcat等) 应用程序,如电子邮件(Gmail、Yahoo邮件等)、社交网络网站(Facebook等)
受欢迎程度图表 受高技能开发人员、研究人员欢迎,他们需要根据自己的需求或研究领域进行定制配置。 对开发人员来说最受欢迎,因为他们可以专注于应用程序或脚本的开发。他们不必担心流量负载或服务器管理等问题。 对普通消费者或依赖软件的公司来说最受欢迎,比如电子邮件、文件共享、社交网络等,因为他们不必担心技术问题。

18

SaaS:软件即服务 云应用服务或“软件即服务”(SaaS)是云计算中最受欢迎的形式,易于使用。SaaS使用网络来提供由第三方供应商管理的应用程序,并在客户端访问其界面。大多数SaaS应用程序可以直接从Web浏览器运行,无需下载或安装。SaaS消除了在个人计算机上安装和运行应用程序的需求。对于企业来说,利用SaaS能够轻松优化维护和支持,因为所有东西都可以由供应商进行管理:应用程序,运行时,数据,中间件,操作系统,虚拟化,服务器,存储和网络。Gmail是SaaS邮件提供商的一个著名例子。

PaaS:平台即服务 云平台服务或“平台即服务”(PaaS)是三种类型中最复杂的一种,通过平台提供计算资源。开发人员使用PaaS可获得一个框架,可构建或定制应用程序。PaaS使应用程序的开发、测试和部署变得快速、简单且具有成本效益,消除了购买底层硬件和软件层的必要性。 SaaS与PaaS之间的一个比较涉及用户必须管理的方面,而不是供应商:对于PaaS,供应商仍然管理运行时、中间件、操作系统、虚拟化、服务器、存储和网络,但用户管理应用程序和数据。

IaaS:基础设施即服务 云基础设施服务称为“基础设施即服务”(IaaS),提供计算基础设施(如平台虚拟化环境)、存储和网络。用户可以购买这些作为完全外包的服务,通常按资源使用量计费,而不必购买软件、服务器或网络设备。基本上,交换租金费用,第三方允许您在其IT基础架构上安装虚拟服务器。与SaaS和PaaS相比,IaaS用户需要管理更多内容:应用程序、数据、运行时、中间件和操作系统。供应商仍然管理虚拟化、服务器、硬盘驱动器、存储和网络。用户通过IaaS获得的是基础架构,可以在其上安装任何所需的平台。如果发布新版本,用户负责更新这些平台。


11

有三种主要的云服务模型:

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

软件即服务(SaaS)

SaaS是一种为最终客户集中托管和管理的软件。它通常基于多租户架构(所有客户使用单个应用程序版本),并且通常通过月度或年度订阅进行许可。

示例 Office 365、Dropbox、Dynamics CRM Online是SaaS软件的完美例子,订阅者支付每月或每年的订阅费用,他们可以获得作为服务的Exchange(在线和/或桌面Outlook)或存储(OneDrive和Dropbox)。

平台即服务(PaaS)

使用PaaS,您将应用程序部署到由云服务供应商提供的应用程序托管环境中(专为构建、测试和部署软件应用程序而设计)。开发人员有多种方式部署其应用程序,而不需要了解任何支持其背后发生的事情。

示例 Azure App Service中的Web Apps功能和Azure Cloud Services(Web和工作角色)是PaaS的一个例子。

基础设施即服务(IaaS)

IaaS云供应商运行和管理运行虚拟化软件的服务器农场,使您可以创建在供应商基础设施上运行的VM(运行Windows或Linux),并在其上安装任何您想要的东西。开发人员无法控制硬件或虚拟化软件,但几乎可以控制其他所有内容。实际上,与PaaS不同,您完全负责它。

enter image description here

参考资料

书籍:云架构:云计算服务模型(SaaS、PaaS和IaaS)的设计决策


在我看来,应该交换“应用程序”和“数据”这两个位置...而在SAAS列中,用户管理数据。 - Yousha Aleayoub
同样在PASS中,我认为用户也管理运行时。 - Yousha Aleayoub

8

IaaS、PaaS和SaaS基本上是云计算领域的分支。

IaaS(基础架构即服务)- 基础架构即服务是云计算的一种供应模型,其中组织外包用于支持其业务运营的设备,包括存储、硬件、服务器和网络组件。服务提供商拥有这些设备,并负责其托管、运行和维护。客户通常按使用量付费。例如- Amazon Web ServicesBlueLockCloudscalingDatapipe

PaaS(平台即服务)- PaaS是云计算中一个不断增长的领域。PaaS基本上帮助开发人员加快应用程序的开发速度,节省资金,最重要的是创新他们的应用程序和业务而不是设置配置和管理服务器和数据库。简单来说,平台即服务(PaaS)自动化了云中应用程序的配置、部署和持续管理。例如:HerokuEngineYardApp42 PaaSOpenShift
SaaS(软件即服务)- 软件即服务,SaaS是一种提供远程访问软件及其功能的软件交付方法,作为基于Web的服务。例如:Abiquo'sAkamai

6
除此之外,我曾使用AWS、heroku,目前使用的是Jelastic并发现 -
Jelastic提供了一个Java和PHP云托管平台。Jelastic自动扩展Java和PHP应用程序并分配服务器资源,从而实现真正的下一代Java和PHP云计算。 http://blog.jelastic.com/2013/04/16/elastic-beanstalk-vs-jelastic/http://cloud.dzone.com/articles/jelastic-vs-heroku-1 就个人而言,我发现 -
- Jelastic更快 - 您无需编写任何Jelastic API代码 - 只需上传您的应用程序并选择您的堆栈。您还可以随意混合和匹配软件堆栈。
尝试它们中的任何一个并探索自己。这很有趣 :-)

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接