您的位置:首页 > 大数据 > 云计算

IaaS,PaaS,SaaS 的区别

2017-08-06 15:31 531 查看

背景

2017年5月20日的系统集成项目管理工程师考试上午选择题中,云计算的基础知识有两道云计算的概念和三种方式之间的辨别,印象中并没有选对。到底云计算的三个名词之间有什么区别呢?

今天读了阮一峰先生的一篇网络日志,大神的文章通俗易懂,重要的是解答了我的疑惑。原文真的不错,忍不住转载分享。

本文转载自阮一峰先生的网络日志,原文链接:http://www.ruanyifeng.com/blog/2017/07/iaas-paas-saas.html

云服务的分类

越来越多的软件,开始采用云服务,云服务只是一个统称,可以分成三大类。



IaaS:基础设施服务,Infrastructure-as-a-service

PaaS:平台服务,Platform-as-a-service

SaaS:软件服务,Software-as-a-service

三者的区别

它们有什么区别呢?

IBM 的软件架构师 Albert Barron 曾经使用披萨作为比喻,解释这个问题。David Ng 进一步引申,让它变得更准确易懂。请设想你是一个餐饮业者,打算做披萨生意。

你可以从头到尾,自己生产披萨,但是这样比较麻烦,需要准备的东西多,因此你决定外包一部分工作,采用他人的服务。你有三个方案。

(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

启示录

今年心心念念的想买一个阿里云服务器,那么阿里云服务器应该是ISSA吧。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  云计算