【云计算学习教程】IaaS、PaaS和SaaS:云计算的三种服务模式(精讲)

2023-05-16

文章目录

  • 云计算IaaS服务模式精讲
        • 第一层(云管理器)
        • 第二层(集群管理器)
        • 第三层(计算机管理器)
  • 云计算PaaS服务模式精讲
        • 1)半平台 PaaS
        • 2)全平台 PaaS
  • 云计算SaaS服务模式精讲
    • 适合做 SaaS 的应用软件有的几个特点
        • 1)复杂
        • 2)主要面向企业用户
        • 3)模块化结构
        • 4)多租户
        • 5)多币种、多语言、多时区支持
        • 6)非强交互性软件
    • 适合云化并以 SaaS 模式交付给用户的软件
        • 1)企事业单位的业务处理类软件
        • 2)协同工作类软件
        • 3)办公类软件
        • 4)软件工具类
    • 不适合作为公共 SaaS 云服务出租的软件
        • 1)实时处理软件
        • 2)时时产生并处理大量消费者数据的软件
        • 3)关键软件
        • 1)云终端少量安装或不用安装软件
        • 2)有效使用软件许可证
        • 3)数据安全性得到提高
        • 4)有利于消费者摆脱 IT 运维的技术泥潭而专注于自己的核心业务
        • 5)消费者能节约大量前期投资
    • SaaS 云服务的实际应用
        • 1)电子邮件和在线办公软件
        • 2)计费开票软件
        • 3)客户关系管理系统(CRM)
        • 4)协作工具
        • 5)内容管理系统(CMS)
        • 6)财务软件。
        • 7)人力资源管理系统。
        • 8)销售工具。
        • 9)社交网络:如微信、WhatsApp、LINE 等。
        • 10)企业资源计划(ERP)。
        • 11)谷歌在线翻译。

我们在《IT系统的组成》教程中讲到,IT 系统的逻辑组成分为四层,自下至上依次是基础设施层、平台软件层、应用软件层和数据信息层。

云计算是一种新的计算资源使用模式,云端本身还是 IT 系统,所以逻辑上同样可以划分为这四层。底三层可以再划分出很多“小块”并出租出去,这有点像立体停车房,按车位大小和停车时间长短收取停车费。因此,云服务提供商出租计算资源有 3 种模式,满足云服务消费者的不同需求,分别是 IaaS、PaaS、SaaS,如图 1 所示。

云计算的3种服务模式
图 1 云计算的 3 种服务模式

需要注意的是,云服务提供商只负责出租层及以下各层的部署、运维和管理,而租户自己负责更上层次的部署和管理,两者负责的“逻辑层”加起来刚好就是一个完整的四层 IT 系统(见图 1 最左侧)。

比如有一家云服务提供商对外出租 IaaS 云计算业务,云服务提供商负责机房基础设施、计算机网络、磁盘柜和服务器/虚拟机的建设和管理,而云服务消费者自己完成操作系统、数据库、中间件和应用软件的安装和维护。另外,还要管理数据信息(如初始化、数据备份、恢复等)。

再比如,另一家云服务提供商出租 PaaS 业务,那么云服务提供商负责的层数就更多了,云服务消费者只需安装自己需要的应用软件并进行数据初始化即可。总之,云服务提供商和消费者各自管理的层数加起来就是标准的 IT 系统的逻辑层次结构。

在一篇文章中详细讲解三种服务模式会导致篇幅过长,所以我们分成三节,请大家猛击下面的链接进行阅读:

  • 云计算 IaaS 服务模式
  • 云计算 PaaS 服务模式
  • 云计算 SaaS 服务模式

云计算IaaS服务模式精讲

IaaS 是“Infrastructure as a Service”的首字母缩写,意思是基础设施即服务,即把 IT 系统的基础设施层作为服务出租出去。由云服务提供商把 IT 系统的基础设施建设好,并对计算设备进行池化,然后直接对外出租硬件服务器、虚拟主机、存储或网络设施(负载均衡器、防火墙、公网IP地址及诸如 DNS 等基础服务)等。

云服务提供商负责管理机房基础设施、计算机网络、磁盘柜、服务器和虚拟机,租户自己安装和管理操作系统、数据库、中间件、应用软件和数据信息,所以 IaaS 云服务的消费者一般是掌握一定技术的系统管理员,如图 1 所示。

Iaas云
图 1 IaaS 云

IaaS 云服务提供商计算租赁费用的因素包括 CPU、内存和存储的数量,一定时间内消耗的网络带宽,公网 IP 地址数量及一些其他需要的增值服务(如监控、自动伸缩等)等。

出租的物理服务器和虚拟机统称为主机,云服务提供商如何对外出租主机呢?或者是租户如何使用这些租来的主机呢?相对于租户来说,这些主机不在现场而在“远方”,租赁之后并不是把这些主机从云端搬到租户的办公室来使用。

出租前后主机的物理位置并没有改变,租户仍然是通过网络使用这些云端主机。租户登录云服务提供商的网站,填写并提交主机配置(如需要多少个 CPU、多少内存、多少网络带宽等)表后付款,然后云服务提供商向租户颁发账号和密码,最后租户以此账号和密码登录云端的自助网站。

在这里,租户可以管理自己的主机:启动和关闭机器、安装操作系统、安装和配置数据库、安装应用软件等。其实只有启动机器和安装操作系统必须要在自助网站上完成,其他操作可以直接登录到已经安装了操作系统并配置好网卡的主机中完成。

对于租来的主机,租户只关心计算资源(CPU、内存、硬盘)的容量是否与租赁合同上标注的一致,就像租赁同一层楼上的一间房间一样,租户只关心面积是否足够,而不关心房间的墙壁是钢筋水泥结构还是砖块石灰结构。但是对于云服务提供商来说,出租硬件服务器和虚拟机,内部的技术处理是不一样的,其中硬件服务器必须要集成远程管理卡并要池化到资源池中。

远程管理卡是插接在服务器主板上或者直接集成在主板上的一个嵌入式系统,需要接网线并配置 IP 地址。只要服务器的电源插头插到插座上,不管有没有按下服务器的电源开关,这个远程管理卡都会启动,其他人就可以通过网络登录到远程管理卡(需要账号和密码),成功登录后就可以进行启动和关闭服务器、安装操作系统等操作。只不过云服务提供商把远程管理卡的功能集成到了租户自助网站中,从而实现了物理机和虚拟机的统一管理。

租户到底是租赁硬件服务器还是虚拟机呢?这个问题留到后面教程的章节来讨论。

IaaS 云端的基本架构模型如图 2 所示。

IaaS云端基本架构模型
图 2 IaaS 云端基本架构模型

IaaS 云端的基本架构模型逻辑上分为三层:第一层管理全局,第二层管理计算机集群(一个集群内的机器地理位置上可能相距很远),第三层负责运行虚拟机。

第一层的云管理器与第二层的集群管理器之间一般通过高速网络连接,当增加数据中心为云端扩容时,就能体现网速的重要性。而集群内的计算机之间倾向于采用本地局域网(如 10Gbit/s 以太网)或者超高速广域网,如果采用局域网,则灾难容错差;如果跨广域网,则网络带宽会成为瓶颈。

图 2 中,每一层具体的任务介绍如下。

第一层(云管理器)

云管理器是云端对外的总入口,在这里验证用户身份,管理用户权限,向合法用户发放票据(然后用户持此票据使用计算资源)、分配资源并管理用户租赁的资源。

第二层(集群管理器)

每一个集群负责管理本集群内部的高速互联在一起的计算机,一个集群内的计算机可能有成百上千台。

集群管理器接受上层的资源查询请求,然后向下层的计算机管理器发送查询请求,最后汇总并判断是部分满足还是全部满足上层请求的资源,再反馈给上层。如果接下来收到上层分配资源的命令,那么集群管理器指导下层的计算机管理器进行资源分配并配置虚拟网络,以便能让用户后续访问。

另外,本层 PLS 中存储了本集群内的全部虚拟机镜像文件,这样一台虚拟机就能在集群内任意一台计算机上运行,并轻松实现虚拟机热迁移。

第三层(计算机管理器)

每台计算机上都有一个计算机管理器,它一方面与上层的集群管理器打交道,另一方面与本机上的虚拟机软件打交道。它把本机的状态(如正在运行的虚拟机数、可用的资源数等)反馈给上层,当收到上层的命令时,计算机管理器就指导本机的虚拟机软件执行相应命令。这些命令包括启动、关闭、重启、挂起、迁移和重配置虚拟机,以及设置虚拟网络等。

租赁 IaaS 云服务,对租户而言,最大优点是其灵活性,由租户自己决定安装什么操作系统、需不需要数据库且安装什么数据库、安装什么应用软件、安装多少应用软件、要不要中间件、安装什么中间件等,相当于购买了一台计算机,要不要使用、何时使用以及如何使用全由自己决定。

一些搞研发的计算机技术人员倾向于租赁 IaaS 主机。但是对于租户来说,IaaS 云主机除管理难度大外,还有一个明显的缺陷:计算资源浪费严重。因为操作系统、数据库和中间件本身要消耗大量的计算资源(CPU、内存和磁盘空间),但它们消耗的资源对租户来说做的是无用功,来看下面这个极端的案例。

假设张三租用了一台 IaaS 主机,配置为 CPU1.0GHz,内存 1GB,硬盘空间 10GB,然后他安装了 Windows7 操作系统、MySQL 数据库,最后再想安装和运行绘图应用软件几乎是不可能了,因为 Windows7 操作系统和 MySQL 数据库就要把 CPU、内存和硬盘空间消耗殆尽了。

没有硬盘空间,如何安装应用软件?没有空闲的内存,又如何能运行应用软件?张三本来打算租赁云端主机来搞图形设计,这样一来,目的就没达到,至少租来的主机的配置要翻倍才行。

下面是一些 IaaS 云服务的实际应用。

  1. 备份和恢复服务。
  2. 计算服务:提供弹性资源。
  3. 内容分发网络(CDN):把内容分发到靠近用户的地方,对于一些基于网页的应用系统,为了提高用户体验,往往在各个地方(人口稠密的地方)设立分支服务器,当用户浏览网页时,被重定向到本地 Web 服务器,所以数据必须实时分发并保持一致。
  4. 服务管理:管理云端基础设施平台的各种服务。
  5. 存储服务:提供用于备份、归档和文件存储的大规模可伸缩存储。

云计算PaaS服务模式精讲

PaaS 是“Platform as a Service”的首字母缩写,意为平台即服务,即把 IT 系统的平台软件层作为服务出租出去,如图 1 所示。

PaaS云
图 1 PaaS 云

相比于 IaaS 云服务提供商,PaaS 云服务提供商要做的事情增加了,他们需要准备机房、布好网络、购买设备、安装操作系统、数据库和中间件,即把基础设施层和平台软件层都搭建好,然后在平台软件层上划分“小块”(习惯称之为容器)并对外出租。

PaaS 云服务提供商也可以从其他 IaaS 云服务提供商那里租赁计算资源,然后自己部署平台软件层。另外,为了让消费者能直接在云端开发调试程序,PaaS 云服务提供商还得安装各种开发调试工具。相反,租户要做的事情相比 IaaS 要少很多,租户只要开发和调试软件或者安装、配置和使用应用软件即可。PaaS 云服务的消费者主要包括以下人员。

  • 程序开发人员:写代码、编译、调试、运行、部署、代码版本控制等,一揽子解决。
  • 程序测试人员。
  • 软件部署人员:把软件部署到 PaaS 云端,便于管理不同版本之间的冲突。
  • 应用软件管理员:便于配置、调优和监视程序运行性能。
  • 应用程序最终用户:这时 PaaS 云服务相当于 SaaS 云服务。

PaaS 云服务的费用计算一般根据租户中的用户数量、用户类型(如开发员、最终用户等)、资源消耗量及租期等因素计算。图 2 所示描绘了 PaaS 云服务供/需双方的动态交互情况。

PaaS云服务供/需双方动态交互示意图
图 2 PaaS 云服务供/需双方动态交互示意图

云服务提供商拥有一个应用软件库(图 1 中“A,B,C,…”代表库中的应用软件)、开发工具集(如编程语言、IDE、调试工具等)和软件执行资源池(图 1 中“exr1,exr2,…”代表资源),消费者通过网络远程租赁软件执行资源并运行相关的应用软件,或者使用各种开发工具。

软件执行资源有“可用”和“占用”两个状态,同一个资源不能同时运行多个程序。软件执行资源可能是物理机、虚拟机、容器或者一个正在运行的服务程序(响应消费者的请求,启动虚拟机或容器,甚至是租赁其他云端的计算资源)。

图 2A 中,用户 C1 申请了两个资源:exr1 和 exr2,并运行 B、C 两个程序。

图 2B 中,新来了一个程序开发员,他正在使用开发工具开发程序。

图 2C 中,程序开发员开发完成并部署了一个新程序 D。

图 2D 中,一个管理员发布了程序 D,然后新来的用户申请资源 exr3 并执行程序 D。

PaaS 云服务供/需交互还有很多情景,这里不再一一列出。

比如我们要安装和使用 OpenERP 软件,这个应用软件要用到 PostgreSQL 数据库和 Python 语言,那么只需要租赁一个 PaaS 型容器并在里面安装 OpenERP 即可,但这个容器必须支持 PostgreSQL 数据库和 Python 语言,让租户无须再去安装和配置它们。

同样,我们可以租赁一个支持 PHP 语言和 MySQL 数据库的 PaaS 容器,然后采用 WordPress 开源建站工具,只需几步,就可以搭建一个个人博客网站。应用软件数不胜数,支撑它们的语言、数据库、中间件和运行库可能都不一样。

PaaS 云服务提供商不可能安装全部的语言、数据库、中间件和运行库来支持所有的应用软件,因此目前普遍的做法是安装主流的语言、数据库、中间件和运行库,使得出租的 PaaS 容器支持有限的、使用量排名靠前的应用软件以及支持最流行的编程语言,并在网站上发布公告。当然,云服务提供商也鼓励租户直接开发支持 PaaS 的应用软件,每家云服务提供商都想尽可能地黏住更多的用户,这无可厚非。

不知道你有没有遭遇过这样的痛苦:企图安装一个要用的软件,结果报“没有找到 XXX 中间件”的错误,于是急忙找来相关资料安装需要的中间件,但又报错:“此中间件需要 YYY 数据库的支持”,那么只好安装数据库,却再次报错:“此数据库需要 ZZZ 运行库”,于是又去安装相应的运行库,但报错又出现了……最后你怒了:我不用这个应用软件总可以了吧?但你的计算机中已经安装了一大堆用不上的软件,硬盘快满了,于是又不得不去一个一个地卸载,卸载时又不断跳出调查表,询问你卸载的原因:是软件不够好吗?是售后服务跟不上吗?影响计算机速度吗……安装过 Linux 操作系统的人估计都会有这样的痛苦经历。

PaaS 的优势就是解决应用软件依赖的运行环境(如中间件、数据库、运行库等),其所依赖的软件全部由云服务提供商安装,所以当租户安装应用软件时,就不会再出现连续报错的情况。应用软件就像歌唱家,当其唱歌表演时需要一个舞台,这个舞台就是由基础设施层和平台软件层堆叠起来的。

前面讲过,平台软件层包括操作系统、数据库、中间件和运行库四部分,但并不是说在具体搭建平台软件层时一定要安装和配置这四部分软件,需要哪部分以及安装什么种类的平台软件要根据应用软件来定。比如一家只针对 PHP 语言开发(应用软件用 PHP 编写)的 PaaS 云服务提供商,就没必要安装类似 Tomcat 的中间件了。根据平台软件层中安装的软件种类多少,PaaS 又分为两种类型。

1)半平台 PaaS

平台软件层中只安装了操作系统,其他的留给租户自己解决。最为流行的半平台 PaaS 应用是开启操作系统的多用户模式,为每个租户创建一个系统账号,并对他们做权限控制和计算资源配额管制。半平台 PaaS 更关注租户的类型,如研发型、文秘型等,针对不同类型的租户做不同的权限和资源配置。

Linux 操作系统的多用户模式和 Windows 操作系统的终端服务都属于半平台 PaaS,私有办公云多采用半平台 PaaS。

2)全平台 PaaS

全平台 PaaS 安装了应用软件依赖的全部平台软件(操作系统、数据库、中间件、运行库)。不同于半平台 PaaS,全平台 PaaS 是针对应用软件来做资源配额和权限控制的,尽管最终还需要通过账号实现。公共云多采用全平台 PaaS。

相对于 IaaS 云服务,PaaS 云服务消费者的灵活性降低了,租户不能自己安装平台软件,只能在有限的范围内选择。但优点也很明显,租户从高深烦琐的 IT 技术中解放出来,专注于应用和自己的核心业务。

下面是一些 PaaS 云服务的实际应用。

  1. 商业智能(BI):用于创建仪表盘、报表系统、数据分析等应用程序的平台。
  2. 数据库:提供关系型数据库或者非关系型数据库服务。
  3. 开发和测试平台。
  4. 软件集成平台。
  5. 应用软件部署:提供应用软件部署的依赖环境。

云计算SaaS服务模式精讲

SaaS 是“Software as a Service”的首字母缩写,意为软件即服务。简言之,就是软件部署在云端,让用户通过因特网来使用它,即云服务提供商把 IT 系统的应用软件层作为服务出租出去,而消费者可以使用任何云终端设备接入计算机网络,然后通过网页浏览器或者编程接口使用云端的软件。这进一步降低了租户的技术门槛,应用软件也无须自己安装了,而是直接使用软件,如图 1 所示。

SaaS云
图 1 SaaS 云

SaaS 云服务提供商这时有 3 种选择:

  1. 租用别人的 IaaS 云服务,自己再搭建和管理平台软件层和应用软件层。
  2. 租用别人的 PaaS 云服务,自己再部署和管理应用软件层。
  3. 自己搭建和管理基础设施层、平台软件层和应用软件层。

总之,从云服务消费者的角度来看,SaaS 云服务提供商负责 IT 系统的底三层(基础设施层、平台软件层和应用软件层),也就是整个 T 层,最后直接把应用软件出租出去。图 2 所示是 SaaS 云服务供/需双方的动态交互示意图。

SaaS云服务供/需双方动态交互示意图
图 2 SaaS 云服务供/需双方动态交互示意图

云服务提供商拥有一个应用软件库(图 2 中“A,B,C,…”代表库中的应用软件)和应用软件执行资源池(图 2 中“exr1,exr2,…”代表资源),消费者通过网络远程租赁软件执行资源并运行相关的应用软件。

在图 2A 中,有两个用户正在使用云端的软件,其中用户 C1 运行两个程序 B 和 C,云端为该用户分配了 exr1 和 exr2 两个执行资源,exr1 执行资源用于执行 B 应用程序(图 2 中用“B(exr1”表示),exr2 执行资源用于执行 C 应用程序(图 2 中用“C(exr2”表示)。而用户 C2 正在执行一个程序 C(图 2 中用“C(exr3”表示)。

在图 2B 中,一个新用户 C3 进来了,云端从可用的执行资源池中为他分配了 exr4 和 exr5 两个执行资源,分别执行 A 和 B 应用程序,而执行资源池中可用的资源数减少了两个。

云服务提供商选择若干种使用面广且有利可图的应用软件,如 ERP(企业资源计划)、CRM(客户关系管理)、BI(商业智能)等,并精心安装和运维,让租户用得放心、安心。

适合做 SaaS 的应用软件有的几个特点

1)复杂

软件庞大、安装复杂、使用复杂、运维复杂,单独购买价格昂贵,如 ERP、CRM 系统及可靠性工程软件等。

2)主要面向企业用户

3)模块化结构

按功能划分成模块,租户需要什么功能就租赁什么模块,也便于按模块计费,如 ERP 系统划分为订单、采购、库存、生产、财物等模块。

4)多租户

能适合多个企业中的多个用户同时操作,也就是说,使用同一个软件的租户之间互不干扰。租户一般指单位组织,一个租户包含多个用户。

5)多币种、多语言、多时区支持

这一点对于公共云尤其明显,因为其消费者来自五湖四海。

6)非强交互性软件

如果网络延时过大,那么强交互性软件作为 SaaS 对外出租就不太合适,会大大降低用户的体验度,除非改造成弱交互性软件或者批量输入/输出软件。

如微软的 Office 365 和谷歌的在线办公等——通过浏览器运行远程 SaaS 办公软件,本质上就是 I/O 本地化,而浏览器与云端之间批量化传输(单击“保存”按钮或者浏览器定时保存)。

软件的云化就是对传统应用软件进行改造,使之满足(3)、(4)、(5)三个特点。

这里要着重介绍一下特点“(4)多租户”,即允许多个租户同时使用软件而互不影响,因此多租户的第一个要求就是软件支持多个用户登录,用户一般为非系统管理账户(如不是操作系统用户或者数据库用户),且保存在数据库的业务表中。

在《软件的概念》教程中已经讲过,软件就是由程序员写的让 CPU 来完成某项任务的步骤,包括输入/输出步骤和计算步骤,只有输入/输出步骤与多租户的特点相关。

如张三的输入/输出就是张三的,绝对不允许“窜”到李四那边去,反之亦然。这里重点关注的是硬盘文件作为输入/输出设备的情景,因此多租户的第二个要求就是用户身份信息必须作为数据记录的检索字段之一,这样用户之间的数据才可以实现隔离。

数据记录包括软件的配置信息和业务数据,配置信息指租户选择的语言、设置的时区、指定的币种、定义的面板参数等;而业务数据就是日常业务处理产生的数据,一般保存在数据库中,而数据库保存在云端的存储中。在具体设计隔离方案时,需要综合考虑隔离效果和资源使用效率,如图 3 和图 4 所示,更详细的租户隔离内容参见后面的章节。

注重隔离效果
图 3 注重隔离效果

注重资源使用效率
图 4 注重资源使用效率

适合云化并以 SaaS 模式交付给用户的软件

1)企事业单位的业务处理类软件

这类软件一般被单位组织用来处理提供商、员工、投资者和客户相关的业务,如开具发票、资金转账、库存管理及客户关系管理等。

2)协同工作类软件

这类软件用于团队人员一起工作,团队成员可能都是单位组织内部的员工,也可能包含外部的人员。例如日历系统、邮件系统、屏幕分享工具、协作文档创作、会议管理及在线游戏。

3)办公类软件

这类软件用于提高办公效率,如文字处理、制表、幻灯片编辑与播放工具,以及数据库程序等。基于 SaaS 云服务的办公软件具备协同的特征,便于分享,这是传统的本地化办公软件所没有的。

4)软件工具类

这类软件用来解决安全性或兼容性问题,以及在线软件开发,如文档转换工具、安全扫描和分析工具、合规性检查工具及线上网页开发等。

随着因特网进一步延伸到世界各地,带宽和网速进一步改善,以及云服务提供商通过近距离部署分支云端,从而进一步降低网络延时,可以预计,能够云化的软件种类将越来越多。但是无论如何,下面三类软件不适合作为公共 SaaS 云服务出租。

不适合作为公共 SaaS 云服务出租的软件

1)实时处理软件

比如飞行控制系统、工厂作业机器人控制等,这类软件要求任务完成时间非常精准(甚至达到微秒级)。假如云化,单单横亘在 SaaS 云端与消费者之间的网络延时就是一个难以承受的不可控因素,更不要说其他因素了。

2)时时产生并处理大量消费者数据的软件

诸如视频监控、环境信息收集处理等时时产生并要处理大规模的数据信息(可能每秒达 GB 级)的软件,在目前和未来几年内的因特网宽带条件下,不适合云化,因为如此大规模的数据很难实时传输到 SaaS 云端进行处理。

3)关键软件

这类软件如果运行异常,将会导致人员伤亡或者重大财产损失。为了提高这类软件的可靠性,最主要的方法是降低软件的复杂度——软件本身的复杂度和运行环境的复杂度,因为越简单就越可靠。而 SaaS 云服务环境包含着复杂的软/硬件栈(9 层的 IT 系统),以及不可预测的网络带宽、延时、丢包因素,绝对不合适云化此类关键软件并以公共 SaaS 云服务模式交付给用户使用。

针对私有云或者社区云,如果云端就在本地,且消费者通过局域网接入云端,那么上面三类软件也可以 SaaS 模式部署。

4. 与传统的软件运行模式相比,SaaS 模式具有的优点:

1)云终端少量安装或不用安装软件

直接通过浏览器访问云端 SaaS 软件,非常方便且具备很好的交互体验,消费者使用的终端设备上无须额外安装客户端软件。

配置信息和业务数据没有存放在云终端里,所以不管用户何时何地使用何种终端操作云端的软件,都能看到一样的软件配置偏好和一致的业务数据。云终端成了无状态设备。

2)有效使用软件许可证

软件许可证费用能大幅度降低,因为用户只用一个许可证就可以在不同的时间登录不同的计算机;而在非 SaaS 模式下,必须为不同的计算机购买不同的许可证(即使计算机没被使用)——过度配置许可证现象。

另外,专门为保护软件产权而购置的证书管理服务器也不用买了,因为在 SaaS 模式下,软件只运行在云端,软件开发公司只跟云服务提供商打交道并进行软件买卖结算即可。

3)数据安全性得到提高

对于公共云和云端托管别处的其他云来说,意味着 SaaS 型软件操纵的数据信息存储在云端的服务器中,云服务提供商也许把数据打散并把多份数据副本存储在多个服务器中,以便提高数据的完整性,但是从消费者的视角看,数据被集中存放和管理。

以上那么做有一个明显的好处,那就是云服务提供商能提供专家管理团队和专业级的管理技术和设备,如合规性检查、安全扫描、异地备份和灾难恢复,甚至是建立跨城市双活数据中心。当今大的云服务提供商能够使数据安全性和应用软件可用性达到 4 个“9”的级别。

对于云端就在本地的私有云和社区云来说,好处类似于公共云,但是抗风险能力要差一些,除非对大的意外事件提前做好预案,如为应对天灾(地震、洪水等)人祸(火灾等),建立异地灾备中心。另外,无处不在的网络接入,使人们再也不用复制数据并随身携带,从而避免数据介质丢失或者被盗。数据集中存放和管理还有利于人们分享数据信息。

4)有利于消费者摆脱 IT 运维的技术泥潭而专注于自己的核心业务

SaaS 云服务消费者只要租赁软件即可,而无须担心底层(基础设施层、平台软件层和应用软件层)的管理和运维。

5)消费者能节约大量前期投资

消费者不用装修机房,不用建设计算机网络,不用购买服务器,也不用购买和安装各种操作系统和应用软件,这样就能节省成百上千万元的资金。

众所周知,在非云计算模式下,这些巨额的前期投资在一到两年的时间内是不会产生任何效益的,因为一个中等规模的 IT 系统建设工期就要几年的时间——包括机房选址和装修,网络设备采购和综合布线,机器设备采购、安装和调试,软件部署、测试和转产上线等。

但是 SaaS 云服务也给人们带来了新的挑战,如完全依赖网络、跨因特网对安全防范措施要求更高、云端之间的数据移植性不够好、租户隔离和资源使用效率二者之间需要综合平衡考虑(详见教程后面章节“租户隔离”的相关内容)等。

SaaS 云服务的实际应用

1)电子邮件和在线办公软件

用于处理邮件、文字排版、电子表格和演示文档的应用软件,如谷歌邮箱(http://mail.google.com)、网易邮箱(http://mail.163.com/)、微软 Office 365 在线办公、谷歌在线文档(https://docs.google.com)等。

2)计费开票软件

用于处理客户有关使用和订阅产品及服务所产生的账单。

3)客户关系管理系统(CRM)

功能涵盖从客户呼叫中心到销售自动化的各种应用程序。

4)协作工具

这种软件能促进企业内部或者跨企业的团队中的成员协同合作。

5)内容管理系统(CMS)

用于管理数字内容,包括文本、图形图像、Web页面、业务文档、数据库表单、视频、声音、XML文件等,引入版本控制、权限管理、生命周期等。

6)财务软件。

7)人力资源管理系统。

8)销售工具。

9)社交网络:如微信、WhatsApp、LINE 等。

10)企业资源计划(ERP)。

11)谷歌在线翻译。


转载于:http://c.biancheng.net/cloud_computing/

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【云计算学习教程】IaaS、PaaS和SaaS:云计算的三种服务模式(精讲) 的相关文章

  • 聊一聊什么是SaaS,以及遇到的问题......

    1 软件即服务 SaaS 的定义 SaaS是Software as a Service的缩写 xff0c 意为软件即服务 SaaS是一种软件部署模式 xff0c 第三方供应商在云基础设施上构建应用程序 xff0c 并以订阅的形式 xff0c
  • 【云计算学习教程】云计算终端技术详解

    云终端是用户操作的主要设备 xff0c 也是用户接入云端的入口 追求完美的用户体验是终端厂商和云服务提供商唯一的选择 xff0c 也是云计算成败的关键因素 为了使得一款终端实现 用之赏心 观之悦目 的目标 xff0c 需要从功能 外观 操作
  • 深入剖析Kubernetes之容器网络(二)

    文章目录 Flannel 的 host gw 模式 Calico 网络隔离 Flannel 的 host gw 模式 Flannel host gw 示意图 假设现在 Node 1 上的 Infra container 1 要访问 Node
  • 【云原生进阶之PaaS中间件】第二章Zookeeper-3.2架构详解

    1 Zookeeper工作原理 1 1 Zookeeper的角色 领导者 leader 负责进行投票的发起和决议 更新系统状态 学习者 learner 包括跟随者 follower 和观察者 observer follower用于接受客户端
  • 【云原生进阶之PaaS中间件】第一章Redis-1.2数据类型

    1 Redis 数据类型 Redis支持五种数据类型 string 字符串 hash 哈希 list 列表 set 集合 及zset sorted set 有序集合 1 1 String 字符串 string是redis最基本的类型 你可以
  • cloudify学习小结

    参考 http docs getcloudify org 3 4 0 installation from packages http docs getcloudify org 3 4 0 manager bootstrapping clou
  • 深入剖析Kubernetes之声明式 API

    文章目录 声明式 API 编写自定义控制器 声明式 API 到底什么才是 声明式 API 呢 kubectl apply 命令 kubectl replace 的执行过程 是使用新的 YAML 文件中的 API 对象 替换原有的 API 对
  • 深入剖析Kubernetes之容器网络(一)

    文章目录 单机容器网络 容器跨主机网络 Kubernetes网络模型与CNI网络插件 单机容器网络 一个 Network Namespace 的网络栈包括 网卡 Network Interface 回环设备 Loopback Device
  • 有效服务台管理的5个关键度量指标

    从格言到ITIL 这些标准格言容易与ITSM和ITIL直接联系起来 通过ITIL实施ITSM的一个重要好处是其为持续创建 部署 实施和停役IT服务提供了一个框架 持续改进是ITIL的内在特性 它包含于ITIL服务生命周期管理的持续流程改进
  • 【实践篇】推荐算法PaaS化探索与实践

    作者 京东零售 崔宁 1 背景说明 目前 推荐算法部支持了主站 企业业务 全渠道等20 业务线的900 推荐场景 通过梳理大促运营 各垂直业务线推荐场景的共性需求 对现有推荐算法能力进行沉淀和积累 并通过算法PaaS化打造通用化的推荐能力
  • 企业的内容站点SEO应该怎么做更有效果?

    在当今数字化时代 搜索引擎优化 SEO 已成为企业内容站点不可或缺的一部分 通过优化网站的结构 内容和链接等方面 企业可以提高其在搜索引擎中的排名 吸引更多的潜在客户 并增加品牌曝光度 那么 企业的内容站点SEO应该怎么做呢 一 SEO的一
  • Saas:单实例、多实例、单租户、多租户?

    我一直在阅读有关实例和租户以及 Saas 架构的内容 我的问题如下 如果您发现我对以下任何术语有错误 请更正 1 实例 某个软件的实例是否只是该软件的副本及其自己的数据库 还有比这更重要的事情吗 2 Tenant 租户是对单个实例共享一组通
  • 制造业CRM选型注意事项:有这些功能的系统更好用

    当前 推动制造业数字化转型已成时代发展趋势 为了适应这一趋势 制造业使用 CRM管理系统 是非常 重要的 那么 制造业CRM应该怎么选 1 全方位客户管理 订单价值大 交货周期长 客户开发难 这一直是制造业的痛点 前二点是由于行业特性 第三
  • 制造业CRM选型注意事项:有这些功能的系统更好用

    当前 推动制造业数字化转型已成时代发展趋势 为了适应这一趋势 制造业使用 CRM管理系统 是非常 重要的 那么 制造业CRM应该怎么选 1 全方位客户管理 订单价值大 交货周期长 客户开发难 这一直是制造业的痛点 前二点是由于行业特性 第三
  • SaaS - 多租户独立数据库模型在 Java 中的实现

    我正在构建一个软件项目 我想实现 SAAS 软件即服务 模型 我想设计一个与多租户兼容的 Web 应用程序 每个租户都有单独的数据库 我如何在Java环境中设计多租户UI UI本质上应该是租户可配置的 如何为每个租户单独的数据库设计数据访问
  • 客户数量众多,CRM管理系统如何帮助高效客户管理

    随着中型企业客户关系的不断扩大和发展 高效管理日益庞大的客户群体变得至关重要 CRM管理系统就是管理大量客户 维护客户关系的重要工具 然而 市面上CRM系统太多了 想要快速 准确找到一款适合您业务的CRM系统是一项艰巨的任务 多客户中型企业
  • 为什么遇到 302 响应时 WCF 无法调用 SOAP 服务?

    我编写了一个应用程序 首先调用 WCF 进行登录 我生成了带有服务引用的客户端代码 对于将服务安装到网络本地的客户来说 它工作得很好 然而 也有一个 SaaS 环境 其中这些相同的服务由企业权力控制 saas环境下 提示登录失败 使用 Fi
  • 面向服务的架构建议

    出于个人和大学研究的原因 我正在考虑使用面向服务的架构构建一个简单的 CRM 其意义只是解释架构本身 并非商业用途 我正在考虑实施一个 CRM 提供简单的分析服务和客户服务 用户存储 个人评论和其他一些东西 我正在设计的架构定义 WebGU
  • 具有自定义事件的平台的 Web 分析

    我正在建立一个制作网站的平台 将 wordpress com 视为类似的示例 每个站点都将成为我的域的子域 例如 abc mydomain com 或 xyz mydomain com 我对分析有一些要求 但我无法满足所有要求 我希望能够查
  • Ruby on Rails:如何设计 SaaS 基础设施?

    我正在构建一个 Rails 3 应用程序 计划将其作为基于订阅的 SaaS 软件即服务 产品提供 基本上 我希望用户能够点击我的 注册 页面 创建一个新帐户 并立即开始使用该软件 我想要实现的一个很好的例子是 http www gethar

随机推荐

  • java引用详解

    文章目录 一 关于对象与引用之间的一些基本概念 new Vehicle Vehicle veh1二 Java对象及引用三 只有理解了对象和引用的关系 xff0c 才能理解参数传递总结 xff1a 什么是值传递 xff0c 什么是引用传递 为
  • python学习-def __init__(self)理解(1)

    python中 init 的作用 在python中创建类后 xff0c 通常会创建一个 init 方法 xff0c 这个方法会在创建类的实例的时候自动执行 实例1 实例化Bob这个对象的时候 xff0c init 方法会自动执行 xff1a
  • 学完java基础语法之后用来练习的不依赖框架的小项目

    刚学完一门语言基础语法之后 xff0c 一般都需要写一些小项目来检验我们的学习效果 xff0c 将所学的基础语法串联起来 xff0c 同时也熟悉一下用这门语言做项目的大概流程 但是此时学习的项目不能太复杂 xff0c 因此此时才刚学完基础语
  • java集合中接口和类的理

    一 背景 首先我们可以先了解一下类和接口的基础和使用方法 xff1a Java类和对象 java中接口 xff08 interface xff09 详解 Java继承和多态 然后再对java集合的基础了解一下 Java集合 泛型和枚举 有了
  • java多线程详解

    文章目录 多线程基础进程进程 vs 线程多线程 创建新线程线程的优先级练习小结 线程的状态小结 中断线程小结 守护线程练习小结 线程同步不需要synchronized的操作小结 同步方法小结 死锁死锁练习小结 转载于 xff1a https
  • Java项目管理工具Maven使用方法详解

    这边直接推荐两个比较好的教程 xff1a https www liaoxuefeng com wiki 1252599548343744 1309301178105890 http c biancheng net maven2 depend
  • maven引入依赖包,import依赖包,编译运行maven项目

    文章目录 IDEA中新建一个maven项目在pom xml中添加依赖包 xff0c 确定依赖包成功导入 xff0c 在项目中import依赖包怎么确定maven成功的导入了依赖包在项目中import导入的依赖包总结 在看这篇博客之前 xff
  • 怎样做一个好的PPT演讲

    文章目录 一 做好PPT演讲的重要性二 怎么做好PPT演讲1 做一个好的PPT2 做好演讲 三 分析一些比较好的PPT演讲视频四 实例解析和总结 一 做好PPT演讲的重要性 不管是在学生时期的竞赛展示 xff0c 毕业答辩 xff0c 我们
  • PPT怎么画出好看的三维示意图

    一 前言 之前一些博客已经大致讲了PPT怎么画图的 xff1a PPT画图文章总结 怎样做一个好的PPT演讲 其实对于我们平常在PPT中会出现的图片 xff0c 可以简单的分为二维示意图和三维示意图 xff0c 二维示意图制作起来相对简单
  • 为什么C++没有Python那么多开源库?

    链接 xff1a https www zhihu com question 375368576 answer 1059898195 看了好多回答 xff0c 还是觉得有更本质的原因的 xff0c 根源还是在C 43 43 这个语言特性上 为
  • 为什么C++没有C语言快?

    作者 xff1a 高性能架构探索 链接 xff1a https www zhihu com question 507790994 answer 2287288696 来源 xff1a 知乎 著作权归作者所有 商业转载请联系作者获得授权 xf
  • C/C++语言性能分析方法及性能分析工具的使用

    文章目录 一 从算法复杂度都程序性能一 事后统计的方法二 事前分析估算的方法三 求解算法的时间复杂度的具体步骤四 算法复杂度和程序性能之间的关系五 执行什么语句耗时 xff1f 不同语句执行时间量级分析整型加和减 xff1a 浮点型加和减测
  • Mysql大量插入随机数据方法--存储过程

    案例1 创建测试表 xff1a mysql span class token operator gt span span class token keyword create span span class token keyword ta
  • 【LeetCode刷题日记】846. 一手顺子 + 复习C++ STL和java集合

    这几天看几个Thu大佬的刷题总结 xff0c 有点被震惊了 xff0c 要向他们学习 xff0c 2022年 xff0c LeetCode刷起来 xff01 题目 Alice 手中有一把牌 xff0c 她想要重新排列这些牌 xff0c 分成
  • 【LeetCode刷题日记】507. 完美数

    题目 对于一个 正整数 xff0c 如果它和除了它自身以外的所有 正因子 之和相等 xff0c 我们称它为 完美数 给定一个 整数 n xff0c 如果是完美数 xff0c 返回 true xff0c 否则返回 false 示例 1 xff
  • 与嵌入式RTOS大不同,主流物联网操作系统中哪款适合你?

    物联网的发展大势所趋 xff0c 也被普遍看好和关注 xff0c 但嵌入式设备的联网会使得软件复杂性大幅增加 xff0c 传统的嵌入式 RTOS内核已经越来越难满足市场的需求 xff0c 在这种情况下 xff0c 物联网操作系统的概念应运而
  • 【云计算学习教程】云计算技术与应用学习教程

    文章目录 云计算给我们的生活带来什么改变 xff1f 云计算是一种全新的使用计算资源 xff08 硬件和软件 xff09 的模式 计算资源所在地 xff08 远方的一个或者多个机房 xff09 称为 云端 xff0c 人们使用的输入 输出设
  • 【云计算学习教程】软件(程序)是什么?

    文章目录 本节的知识点 计算机由哪些软件和硬件组成 xff1f 计算机网络 xff08 因特网 xff09 是什么 xff1f 本节的知识点 IT系统组成 软件 xff0c 也叫程序 xff0c 那么究竟什么是软件 xff1f 在回答这个问
  • 【云计算学习教程】云计算是什么?它有哪些形式?

    文章目录 什么是云计算 xff1f 云计算的 5 个基本特征1 xff09 自助服务2 xff09 广泛的网络访问3 xff09 资源池化4 xff09 快速弹性5 xff09 计费服务 云计算的 4 种部署模型1 xff09 私有云2 x
  • 【云计算学习教程】IaaS、PaaS和SaaS:云计算的三种服务模式(精讲)

    文章目录 云计算IaaS服务模式精讲第一层 xff08 云管理器 xff09 第二层 xff08 集群管理器 xff09 第三层 xff08 计算机管理器 xff09 云计算PaaS服务模式精讲1 xff09 半平台 PaaS2 xff09