云计算
云计算
Chpater 1 什么是云计算
不同于传统的计算机,云计算引入了一种全新的方便人们使用计算资源的模式,即云计算能让人们方便、快捷地自助使用远程计算资源。
计算资源所在地称为云端(也称为云基础设施),输入/输出设备称为云终端。
云终端就在人们触手可及的地方,而云端位于“远方”(与地理位置远近无关,需要通过网络才能到达),两者通过计算机网络连接在一起。
- 云计算中心的延时半径
一个云计算中心的延时半径通常为 100 毫秒,即一个数据包从云中心出发,50 毫秒所能到达的范围(返回也要 50 毫秒),这个数字与地理位置没有直接关系,而与网络路径上的转发机构和数目有关。比如深圳的超算中心 50 毫秒延时半径可能包括了美国的洛杉矶,但没有包括广东省内的梅州市,因为深圳与梅州市之间要经过太多性能低下的转发设备,而达到美国只经过少数几台高速路由器。
- 带宽
计算机网络的另一个指标是带宽,定义为每秒钟能传递的数据量。带宽越大,则每秒钟传递的数据量就越大。
- 丢包率
计算机网络的第三个指标是丢包率(或称为掉包率),是指在一定时间内被丢掉的数据包数目占总发送数据包数目的百分比。
- Overlay Networks
叠加网络,顾名思义就是在一张网络平面上叠加出更多层的网络平面,手法无非就是“包中之包”——把叠加协议和信息数据打包,作为底层网络平面传递的应用层数据。
实现叠加的最新技术有 VXLAN、NVGRE 和 STT,这些技术主要用来解决在大规模、多机房、跨地区的云计算中心部署多租户环境问题。叠加网络技术非常类似于在邮政系统上建立一个情报网络,利用现有的邮局来收发间谍情报。为了防止未经授权的人获取情报信息,需要先做加密处理,然后再放入信封,当然对方事先要知道解密方法。
叠加网络与虚拟局域网有着本质的不同,虚拟局域网通过分割一张大的局域网来减少广播风暴,本质是“分割”网络;而叠加网络是把“局域网”延伸到底层网络平面的任何地点,本质是“连通”。这里的“局域网”是虚拟的概念,对用户是透明的。
VPN 就是一个典型的在广域网中通过叠加网络技术构建地理位置跨度很大的局域网的例子,如果不采用叠加网络技术,那么一个公司很难或者根本不可能建立一个跨城市的局域网。
- 计算机网络解决位于不同地区的两台计算机之间如何通信的问题。
- 需要与外界通信的计算机必须拥有一个唯一的 IP 地址。
- 计算机网络的三个重要指标是带宽、延时和丢包率。
- 延时由网络路径上的转发机构的速度和数量决定,与通信双方地理位置的远近无关。
- 叠加网络技术解决了在广域网上灵活构建虚拟局域网的问题。
- IT 系统组成
一个典型的 IT 系统从逻辑上分为九层,施工时也是严格按照从第 1 层到第 9 层的顺序进行的,这就是所谓的“竖井”式施工。其中,第 1~4 层可归并为基础设施层,第 5~7 层可归并为平台软件层。
九层归并之后形成四层结构,分别是基础设施层、平台软件层、应用软件层和数据信息层,IT 系统的四层结构是最为普遍并被广泛接受的划分方法。
基础设施层、平台软件层、应用软件层可以进一步归并到 T(Technology 的首字母,表示技术),而数据信息层就是 I(Information 的首字母,表示信息),这就是 IT 的含义——信息技术。
- 中间件
“中间件”是一个技术含义很强的概念,在家庭计算机和个人计算机上很少用到它,在企业中使用很普遍。中间件也就是“中间软件”的意思,为一类软件的统称。
“中间”包含两方面含义:一是指处于操作系统和应用软件之间;二是指介于应用软件与应用软件之间,目的是为了隐藏差异,以便共享资源和通信。中间件有点类似于电源插座面板,不管插座里面是什么构造,面板上的插接孔都是一样的,这样插座面板一方面隐藏了插座内部结构,另一方面能接插所有的电源插头。
中间件的引入目的就是要隐藏通信对端的内部结构,而呈现统一的调用界面。
云计算具有 5 个基本特征、4 种部署模型和 3 种服务模式。
云计算的 5 个基本特征
1)自助服务
消费者不需要或很少需要云服务提供商的协助,就可以单方面按需获取云端的计算资源。
2)广泛的网络访问
消费者可以随时随地使用任何云终端设备接入网络并使用云端的计算资源。常见的云终端设备包括手机、平板、笔记本电脑、PDA 掌上电脑和台式机等。
3)资源池化
云端计算资源需要被池化,以便通过多租户形式共享给多个消费者,也只有池化才能根据消费者的需求动态分配或再分配各种物理的和虚拟的资源。消费者通常不知道自己正在使用的计算资源的确切位置,但是在自助申请时允许指定大概的区域范围(比如在哪个国家、哪个省或者哪个数据中心)。
4)快速弹性
消费者能方便、快捷地按需获取和释放计算资源,也就是说,需要时能快速获取资源从而扩展计算能力,不需要时能迅速释放资源以便降低计算能力,从而减少资源的使用费用。对于消费者来说,云端的计算资源是无限的,可以随时申请并获取任何数量的计算资源。
但是我们一定要消除一个误解,那就是一个实际的云计算系统不一定是投资巨大的工程,也不一定要购买成千上万台计算机,也不一定具备超大规模的运算能力。其实一台计算机就可以组建一个最小的云端,云端建设方案务必采用可伸缩性策略,刚开始时采用几台计算机,然后根据用户数量规模来增减计算资源。
5)计费服务
消费者使用云端计算资源是要付费的,付费的计量方法有很多,比如根据某类资源(如存储、CPU、内存、网络带宽等)的使用量和时间长短计费,也可以按照每使用一次来计费。但不管如何计费,对消费者来说,价码要清楚,计量方法要明确,而云服务提供商需要监视和控制资源的使用情况,并及时输出各种资源的使用报表,做到供/需双方费用结算清清楚楚、明明白白。
云计算的 4 种部署模型
1)私有云
云端资源只给一个单位组织内的用户使用,这是私有云的核心特征。而云端的所有权、日常管理和操作的主体到底属于谁并没有严格的规定,可能是本单位,也可能是第三方机构,还可能是二者的联合。云端可能位于本单位内部,也可能托管在其他地方。
2)社区云
云端资源专门给固定的几个单位内的用户使用,而这些单位对云端具有相同的诉求(如安全要求、云端使命、规章制度、合规性要求等)。云端的所有权、日常管理和操作的主体可能是本社区内的一个或多个单位,也可能是社区外的第三方机构,还可能是二者的联合。云端可能部署在本地,也可能部署于他处。
3)公共云
云端资源开放给社会公众使用。云端的所有权、日常管理和操作的主体可以是一个商业组织、学术机构、政府部门或者它们其中的几个联合。云端可能部署在本地,也可能部署于其他地方,比如中山市民公共云的云端可能就建在中山,也可能建在深圳。
4)混合云
混合云由两个或两个以上不同类型的云(私有云、社区云、公共云)组成,它们各自独立,但用标准的或专有的技术将它们组合起来,而这些技术能实现云之间的数据和应用程序的平滑流转。由多个相同类型的云组合在一起属于多云的范畴。
比如两个私有云组合在一起,混合云属于多云的一种。由私有云和公共云构成的混合云是目前最流行的——当私有云资源短暂性需求过大(称为云爆发,Cloud Bursting)时,自动租赁公共云资源来平抑私有云资源的需求峰值。
云计算的 3 种服务
1)软件即服务(Software as a Service,SaaS)
云服务提供商把 IT 系统中的应用软件层作为服务出租出去,消费者不用自己安装应用软件,直接使用即可,这进一步降低了云服务消费者的技术门槛。更详细的介绍参见后续章节。
2)平台即服务(Platform as a Service,PaaS)
云服务提供商把 IT 系统中的平台软件层作为服务出租出去,消费者自己开发或者安装程序,并运行程序。更详细的介绍参见后续章节。
3)基础设施即服务(Infrastructure as a Service,IaaS)
云服务提供商把 IT 系统的基础设施层作为服务出租出去,由消费者自己安装操作系统、中间件、数据库和应用程序。更详细的介绍参见后续章节。
云计算的精髓就是把有形的产品(网络设备、服务器、存储设备、各种软件等)转化为服务产品,并通过网络让人们远距离在线使用,使产品的所有权和使用权分离。正如洗衣店老板把洗衣机这种有形产品转化为洗衣服务一样,消费者直接投币自助洗衣,这样一方面提高了洗衣机的使用率,另一方面又降低了消费者购买洗衣机的支出。
洗衣店不是一种新的洗衣技术,而是一种新的洗衣服模式,可能洗衣店老板还会进一步细分市场,推出干洗服务、洗衣烘干一条龙服务等。
计算设备一旦转化为服务,使用率就会得到显著提高,设备的寿命反而会更长,因为电子产品不比机械产品会产生磨损,经常不开机的电子设备反而比常年开机满负荷运转的电子设备更容易出故障。
另外,作为计算资源的软件可以无限复制运行,这一点与洗衣店的洗衣机等物理设备有本质的不同,一台洗衣机被他人使用,就不能同时再被另外的人使用;而软件则没有这个限制,同样一个软件,可以同时给任意多的人使用。还有,计算资源使用率的高低与成本无关,对于一台计算机而言,直接的成本是用电费用,计算机空转与满负荷运转耗费的电力几乎相当;而洗衣店的用户越多,开启的洗衣机就越多,耗费的电力也就越多。
目前,世界范围内传统计算设备远远超过云端的计算设备,这些传统的计算设备由于没有共享,因此很多计算产能被白白浪费掉了。加入云端的计算设备在得到充分使用的情况下,云计算才算是“绿色”计算。
通过云计算,提供商把计算资源转化为服务产品并销售给用户,服务产品有别于其他的有形产品(如空调、桌子、啤酒、书籍等),所以有人提出了云计算的第 4 种服务模式——DaaS(数据即服务,就是出租 IT 系统的最顶层)。
这等同于说空调即服务、桌子即服务,这是不恰当的,因为数据是一种有形产品(以纸张、U 盘、磁盘作为载体,正如书籍是知识的载体),而且在目前的技术条件下,几乎不可能把数据转化为服务。服务的一个主要属性是所有权和使用权分离,使用一次服务能预先摊算费用。而用户一旦使用了一次数据,其实他就拥有了该数据,此后他可以无限制使用,而且还可能传播和转卖。
IT 系统的逻辑组成分为四层,自下至上依次是基础设施层、平台软件层、应用软件层和数据信息层。
- IaaS
“Infrastructure as a Service”的首字母缩写,意思是基础设施即服务,即把 IT 系统的基础设施层作为服务出租出去。由云服务提供商把 IT 系统的基础设施建设好,并对计算设备进行池化,然后直接对外出租硬件服务器、虚拟主机、存储或网络设施(负载均衡器、防火墙、公网IP地址及诸如 DNS 等基础服务)等。云服务提供商负责管理机房基础设施、计算机网络、磁盘柜、服务器和虚拟机,租户自己安装和管理操作系统、数据库、中间件、应用软件和数据信息.
- PaaS
PaaS 是“Platform as a Service”的首字母缩写,意为平台即服务,即把 IT 系统的平台软件层作为服务出租出去。PaaS 的优势就是解决应用软件依赖的运行环境(如中间件、数据库、运行库等),其所依赖的软件全部由云服务提供商安装,所以当租户安装应用软件时,就不会再出现连续报错的情况。应用软件就像歌唱家,当其唱歌表演时需要一个舞台,这个舞台就是由基础设施层和平台软件层堆叠起来的。
- SaaS
SaaS 是“Software as a Service”的首字母缩写,意为软件即服务。简言之,就是软件部署在云端,让用户通过因特网来使用它,即云服务提供商把 IT 系统的应用软件层作为服务出租出去,而消费者可以使用任何云终端设备接入计算机网络,然后通过网页浏览器或者编程接口使用云端的软件。这进一步降低了租户的技术门槛,应用软件也无须自己安装了,而是直接使用软件,
租户与用户
以一个单位组织(如企业、部门或团体等)的名义去租赁云计算服务时,云服务提供商称呼该单位组织为一个租户,而一个租户包含若干个用户(单位内的员工),这些用户当中有的是该租户的管理员,有的是操作员等。
云服务提供商的五大任务包括服务部署、服务编排、云服务管理、安全保障和隐私保护。