IaaS(Infrastructure as a Service,Hardware-as-a-Service,基础架构即服务) 是云服务的最底层,主要提供一些基础资源(硬件资源)。该层可以提供给消费者的服务是对所有计算基础设施的利用,包括处理CPU、内存、存储、网络和其它基本的计算资源,用户能够部署和运行任意软件,包括操作系统和应用程序。
PaaS(Platform-as-a-Service,平台即服务)提供软件部署平台(runtime) 抽象掉了硬件和操作系统细节,可以无缝地扩展(scaling)。开发者只需要关注应用程序的编写,不需要关注硬件和操作系统。该层可以为用户提供各种开发语言和工具开发环境,让用户不需要在本地安装各种平台。某些时候也叫做中间件。
SaaS(Software-as-a-service,软件即服务) 是软件的开发、管理、部署都交给第三方,不需要关心技术问题,可以拿来即用。普通用户接触到的互联网服务,几乎都是 SaaS。(比如微信、钉钉等软件)
上图中,绿色的部分是云服务商决定的,紫色的部分是用户决定的。可以看到
- SaaS 模式下用户没有任何自主权,只能使用给定的应用程序;
- PaaS 模式下可以自己安装应用程序,但是不能定制操作系统;
- IaaS 模式下则是云服务商提供 (虚拟的)硬件,从操作系统开始都可以自己选择和定制。