IaaS,PaaS,SaaS 的区别(转)
越来越多的软件,开始采用云服务。
云服务只是一个统称,可以分成三大类。
- 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
参考链接 http://www.ruanyifeng.com/blog/2017/07/iaas-paas-saas.html
最新文章
- 关于 Servlet 和 Web
- 阿里Linux Shell脚本面试25个经典问答
- ESXi cron jobs
- WebRTC录音(2)-录音文件转换成WAV格式
- DEV--GerdView控件
- 宏HASH_INSERT
- ZOJ 2760 How Many Shortest Path (不相交的最短路径个数)
- codeforce 609A - USB Flash Drives
- 关于Apple Pay,一篇让你不看就会后悔的文章
- SSH框架——Sprign声明式事务
- 转: when.js原理和核心实现
- Nginx阅读笔记
- [置顶] Guava学习之Iterators
- Web调用安卓,苹果手机摄像头,本地图片和文件
- RIP 相对寻址
- poj 2236
- TP90 95 99指标
- 深入理解JAVA虚拟机(内存模型+GC算法+JVM调优)
- Educational Codeforces Round 50
- 【BZOJ4031】小Z的房间
热门文章
- CentOS 6.2 中文
- java反射(java.lang.reflect) ---普通单例模式唯一性问题
- 怎样保证socket.recv接收完数据
- Linux内存管理 (16)内存规整
- .net后台以post方式调用http接口[转]
- iOS开发基础-KVC简单介绍
- 分享:大型Web网站架构演变之9大阶段
- Git初始化-添加提交以及查看状态
- 更改电脑名称后, Cnario无法播放画面和声音, 开机后停留在桌面, Cnario Player软件界面的停止按钮为蓝色可选状态
- Spring 使用AOP——基于注解配置