首页
学习
活动
专区
工具
TVP
发布

5分钟了解SaaS/PaaS/IaaS区别与云计算

5分钟了解SaaS/PaaS/IaaS区别与云计算

”其实是互联网的一个隐喻,“云计算”其实就是使用互联网来接入存储或者运行在远程服务器端的应用,数据,或者服务。

云也是分层的

任何一个在互联网上提供其服务的公司都可以叫做云计算公司。其实云计算分几层的,分别是Infrastructure(基础设施)-as-a-Service,Platform(平台)-as-a-Service,Software(软件)-as-a-Service。基础设施在最下端,平台在中间,软件在顶端。别的一些“软”的层可以在这些层上面添加。

一.云计算是什么

云计算(cloud computing)是基于互联网的相关服务的增加、使用和交付模式,通常涉及通过互联网来提供动态易扩展且经常是虚拟化的资源。云是网络、互联网的一种比喻说法。云计算甚至可以让你体验每秒10万亿次的运算能力,拥有这么强大的计算能力可以模拟核爆炸、预测气候变化和市场发展趋势。用户通过电脑、笔记本、手机等方式接入数据中心,按自己的需求进行运算。

通俗的来说云计算就是以前的服务器计算的升级版,其主要有扩展性强、廉价、虚拟化、计算能力强这几个特点。

三种服务模式

根据现在最常用,也是比较权威的NIST(NationalInstitute of Standards and Technology,美国国家标准技术研究院)定义,云计算主要分为三种服务模式,而且这个三层的分法重要是从用户体验的角度出发的:

Software as aService,软件即服务,简称SaaS,这层的作用是将应用作为服务提供给客户。

Platform as aService,平台即服务,简称PaaS,这层的作用是将一个开发平台作为服务提供给用户。

Infrastructure asa Service, 基础设施即服务,简称IaaS,这层的作用是提供虚拟机或者其他资源作为服务提供给用户。

二. SaaS/PaaS/IaaS含义及区别

这三者之间主要的区别在于第一个单词,而aaS都是as-a-service(即服务)的意思,这三个模式都是近年来兴起的,且这五者都是云计算的落地产品。

1.IaaS

IaaS: Infrastructure-as-a-Service(基础设施即服务)

第一层叫做IaaS,有时候也叫做Hardware-as-a-Service。

几年前如果你想在办公室或者公司的网站上运行一些企业应用,你需要去买服务器,或者别的高昂的硬件来控制本地应用,让你的业务运行起来。

但是现在有了IaaS,你可以将硬件外包到别的地方去。IaaS公司会提供场外服务器,存储和网络硬件,你可以租用。节省了维护成本和办公场地,公司可以在任何时候利用这些硬件来运行其应用。

一些大的IaaS公司包括Amazon,Microsoft, VMWare, Rackspace和Red Hat.不过这些公司又都有自己的专长,比如Amazon和微软给你提供的不只是IaaS,他们还会将其计算能力出租给你来host你的网站。

作用:

通过IaaS这种模式,用户可以从供应商那里获得他所需要的虚拟机或者存储等资源来装载相关的应用,同时这些基础设施的繁琐的管理工作将由IaaS供应商来处理。IaaS能通过它上面对虚拟机支持众多的应用。IaaS主要的用户是系统管理员。

主要产品包括:AmazonEC2,Linode,Joyent,Rackspace,IBM Blue Cloud和Cisco UCS等。

功能:

IaaS供应商需要在那些方面对基础设施进行管理以给用户提供资源?或者说IaaS云有那些功能?在《虚拟化与云计算》中列出了IaaS的七个基本功能:

资源抽象:使用资源抽象的方法(比如,资源池)能更好地调度和管理物理资源。

资源监控:通过对资源的监控,能够保证基础实施高效率的运行。

负载管理:通过负载管理,不仅能使部署在基础设施上的应用运能更好地应对突发情况,而且还能更好地利用系统资源。

数据管理:对云计算而言,数据的完整性,可靠性和可管理性是对IaaS的基本要求。

资源部署:也就是将整个资源从创建到使用的流程自动化。

安全管理:IaaS的安全管理的主要目标是保证基础设施和其提供的资源能被合法地访问和使用。

计费管理:通过细致的计费管理能使用户更灵活地使用资源。

接下来,稍微给大家介绍一下云的三种形式和云计算好处。

2.PaaS

PaaS: Platform-as-a-Service(平台即服务)

第二层就是所谓的PaaS,某些时候也叫做中间件。你公司所有的开发都可以在这一层进行,节省了时间和资源。

PaaS公司在网上提供各种开发和分发应用的解决方案,比如虚拟服务器和操作系统。这节省了你在硬件上的费用,也让分散的工作室之间的合作变得更加容易。网页应用管理,应用设计,应用虚拟主机,存储,安全以及应用开发协作工具等。

一些大的PaaS提供者有GoogleApp Engine,Microsoft Azure,Force.com,Heroku,Engine Yard。最近兴起的公司有AppFog, Mendix 和 Standing Cloud。

作用:

通过PaaS这种模式,用户可以在一个包括SDK,文档和测试环境等在内的开发平台上非常方便地编写应用,而且不论是在部署,或者在运行的时候,用户都无需为服务器,操作系统,网络和存储等资源的管理操心,这些繁琐的工作都由PaaS供应商负责处理,而且PaaS在整合率上面非常惊人,比如一台运行Google App Engine的服务器能够支撑成千上万的应用,也就是说,PaaS是非常经济的。PaaS主要的用户是开发人员。

产品

主要产品包括:GoogleApp Engine,force.com,heroku和Windows Azure Platform等。

功能:

为了支撑着整个PaaS平台的运行,供应商需要提供那么功能?主要有四大功能:

友好的开发环境:通过提供SDK和IDE等工具来让用户能在本地方便地进行应用的开发和测试。

丰富的服务:PaaS平台会以API的形式将各种各样的服务提供给上层的应用。

API(ApplicationProgramming Interface,应用编程接口)其实就是操作系统留给应用程序的一个调用接口,应用程序通过调用操作系统的API而使操作系统去执行应用程序的命令(动作)。

DLL,即 Dynamic Link Library(动态链接库)。在Windows环境下含有大量 .dll格式的文件,这些文件就是动态链接库文件,其实也是一种可执行文件格式。跟 .exe 文件不同的是,.dll 文件不能直接执行,他们通常由 .exe 在执行时装入,内含有一些资源以及可执行代码等。其实 Windows 的三大模块就是以DLL的形式提供的(Kernel32.dll,User32.dll,GDI32.dll),里面就含有了 API函数的执行代码。为了使用 DLL 中的 API 函数, 必须要有API 函数的声明(.h)和其导入库(.lib),导入库可以先这样理解:导入库是为了在 DLL 中找到 API 的入口点而使用的。

为了使用API函数,我们就要有跟 API 所对应的 .h 和 .lib 文件,而 SDK 正是提供了一整套开发 Windows 应用程序所需的相关文件、范例和工具的“工具包”。

SDK包含了使用 API 的必需资料,所以人们也常把仅使用 API 来编写Windows应用程序的开发方式叫做 “SDK编程”。而API和 SDK 是开发Windows应用程序所必需的东西,所以其它编程框架和类库都是建立在它们之上的,比如VCL和MFC,虽然他们比起 “SDK 编程” 来有着更高的抽象度,但这丝毫不妨碍我们在需要的时候随时直接调用API函数 。)

自动的资源调度:也就是可伸缩这个特性,它将不仅能优化系统资源,而且能自动调整资源来帮助运行于其上的应用更好地应对突发流量。

精细的管理和监控:通过PaaS能够提供应用层的管理和监控,比如,能够观察应用运行的情况和具体数值(比如,吞吐量和反映时间)来更好地衡量应用的运行状态,还有能够通过精确计量应用使用所消耗的资源来更好地计费。

3.SaaS

第三层也就是所谓SaaS。这一层是和你的生活每天接触的一层,大多是通过网页浏览器来接入。任何一个远程服务器上的应用都可以通过网络来运行,就是SaaS了。

你消费的服务完全是从网页如Netflix,MOG, Google Apps, Box.NET, Dropbox或者苹果的iCloud那里进入这些分类。尽管这些网页服务是用作商务和娱乐或者两者都有,但这也算是云技术的一部分。

一些用作商务的SaaS应用包括Citrix的GoToMeeting,Cisco的WebEx,Salesforce的CRM,ADP,Workday和SuccessFactors。

作用:

通过SaaS这种模式,用户只要接上网络,并通过浏览器,就能直接使用在云端上运行的应用,而不需要顾虑类似安装等琐事,并且免去初期高昂的软硬件投入。SaaS主要面对的是普通的用户。

产品

主要产品包括:SalesforceSales Cloud,Google Apps,Zimbra,Zoho和IBM Lotus Live等。

功能:

谈到SaaS的功能,也可以认为是要实现SaaS服务,供应商需要完成那些功能?主要有四个方面:

随时随地访问:在任何时候或者任何地点,只要接上网络,用户就能访问这个SaaS服务。

支持公开协议:通过支持公开协议(比如HTML4/5),能够方便用户使用。

安全保障:SaaS供应商需要提供一定的安全机制,不仅要使存储在云端的用户数据处于绝对安全的境地,而且也要在客户端实施一定的安全机制(比如HTTPS)来保护用户。

多住户(Multi-Tenant)机制:通过多住户机制,不仅能更经济地支撑庞大的用户规模,而且能提供一定的可定制性以满足用户的特殊需求。

三.IaaS、PaaS和SaaS三者之间的区别

IBM的软件架构师 Albert Barron 曾经使用披萨作为比喻,解释IaaS、PaaS和SaaS的区别。

1.IaaS

他人提供厨房、炉子、煤气,你使用这些基础设施,来烤你的披萨。

2.PaaS

除了基础设施,他人还提供披萨饼皮。你只要把自己的配料洒在饼皮上,让他帮你烤出来就行了。也就是说,你要做的就是设计披萨的味道(海鲜披萨或者鸡肉披萨),他人提供平台服务,让你把自己的设计实现。

3.SaaS

他人直接做好了披萨,不用你的介入,到手的就是一个成品。你要做的就是把它卖出去,最多再包装一下,印上你自己的Logo。

从左到右,自己承担的工作量(上图蓝色部分)越来越少,

IaaS > PaaS > SaaS。

对应软件开发,则是下面这张图:

SaaS 是软件的开发、管理、部署都交给第三方,不需要关心技术问题,可以拿来即用。普通用户接触到的互联网服务,几乎都是 SaaS,下面是一些例子:

客户管理服务 Salesforce

团队协同服务 Google Apps

储存服务 Box

储存服务 Dropbox

社交服务 Facebook / Twitter / Instagram

PaaS 提供软件部署平台(runtime),抽象掉了硬件和操作系统细节,可以无缝地扩展(scaling)。开发者只需要关注自己的业务逻辑,不需要关注底层。下面这些都属于 PaaS:

Heroku

Google App Engine

OpenShift

IaaS 是云服务的最底层,主要提供一些基础资源。它与 PaaS 的区别是,用户需要自己控制底层,实现基础设施的使用逻辑。下面这些都属于 IaaS:

Amazon EC2

Digital Ocean

RackSpace Cloud

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180915G1OZJL00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

加入 开发者社群

领取 专属20元代金券

Get大咖技术交流圈

扫码加入开发者社群
领券