一、前言
云计算通俗来说就是输入/输出和计算不在一个主机上。计算要用到计算设备,计算设备一般是指CPU、内存和硬盘,输入/输出设备一般是指键盘、鼠标、显示器、耳机、音响、话筒等外设。而我们的个人计算机是使用主板将这些东西连接到一起来协调工作。
一个软件在执行以完成某项任务的时候,如果用到的计算设备和输入/输出设备不是通过主板连接,而是通过网络连接,那么这个过程就叫云计算。
举几个例子来说明一下:
1、我远程到客户电脑给客户处理问题,输入/输出使用的是我的鼠标、键盘和显示器,计算使用的是客户的CPU、内存和硬盘。
2、打开百度,搜索“云计算”,百度给我返回很多相关的内容。搜索程序运行在百度的搜索引擎服务器上,而输入和输出是在我的电脑上。
3、登录百度云盘,在云盘里存储文件,删除文件,下载文件等。
而云计算给我们的感觉一般都是这样:
1、输入/输出在终端,终端触手可及;计算在云端,云端位置未知。
2、云端资源永远是无限的(公有云,例如阿里云),需要多少,按需租用,完全满足弹性需求。
一个完整的云计算环境由云端、计算机网络和终端三部门组成(也就是常说的云、管、端)。云端就是指计算设备,负责完成软件的计算;终端是指我们用来完成输入/输入的设备;计算机网络负责将云端和终端连接起来,完成信息传输(将终端的输入指令传输到云端,将云端的执行结果反馈给终端)。
公有云服务商组建了云端并对外出租计算设备,那么出租类型也就是我们常说的——IaaS SaaS、PaaS、DaaS。回忆一下上一期我讲的IT架构九重天,这九层妖塔是在云服务商那里负责建设了,那用户租用的时候,这4种类型是租哪部分呢?
二、IaaS
IaaS是Infrastructure as a server的缩写,意思是基础设施即服务。又云端公司把IT环境的基础设施建设好,然后直接对外出租硬件服务器或者虚拟机。消费者可以利用所有计算基础设施,包括处理CPU、内存、存储、网络和其它基本的计算资源,用户能够部署和运行任意软件,包括操作系统和应用程序。消费者不管理或控制任何云计算基础设施,但能控制操作系统的选择、存储空间、部署的应用,也有可能获得有限制的网络组件(例如路由器、防火墙、负载均衡器等)的控制。如下图所示:
云端公司一般都会有一个自助网站,用户可以向云端公司签订租赁协议以获取一个账号,登录之后可以管理自己的计算设备:开关机、安装操作系统、安装应用软件等。
IaaS型租用方式对用户来说优点很明显,就是非常灵活,也是*度最大的一种类型。用户可以决定安装什么操作系统,以及是否需要安装或者安装什么类型的数据库,安装什么软件等等。就像自己买了台电脑,如何使用是你全权做主。
不过缺陷也很明显,除了管理维护量大之外,还有一个缺陷就是:计算资源严重浪费。操作系统、数据库以及中间件本身就要消耗大量的计算资源,而这些消耗对于租户而已是必须的但是又是无用的,因为用户只是想要运行软件。
三、PaaS
PaaS是Platform as a Server的缩写,意思是平台即服务,即把运行用户所需的软件的平台作为服务出租。如下图所示:
云端公司要做事情就是运行软件所需要的下7层部署完毕,然后再PssS上划分小块(习惯称之为容器)对外出租,租户只需要安装和使用软件就可以了。
平台软件层包括操作系统、数据库、中间件和运行库,但是并不是每一个软件都需要这4部分的支持,需要什么是由软件决定的。所以PaaS又分为2种,半平台PaaS和全平台PaaS。
-
半平台PaaS:只安装操作系统,其他的租户自己去解决。这样会比较麻烦,因为你需要有较强的技术实力,而且需要耗费部分资源去安装软件运行需要的、的中间件、运行库、数据库。
-
全平台PaaS:安装应用软件依赖的全部平台软件,也就是4部分全部准备完毕。不过大家也知道,世界上的应用软件如此庞大,支撑他们的语言、数据库、中间件、运行库可能都不一样,PaaS云端公司不可能全部都去安装,所以他们支持的软件是有限的。
相对于IaaS来说,PaaS租户的灵活性降低了,只能在云端提供的有限平台范围内做软件,但是有点也很明显,能够最大化利用租用的资源和不需要租户有高深的IT技术。
四、SaaS
SaaS是Software as a Server的缩写,意思是软件即服务。把软件租出去,用户连安装都不需要了。同样来看图:
对比PaaS略微有一点不同,应用软件是云端公司来安装、运维的,租户使用软件,需要管理的是这些软件产生的数据信息。
一般来说SaaS适用的软件都有如下的特点:
(1)复杂:软件庞大、安装复杂、使用复杂、运维复杂,单独购买架构昂贵,例如ERP、CRM、BI等。
(2)模块化:按功能模块划分,需要什么功能就组什么模块。
(3)多租户:多个企业用户同时操作,使用同一个软件而不是互相干扰。当然,数据是逻辑隔离的,不同用户的数据检索字段之一必然是用户身份信息。
(4)多币种多语言多时区的支持
五、DaaS
DaaS是Data as a Server的缩写,意思是数据即服务。云端公司负责建立全部的IT环境,收集用户需要的基础数据并且做数据分析,最后对分析结构或者算法提供编程接口,让数据成为服务。
如图:
DaaS是大数据时代的象征,能做DaaS服务的云端公司需要从数据积累、数据分析和数据交付三方面积累自身的核心竞争力。