简单的比喻就是,假如你现在要开奶茶店,你有三个开店的方案,从成本到能力到资源。
第一个方案 IaaS
你觉得你自己做的奶茶好喝,也有材料渠道,你只需要别人提供一个店铺,制奶油的机器以及各种调制的设备。最后你只用了一些机器设备来完成你的奶茶制作。
第二个方案 PaaS
你可能只会做奶茶有配方,没设备没有材料渠道,这个时候你需要除了提供给你个店铺还有机器以外,别人把奶油、茶包什么的都给你提供了,你只要按照配方比例调制就好。
第三个方案 SaaS
你什么都没有,只想管销售,那这个时候别人转租给你个店铺带机器带材料带配方,还给你配了个制作奶茶的工人,你的任务就是做包装,做营销。
总结就是 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
参考链接
SaaS, PaaS and IaaS explained in one graphic by David Ng
When to use SaaS, PaaS, and IaaS by Eamonn Colman