云计算,主要有三种服务模式,它们分别是IaaS、PaaS、SaaS。
云计算有以下⼏个层次的服务:基础设施级服务(IaaS),平台级服务(PaaS)和软件级服务(SaaS)。这⾥所谓的层次,是分层体系架构意义上的“层次”。
1.基础设施即服务【基础设施层】
(IaaS :Infrastructure as a Service)
提供给使用者的功能是配置处理、储存、网络和其他基础计算资源,以便使用者能够部署和运行包括操作系统和应用程序在内的任意软件。
使用者并不管理或控制底层云物理基础结构。但拥有对操作系统、存储和已部署应用程序的控制权,还可能拥有对选择网络组件的优先控制权。
2.平台即服务【软件开放运⾏平台层】
(PaaS:Platform as a Service)
提供给使用者的功能是将使用者创建或获得的应用程序部署到云基础结构中,这些应用程序是使用提供商支持的编程语言和工具创建的。
使用者并不管理或控制底层云基础结构,这包括网络、服务器、操作系统或存储,但拥有对已部署应用程序的控制权,还可能拥有应用程序宿主环境配置控制权。
3.软件即服务【应⽤软件层】
(SaaS:Software as a Service)
提供给使用者的功能是使用提供商提供的在云基础结构中运行的应用程序。可通过web浏览器等客户端接口从客户端设备访问这些应用程序(例如基于web的电子邮件)。
使用者并不管理或控制底层云基础结构,这包括网络、服务器、操作系统、存储,甚至包括个别应用程序,但可能不包括提供商定义的特定于用户的应用程序配置设置。
SaaS 是软件的开发、管理、部署都交给第三⽅,不需要关⼼技术问题,可以拿来即⽤。普通⽤户接触到的互联⽹服务,⼏乎都是 SaaS。例如:
客户管理服务 Salesforce
团队协同服务 Google Apps
储存服务 Box
储存服务 Dropbox
社交服务 Facebook / Twitter / Instagram
PaaS 提供软件部署平台(runtime),抽象掉了硬件和操作系统细节,可以⽆缝地扩展(scaling)。开发者只需要关注⾃⼰的业务逻辑,不需要关注底层。例如:
Heroku
Google App Engine
OpenShift
IaaS 是云服务的最底层,主要提供⼀些基础资源。它与 PaaS 的区别是,⽤户需要⾃⼰控制底层,实现基础设施的使⽤逻辑。例如:
Amazon EC2
Digital Ocean
RackSpace Cloud
【举例】
如果你想要建⽴⼀个⽹站。不采⽤云服务,你所需要的投⼊⼤概是:买服务器,安装服务器软件,编写⽹站程序。
如果你采⽤IaaS服务,那么意味着你就不⽤⾃⼰买服务器了,随便在哪家购买虚拟机,但是还是需要⾃⼰装服务器软件;
⽽如果你采⽤PaaS的服务,那么意味着你既不需要买服务器,也不需要⾃⼰装服务器软件,只需要⾃⼰开发⽹站程序;
如果你再进⼀步,购买某些在线论坛或者在线⽹店的服务,这意味着你也不⽤⾃⼰开发⽹站程序,只需要使⽤它们开发好的程序,⽽且他们会负责程序的升级、维护、增加服务器等,⽽你只需要专⼼运营即可,此即为SaaS。