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