云计算通俗讲义(第3版)
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

2.6 3种服务模式

在本章2.4节中讲到,IT 系统的逻辑组成分为四层,自下至上依次是基础设施层、平台软件层、应用软件层和数据信息层。云计算是一种新的计算资源使用模式,云端本身还是IT系统,所以逻辑上同样可以划分为这四层。底三层可以再划分出很多“小块”并出租出去,这有点像立体停车房,按车位大小和停车时间长短收取停车费。因此,云服务提供商出租计算资源有3种模式,满足云服务消费者的不同需求,分别是IaaS、PaaS、SaaS,如图2-12所示。

图2-12 云计算的3种服务模式

需要注意的是,云服务提供商只负责出租层及以下各层的部署、运维和管理,而租户自己负责更上层次的部署和管理,两者负责的“逻辑层”加起来刚好就是一个完整的四层IT系统(见图2-12最左侧)。比如有一家云服务提供商对外出租IaaS云计算业务,云服务提供商负责机房基础设施、计算机网络、磁盘柜和服务器/虚拟机的建设和管理,而云服务消费者自己完成操作系统、数据库、中间件&运行库和应用软件的安装和维护。另外,还要管理数据信息(如初始化、数据备份、恢复等)。再比如,另一家云服务提供商出租PaaS 业务,那么云服务提供商负责的层数就更多了,云服务消费者只需安装自己需要的应用软件并进行数据初始化即可。总之,云服务提供商和消费者各自管理的层数加起来就是标准的IT系统的逻辑层次结构。

下面对这3种服务模式分别做进一步的介绍。

2.6.1 IaaS

IaaS是Infrastructure as a Service的首字母缩写,意思是基础设施即服务,即把 IT 系统的基础设施层作为服务出租出去。由云服务提供商把 IT 系统的基础设施建设好,并对计算设备进行池化,然后直接对外出租硬件服务器、虚拟主机、存储或网络设施(负载均衡器、防火墙、公网IP地址及诸如DNS等基础服务)等。云服务提供商负责管理机房基础设施、计算机网络、磁盘柜、服务器和虚拟机,租户自己安装和管理操作系统、数据库、中间件&运行库、应用软件和数据信息,所以IaaS云服务的消费者一般是掌握一定技术的系统管理员,如图2-13所示。

图2-13 IaaS云服务

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

出租的物理服务器和虚拟机统称为主机,云服务提供商如何对外出租主机呢?或者是租户如何使用这些租来的主机呢?相对于租户来说,这些主机不在现场而在“远方”,租赁之后并不是把这些主机从云端搬到租户的办公室来使用。出租前后主机的物理位置并没有改变,租户仍然是通过网络使用这些云端主机。租户登录云服务提供商的网站,填写并提交主机配置(如需要多少个 CPU、多少内存、多少网络带宽等)表后付款,然后云服务提供商向租户颁发账号和密码,最后租户以此账号和密码登录云端的自助网站。在这里,租户可以管理自己的主机:启动和关闭机器、安装操作系统、安装和配置数据库、安装应用软件等。其实只有启动机器和安装操作系统必须要在自助网站上完成,其他操作可以直接登录到已经安装了操作系统并配置好网卡的主机中完成。对于租来的主机,租户只关心计算资源(CPU、内存、硬盘)的容量是否与租赁合同上标注的一致,就像租赁同一层楼上的一间房间一样,租户只关心面积是否足够,而不关心房间的墙壁是钢筋水泥结构还是砖块石灰结构。但是对于云服务提供商来说,出租硬件服务器和虚拟机,内部的技术处理是不一样的,其中硬件服务器必须要集成远程管理卡并要池化到资源池中。

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

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

图2-14 IaaS云端的基本架构模型

IaaS 云端的基本架构模型逻辑上分为三层:第一层管理全局,第二层管理计算机集群(一个集群内的机器地理位置上可能相距很远),第三层负责运行虚拟机。第一层的云管理器与第二层的集群管理器之间一般通过高速网络连接,当增加数据中心为云端扩容时,就能体现网速的重要性。而集群内的计算机之间倾向于采用本地局域网(如10Gbit/s以太网)或者超高速广域网,如果采用局域网,则灾难容错差;如果跨广域网,则网络带宽会成为瓶颈。

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

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

第二层(集群管理器):每一个集群负责管理本集群内部的高速互联在一起的计算机,一个集群内的计算机可能有成百上千台。集群管理器接收上层的资源查询请求,然后向下层的计算机管理器发送查询请求,最后汇总并判断是部分满足还是全部满足上层请求的资源,再反馈给上层。如果接下来收到上层分配资源的命令,那么集群管理器指导下层的计算机管理器进行资源分配并配置虚拟网络,以便能让用户后续访问。另外,本层PLS中存储了本集群内的全部虚拟机镜像文件,这样一台虚拟机就能在集群内任意一台计算机上运行,并轻松实现虚拟机热迁移。

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

租赁IaaS云服务,对租户而言,最大优点是其灵活性,由租户自己决定安装什么操作系统、需不需要数据库且安装什么数据库、安装什么应用软件、安装多少应用软件、要不要中间件、安装什么中间件等,相当于购买了一台计算机,要不要使用、何时使用,以及如何使用全由自己决定。一些搞研发的计算机技术人员倾向于租赁IaaS主机。但是对于租户来说,IaaS云主机除管理难度大外,还有一个明显的缺陷:计算资源浪费严重。因为操作系统、数据库和中间件本身要消耗大量的计算资源(CPU、内存和磁盘空间),但它们消耗的资源对租户来说是无用的,来看下面这个极端的案例。

假设张三租用了一台 IaaS 主机,配置为CPU 1.0GHz,内存1GB,硬盘空间10GB,然后他安装了Windows 7操作系统、MySQL数据库,最后再想安装和运行绘图应用软件几乎是不可能了,因为Windows 7操作系统和MySQL数据库就要把CPU、内存和硬盘空间消耗殆尽了。没有硬盘空间,如何安装应用软件?没有空闲的内存,又如何能运行应用软件?张三本来打算租赁云端主机来搞图形设计,这样一来,目的就没达到,至少租来的主机的配置要翻倍才行。

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

(1)备份和恢复服务。

(2)计算服务:提供弹性资源。

(3)内容分发网络(CDN):把内容分发到靠近用户的地方,对于一些基于网页的应用系统,为了提高用户体验,往往在各个地方(人口稠密的地方)设立分支服务器,当用户浏览网页时,被重定向到本地Web服务器,所以数据必须实时分发并保持一致。

(4)服务管理:管理云端基础设施平台的各种服务。

(5)存储服务:提供用于备份、归档和文件存储的大规模可伸缩存储。

2.6.2 PaaS

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

图2-15 PaaS云服务

相比于IaaS云服务提供商,PaaS云服务提供商要做的事情增加了,它们需要准备机房、布好网络、购买设备、安装操作系统、数据库和中间件,即把基础设施层和平台软件层都搭建好,然后在平台软件层上划分“小块”(习惯称之为容器)并对外出租。PaaS云服务提供商也可以从其他IaaS云服务提供商那里租赁计算资源,然后自己部署平台软件层。另外,为了让消费者能直接在云端开发调试程序,PaaS 云服务提供商还得安装各种开发调试工具。相反,租户要做的事情相比IaaS要少很多,租户只要开发和调试软件或者安装、配置和使用应用软件即可。PaaS云服务的消费者主要包括以下人员。

(1)程序开发人员:写代码、编译、调试、运行、部署、代码版本控制等,一揽子解决。

(2)程序测试人员。

(3)软件部署人员:把软件部署到PaaS云端,便于管理不同版本之间的冲突。

(4)应用软件管理员:便于配置、调优和监视程序运行性能。

(5)应用程序最终用户:这时PaaS云服务相当于SaaS云服务。

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

图2-16 PaaS云服务供/需双方动态交互情况

云服务提供商拥有一个应用软件库(图2-16中“A,B,C,…”代表库中的应用软件)、开发工具集(如编程语言、IDE、调试工具等)和软件执行资源池(图2-16中“exr1,exr2,…”代表资源),消费者通过网络远程租赁软件执行资源并运行相关的应用软件,或者使用各种开发工具。软件执行资源有“可用”和“占用”两个状态,同一个资源不能同时运行多个程序。软件执行资源可能是物理机、虚拟机、容器或者一个正在运行的服务程序(响应消费者的请求,启动虚拟机或容器,甚至是租赁其他云端的计算资源)。图2-16 A中,用户C1申请了两个资源:exr1和exr2,并运行B、C两个程序;图2-16 B中,新来了一个程序开发人员,他正在使用开发工具开发程序;图2-16 C中,程序开发人员开发完成并部署了一个新程序D;图2-16 D中,一个管理员发布了程序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)应用软件部署:提供应用软件部署的依赖环境。

2.6.3 SaaS

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

图2-17 SaaS云服务

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

(1)租用别人的IaaS云服务,自己再搭建和管理平台软件层和应用软件层。

(2)租用别人的PaaS云服务,自己再部署和管理应用软件层。

(3)自己搭建和管理基础设施层、平台软件层和应用软件层。

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

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

云服务提供商拥有一个应用软件库(图2-18中“A,B,C,…”代表库中的应用软件)和应用软件执行资源池(图2-18中“exr1,exr2,…”代表资源),消费者通过网络远程租赁软件执行资源并运行相关的应用软件。在图2-18 A中,有两个用户正在使用云端的软件,其中用户C1运行两个程序B和C,云端为该用户分配了exr1和exr2两个软件执行资源,exr1软件执行资源用于执行B 应用程序(图2-18中用“B→exr1”表示),exr2软件执行资源用于执行 C应用程序(图2-18中用“C→exr2”表示)。而用户C2正在执行一个程序C(图2-18中用“C→exr3”表示)。在图2-18 B中,一个新用户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)多租户”,即允许多个租户同时使用软件而互不影响,因此多租户的第一个要求就是软件支持多个用户登录,用户一般为非系统管理账户(如不是操作系统用户或者数据库用户),且保存在数据库的业务表中。在2.1节中已经讲过,软件就是由程序员写的让CPU来完成某项任务的步骤,包括输入/输出步骤和计算步骤,只有输入/输出步骤与多租户的特点相关,如张三的输入/输出就是张三的,绝对不允许“窜”到李四那边去,反之亦然。这里重点关注的是硬盘文件作为输入/输出设备的情景,因此多租户的第二个要求就是用户身份信息必须作为数据记录的检索字段之一,这样用户之间的数据才可以实现隔离。数据记录包括软件的配置信息和业务数据,配置信息指租户选择的语言、设置的时区、指定的币种、定义的面板参数等;而业务数据就是日常业务处理产生的数据,一般保存在数据库中,而数据库保存在云端的存储中。在具体设计隔离方案时,需要综合考虑隔离效果和资源使用效率,如图2-19和图2-20所示,更详细的租户隔离内容参见后面的章节。

图2-19 注重隔离效果

图2-20 注重资源使用效率

下面这些类型的软件适合云化并以SaaS模式交付给用户。

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

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

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

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

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

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

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

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

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

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

(1)云终端少量安装或不用安装软件。直接通过浏览器访问云端SaaS软件,非常方便且具备很好的交互体验,消费者使用的终端设备上无须额外安装客户端软件。配置信息和业务数据没有存放在云终端里,所以不管用户何时何地使用何种终端操作云端的软件,都能看到一样的软件配置偏好和一致的业务数据。云终端成了无状态设备。

(2)有效使用软件许可证。软件许可证费用能大幅度降低,因为用户只用一个许可证就可以在不同的时间登录不同的计算机;而在非SaaS模式下,必须为不同的计算机购买不同的许可证(即使计算机没被使用)——过度配置许可证现象。另外,专门为保护软件产权而购置的证书管理服务器也不用买了,因为在SaaS模式下,软件只运行在云端,软件开发公司只跟云服务提供商打交道并进行软件买卖结算即可。

(3)数据安全性得到提高。对于公有云和云端托管别处的其他云来说,意味着SaaS型软件操纵的数据信息存储在云端的服务器中,云服务提供商也许把数据打散并把多份数据副本存储在多个服务器中,以便提高数据的完整性,但是从消费者的视角看,数据被集中存放和管理。这样做有一个明显的好处,那就是云服务提供商能提供专家管理团队和专业级的管理技术和设备,如合规性检查、安全扫描、异地备份和灾难恢复,甚至是建立跨城市双活数据中心。当今大的云服务提供商能够使数据安全性和应用软件可用性达到4个“9”的级别。对于云端就在本地的私有云和社区云来说,好处类似于公有云,但是抗风险能力要差一些,除非对大的意外事件提前做好预案,如为应对天灾(地震、洪水等)人祸(火灾等),建立异地灾备中心。另外,无处不在的网络接入,使人们再也不用复制数据并随身携带,从而避免数据介质丢失或者被盗。数据集中存放和管理还有利于人们分享数据信息。

(4)有利于消费者摆脱 IT 运维的技术泥潭而专注于自己的核心业务。SaaS 云服务消费者只要租赁软件即可,而无须担心底层(基础设施层、平台软件层和应用软件层)的管理和运维。

(5)消费者能节约大量前期投资。消费者不用装修机房,不用建设计算机网络,不用购买服务器,也不用购买和安装各种操作系统和应用软件,这样就能节省成百上千万元的资金。众所周知,在非云计算模式下,这些巨额的前期投资在一到两年的时间内是不会产生任何效益的,因为一个中等规模的IT系统建设工期就要几年的时间——包括机房选址和装修,网络设备采购和综合布线,机器设备采购、安装和调试,软件部署、测试和转产上线等。

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

下面是一些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)谷歌在线翻译。