科普文:云计算、大数据和人工智能(二)

6

虚拟化的半自动和云计算的全自动

要说虚拟化软件解决了灵活性问题,其实并不全对。因为虚拟化软件一般创建一台虚拟的电脑,是需要人工指定这台虚拟电脑放在哪台物理机上的。这一过程可能还需要比较复杂的人工配置。所以使用VMware的虚拟化软件,需要考一个很牛的证书,而能拿到这个证书的人,薪资是相当高,也可见复杂程度。

所以仅仅凭虚拟化软件所能管理的物理机的集群规模都不是特别大,一般在十几台、几十台、最多百台这么一个规模。

这一方面会影响时间灵活性:虽然虚拟出一台电脑的时间很短,但是随着集群规模的扩大,人工配置的过程越来越复杂,越来越耗时。另一方面也影响空间灵活性:当用户数量多时,这点集群规模,还远达不到想要多少要多少的程度,很可能这点资源很快就用完了,还得去采购。

所以随着集群的规模越来越大,基本都是千台起步,动辄上万台、甚至几十上百万台。如果去查一下BAT,包括网易、谷歌、亚马逊,服务器数目都大的吓人。这么多机器要靠人去选一个位置放这台虚拟化的电脑并做相应的配置,几乎是不可能的事情,还是需要机器去做这个事情。

人们发明了各种各样的算法来做这个事情,算法的名字叫做调度(Scheduler)。通俗一点说,就是有一个调度中心,几千台机器都在一个池子里面,无论用户需要多少CPU、内存、硬盘的虚拟电脑,调度中心会自动在大池子里面找一个能够满足用户需求的地方,把虚拟电脑启动起来做好配置,用户就直接能用了。这个阶段我们称为池化或者云化。到了这个阶段,才可以称为云计算,在这之前都只能叫虚拟化。

7

云计算的私有与公有

云计算大致分两种:一个是私有云,一个是公有云,还有人把私有云和公有云连接起来称为混合云,这里暂且不说这个。

私有云:把虚拟化和云化的这套软件部署在别人的数据中心里面。使用私有云的用户往往很有钱,自己买地建机房、自己买服务器,然后让云厂商部署在自己这里。VMware后来除了虚拟化,也推出了云计算的产品,并且在私有云市场赚的盆满钵满。

公有云:把虚拟化和云化软件部署在云厂商自己数据中心里面的,用户不需要很大的投入,只要注册一个账号,就能在一个网页上点一下创建一台虚拟电脑。例如AWS即亚马逊的公有云;例如国内的阿里云、腾讯云、网易云等。

亚马逊为什么要做公有云呢?我们知道亚马逊原来是国外比较大的一个电商,它做电商时也肯定会遇到类似双十一的场景:在某一个时刻大家都冲上来买东西。当大家都冲上买东西时,就特别需要云的时间灵活性和空间灵活性。因为它不能时刻准备好所有的资源,那样太浪费了。但也不能什么都不准备,看着双十一这么多用户想买东西登不上去。所以需要双十一时,就创建一大批虚拟电脑来支撑电商应用,过了双十一再把这些资源都释放掉去干别的。因此亚马逊是需要一个云平台的。

然而商用的虚拟化软件实在是太贵了,亚马逊总不能把自己在电商赚的钱全部给了虚拟化厂商。于是亚马逊基于开源的虚拟化技术,如上所述的Xen或者KVM,开发了一套自己的云化软件。没想到亚马逊后来电商越做越牛,云平台也越做越牛。

由于它的云平台需要支撑自己的电商应用;而传统的云计算厂商多为IT厂商出身,几乎没有自己的应用,所以亚马逊的云平台对应用更加友好,迅速发展成为云计算的第一品牌,赚了很多钱。

在亚马逊公布其云计算平台财报之前,人们都猜测,亚马逊电商赚钱,云也赚钱吗?后来一公布财报,发现不是一般的赚钱。仅仅去年,亚马逊AWS年营收达122亿美元,运营利润31亿美元。

8

云计算的赚钱与情怀

公有云的第一名亚马逊过得很爽,第二名Rackspace过得就一般了。没办法,这就是互联网行业的残酷性,多是赢者通吃的模式。所以第二名如果不是云计算行业的,很多人可能都没听过了。

第二名就想,我干不过老大怎么办呢?开源吧。如上所述,亚马逊虽然使用了开源的虚拟化技术,但云化的代码是闭源的。很多想做又做不了云化平台的公司,只能眼巴巴的看着亚马逊挣大钱。Rackspace把源代码一公开,整个行业就可以一起把这个平台越做越好,兄弟们大家一起上,和老大拼了。

科普文:云计算、大数据和人工智能(二)

于是Rackspace和美国航空航天局合作创办了开源软件OpenStack,如上图所示OpenStack的架构图,不是云计算行业的不用弄懂这个图,但能够看到三个关键字:Compute计算、Networking网络、Storage存储。还是一个计算、网络、存储的云化管理平台。

当然第二名的技术也是非常棒的,有了OpenStack之后,果真像Rackspace想的一样,所有想做云的大企业都疯了,你能想象到的所有如雷贯耳的大型IT企业:IBM、惠普、戴尔、华为、联想等都疯了。

原来云平台大家都想做,看着亚马逊和VMware赚了这么多钱,眼巴巴看着没办法,想自己做一个好像难度还挺大。现在好了,有了这样一个开源的云平台OpenStack,所有的IT厂商都加入到这个社区中来,对这个云平台进行贡献,包装成自己的产品,连同自己的硬件设备一起卖。有的做了私有云,有的做了公有云,OpenStack已经成为开源云平台的事实标准。

9

IaaS, 资源层面的灵活性

随着OpenStack的技术越来越成熟,可以管理的规模也越来越大,并且可以有多个OpenStack集群部署多套。比如北京部署一套、杭州部署两套、广州部署一套,然后进行统一的管理。这样整个规模就更大了。

在这个规模下,对于普通用户的感知来讲,基本能够做到想什么时候要就什么什么要,想要多少就要多少。还是拿云盘举例子,每个用户云盘都分配了5T甚至更大的空间,如果有1亿人,那加起来空间多大啊。

其实背后的机制是这样的:分配你的空间,你可能只用了其中很少一点,比如说它分配给你了5个T,这么大的空间仅仅是你看到的,而不是真的就给你了,你其实只用了50个G,则真实给你的就是50个G,随着你文件的不断上传,分给你的空间会越来越多。

当大家都上传,云平台发现快满了的时候(例如用了70%),会采购更多的服务器,扩充背后的资源,这个对用户是透明的、看不到的。从感觉上来讲,就实现了云计算的弹性。其实有点像银行,给储户的感觉是什么时候取钱都有,只要不同时挤兑,银行就不会垮。

10

总结

到了这个阶段,云计算基本上实现了时间灵活性和空间灵活性;实现了计算、网络、存储资源的弹性。计算、网络、存储我们常称为基础设施Infranstracture, 因而这个阶段的弹性称为资源层面的弹性。管理资源的云平台,我们称为基础设施服务,也就是我们常听到的IaaS(Infranstracture As A Service)。


分享到:


相關文章: