云计算的三种服务模式:IaaS、PaaS和SaaS
做B端用户体验的同学,一定要知道云计算的三种服务模式:IaaS、PaaS和SaaS,清楚自己服务的哪个层面。
做B端用户体验的同学,一定要知道云计算的三种服务模式:IaaS、PaaS和SaaS,清楚自己服务的哪个层面。
下面直奔主题了,这篇文章可能有点难理解,多花几分钟耐心看完,对你面试还是有用的。
1.IaaS
IaaS 是“Infrastructure as a Service”的首字母缩写,意思是基础设施即服务,有时候也叫做Hardware-as-a-Service,即把 IT 系统的基础设施层作为服务出租出去。由云服务提供商把 IT 系统的基础设施建设好,并对计算设备进行池化,然后直接对外出租硬件服务器、虚拟主机、存储或网络设施。
现在有IaaS,企业可以将硬件外包到别的地方去。IaaS公司会提供场外服务器,存储和网络硬件,可供租用。节省了维护成本和办公场地,公司可以在任何时候利用这些硬件来运行其应用。
IaaS 云端的基本架构模型逻辑上分为三层:
第一层管理全局
第二层管理计算机集群(一个集群内的机器地理位置上可能相距很远)
第三层负责运行虚拟机
第一层的云管理器与第二层的集群管理器之间一般通过高速网络连接,当增加数据中心为云端扩容时,就能体现网速的重要性。而集群内的计算机之间倾向于采用本地局域网(如 10Gbit/s 以太网)或者超高速广域网,如果采用局域网,则灾难容错差;如果跨广域网,则网络带宽会成为瓶颈。
①第一层(云管理器)
云管理器是云端对外的总入口,在这里验证用户身份,管理用户权限,向合法用户发放票据(然后用户持此票据使用计算资源)、分配资源并管理用户租赁的资源。
②第二层(集群管理器)
每一个集群负责管理本集群内部的高速互联在一起的计算机,一个集群内的计算机可能有成百上千台。集群管理器接受上层的资源查询请求,然后向下层的计算机管理器发送查询请求,最后汇总并判断是部分满足还是全部满足上层请求的资源,再反馈给上层。如果接下来收到上层分配资源的命令,那么集群管理器指导下层的计算机管理器进行资源分配并配置虚拟网络,以便能让用户后续访问。另外,本层 PLS 中存储了本集群内的全部虚拟机镜像文件,这样一台虚拟机就能在集群内任意一台计算机上运行,并轻松实现虚拟机热迁移。
③第三层(计算机管理器)
每台计算机上都有一个计算机管理器,它一方面与上层的集群管理器打交道,另一方面与本机上的虚拟机软件打交道。它把本机的状态(如正在运行的虚拟机数、可用的资源数等)反馈给上层,当收到上层的命令时,计算机管理器就指导本机的虚拟机软件执行相应命令。这些命令包括启动、关闭、重启、挂起、迁移和重配置虚拟机,以及设置虚拟网络等。
租赁 IaaS 云服务,对租户而言,最大优点是其灵活性,由租户自己决定安装什么操作系统、需不需要数据库且安装什么数据库、安装什么应用软件、安装多少应用软件、要不要中间件、安装什么中间件等,相当于购买了一台计算机,要不要使用、何时使用以及如何使用全由自己决定。
2.PaaS
PaaS 是“Platform as a Service”的首字母缩写,意为平台即服务,某些时候也叫做中间件,即把 IT 系统的平台软件层作为服务出租出去。PaaS 云服务提供商要做的事情增加了,他们需要准备机房、布好网络、购买设备、安装操作系统、数据库和中间件,即把基础设施层和平台软件层都搭建好,然后在平台软件层上划分“小块”(习惯称之为容器)并对外出租。公司所有的开发都可以在这一层进行,节省了时间和资源。
相比于 IaaS 云服务提供商,PaaS 云服务提供商要做的事情增加了,他们需要准备机房、布好网络、购买设备、安装操作系统、数据库和中间件,即把基础设施层和平台软件层都搭建好,然后在平台软件层上划分“小块”(习惯称之为容器)并对外出租。
PaaS 云服务提供商也可以从其他 IaaS 云服务提供商那里租赁计算资源,然后自己部署平台软件层。另外,为了让消费者能直接在云端开发调试程序,PaaS 云服务提供商还得安装各种开发调试工具。相反,租户要做的事情相比 IaaS 要少很多,租户只要开发和调试软件或者安装、配置和使用应用软件即可。PaaS 云服务的消费者主要包括以下人员:
a. 程序开发人员:写代码、编译、调试、运行、部署、代码版本控制等,一揽子解决。
b. 程序测试人员
c. 软件部署人员:把软件部署到 PaaS 云端,便于管理不同版本之间的冲突。
d. 应用软件管理员:便于配置、调优和监视程序运行性能。
e. 应用程序最终用户:这时 PaaS 云服务相当于 SaaS 云服务。
PaaS分为:半平台 PaaS 、全平台 PaaS
半平台 PaaS
软件层中只安装了操作系统,其他的留给租户自己解决。最为流行的半平台 PaaS 应用是开启操作系统的多用户模式,为每个租户创建一个系统账号,并对他们做权限控制和计算资源配额管制。半平台 PaaS 更关注租户的类型,如研发型、文秘型等,针对不同类型的租户做不同的权限和资源配置。
Linux 操作系统的多用户模式和 Windows 操作系统的终端服务都属于半平台 PaaS,私有办公云多采用半平台 PaaS。
全平台 PaaS
全平台 PaaS 安装了应用软件依赖的全部平台软件(操作系统、数据库、中间件、运行库)。不同于半平台 PaaS,全平台 PaaS 是针对应用软件来做资源配额和权限控制的,尽管最终还需要通过账号实现。公共云多采用全平台 PaaS。
3.SaaS
SaaS是“Software as a Service”的首字母缩写,意为软件即服务。简言之,就是软件部署在云端,让用户通过因特网来使用它,即云服务提供商把 IT 系统的应用软件层作为服务出租出去,而消费者可以使用任何云终端设备接入计算机网络,然后通过网页浏览器或者编程接口使用云端的软件。这进一步降低了租户的技术门槛,应用软件也无须自己安装了,而是直接使用软件。
你消费的服务完全是从网页如Netflix, MOG, Google Apps,Dropbox或者苹果的iCloud那里进入这些分类。尽管这些网页服务是用作商务和娱乐或者两者都有,但这也算是云技术的一部分。国内的下秒数据Nexadata可以快速接入新数据(尤其SaaS系统),准确沉淀明细数据,形成准确主数据,业务变化能快速修改。
SaaS 云服务提供商这时有 3 种选择:
1. 租用别人的 IaaS 云服务,自己再搭建和管理平台软件层和应用软件层。
2. 租用别人的 PaaS 云服务,自己再部署和管理应用软件层。
3. 自己搭建和管理基础设施层、平台软件层和应用软件层。
总之,从云服务消费者的角度来看,SaaS 云服务提供商负责 IT 系统的底三层(基础设施层、平台软件层和应用软件层),也就是整个 IT 层,最后直接把应用软件出租出去。
云计算是一种新的计算资源使用模式,云端本身还是 IT 系统,所以逻辑上同样可以划分为这四层。底三层可以再划分出很多“小块”并出租出去,这有点像立体停车房,按车位大小和停车时间长短收取停车费。因此,云服务提供商出租计算资源有 3 种模式,满足云服务消费者的不同需求,分别是 IaaS、PaaS、SaaS。
适合做 SaaS 的应用软件有的几个特点:
a. 复杂
软件庞大、安装复杂、使用复杂、运维复杂,单独购买价格昂贵,如 ERP、CRM 系统及可靠性工程软件等。
b.主要面向企业用户
c.模块化结构
按功能划分成模块,租户需要什么功能就租赁什么模块,也便于按模块计费,如 ERP系统划分为订单、采购、库存、生产、财物等模块。
d.多租户
能适合多个企业中的多个用户同时操作,也就是说,使用同一个软件的租户之间互不干扰。租户一般指单位组织,一个租户包含多个用户。
e.多币种、多语言、多时区支持
这一点对于公共云尤其明显,因为其消费者来自五湖四海。
f.非强交互性软件
如果网络延时过大,那么强交互性软件作为 SaaS 对外出租就不太合适,会大大降低用户的体验度,除非改造成弱交互性软件或者批量输入/输出软件。
适合云化并以 SaaS 模式交付给用户的软件:
a. 企事业单位的业务处理类软件
这类软件一般被单位组织用来处理提供商、员工、投资者和客户相关的业务,如开具发票、资金转账、库存管理及客户关系管理等。
b. 协同工作类软件
这类软件用于团队人员一起工作,团队成员可能都是单位组织内部的员工,也可能包含外部的人员。例如日历系统、邮件系统、屏幕分享工具、协作文档创作、会议管理及在线游戏。
c. 办公类软件
这类软件用于提高办公效率,如文字处理、制表、幻灯片编辑与播放工具,以及数据库程序等。基于 SaaS云服务的办公软件具备协同的特征,便于分享,这是传统的本地化办公软件所没有的。
d. 软件工具类
这类软件用来解决安全性或兼容性问题,以及在线软件开发,如文档转换工具、安全扫描和分析工具、合规性检查工具及线上网页开发等。
不适合作为公共 SaaS 云服务出租的软件:
a. 实时处理软件
比如飞行控制系统、工厂作业机器人控制等,这类软件要求任务完成时间非常精准(甚至达到微秒级)。假如云化,单单横亘在 SaaS 云端与消费者之间的网络延时就是一个难以承受的不可控因素,更不要说其他因素了。
b. 时时产生并处理大量消费者数据的软件
诸如视频监控、环境信息收集处理等时时产生并要处理大规模的数据信息(可能每秒达 GB 级)的软件,在目前和未来几年内的因特网宽带条件下,不适合云化,因为如此大规模的数据很难实时传输到 SaaS 云端进行处理。
c. 关键软件
这类软件如果运行异常,将会导致人员伤亡或者重大财产损失。为了提高这类软件的可靠性,最主要的方法是降低软件的复杂度——软件本身的复杂度和运行环境的复杂度,因为越简单就越可靠。而 SaaS 云服务环境包含着复杂的软/硬件栈(9 层的 IT 系统),以及不可预测的网络带宽、延时、丢包因素,绝对不合适云化此类关键软件并以公共 SaaS 云服务模式交付给用户使用。
4. 区别
举个例子来说明IaaS、PaaS和SaaS的区别吧,了解IaaS,PaaS和SaaS的特点。某企业准备上线一个软件给员工用,来了3家供应商,提供了3个方案给集团选择:
第一家IaaS:我们帮你安装好电脑,收取电脑硬件费和后续维护费。你自己再去购买和安装操作系统、软件就可以用了。
第二家PaaS:我们帮你安装好电脑和操作系统,收取硬件和操作系统费用以及维护费。你自己再去购买和安装软件就可以用了。
第三家SaaS:我们帮你安装好电脑、操作系统和软件,当然软件有问题也是我们维护,收取三项的硬件和服务打包费用。你直接用软件就行了。
企业看了三家供应商方案,三家供应商提供的服务层次不一样,分别是硬件、系统软件平台、软件。第三家服务最齐全方便,虽然贵了点,但是总比自己招IT团队来后续维护要经济,而且是一整套提供服务,更容易衔接更有效率更专业,于是选了第三家。
5. 小结
需要注意的是,云服务提供商只负责出租层及以下各层的部署、运维和管理,而租户自己负责更上层次的部署和管理,两者负责的“逻辑层”加起来刚好就是一个完整的四层 IT 系统(见图 1 最左侧)。
比如有一家云服务提供商对外出租 IaaS 云计算业务,云服务提供商负责机房基础设施、计算机网络、磁盘柜和服务器/虚拟机的建设和管理,而云服务消费者自己完成操作系统、数据库、中间件和应用软件的安装和维护。另外,还要管理数据信息(如初始化、数据备份、恢复等)。
再比如,另一家云服务提供商出租 PaaS 业务,那么云服务提供商负责的层数就更多了,云服务消费者只需安装自己需要的应用软件并进行数据初始化即可。总之,云服务提供商和消费者各自管理的层数加起来就是标准的 IT 系统的逻辑层次结构。














































































