最近收到朋友来信,说RedHat邀请大家参与它的云计算体验,而它的核心就是虚拟化,我一看就毛了,这哪跟哪嘛?联想到vmware目前也在试图和云计算接轨,所以我写下了如下文字,来和大家探讨一下。
我的判断,虚拟化不是云计算。
云计算是全新的一种计算模型,可以说,是一种全新的计算机,是由很多很多服务器,通过一定的网络拓扑,构建的一种专用型计算机系统,每台服务器,在这里面仅仅是一个计算单元,或者存储单元的角色。
虚拟化,顾名思义,就是利用现有计算机,虚拟另外一台计算机,通常呢,由于技术限制,虚拟的计算机不可能比虚拟平台本身的计算机好,也就是说,虚拟计算机的计算或存储、处理能力,只能无限逼近平台计算系统,但永远无法达到,更遑论超越。
这就说明,虚拟的计算机,比起虚拟机的运行平台,只能是虚拟更加老的,更加慢的,更加小的计算机系统,而不可能是正在用的计算机系统。目前我们看到的大多数虚拟平台,其实都遵从这一客观规律。
比如,vmware标配的虚拟运行平台,大约相当于P4早些时候的计算机,一般能虚拟2核的CPU,内存也不能超越平台计算机的内存,硬盘也小,等等。
这在做网络实验时,通过单台计算平台对多台虚拟机的虚拟运行,可以大幅度降低设备成本,利用很少的计算设备,获得很高的,大量的逻辑计算机来测试,但是,这显然不符合云计算的需求。我们知道,云计算,就是利用大量服务器的有机堆叠,集合,来实现大运算量,大存储量,大吞吐量的服务能力,它的主攻方向是“大”不是“小”。而使用虚拟技术,再在云计算平台上,虚拟出一台台小的PC机或其他计算机来玩,除了满足终端用户的使用习惯外,我看不出任何好处。
明明有3G的CPU频率,却偏偏要去虚拟1G的CPU,明明8G的内存,每个用户的应用程序只能用1G,明明上T的硬盘,每个用户只能用500M,这叫做倒退,而不是进步。
我们知道,计算的发展方向,一定是整合资源,通过动态负载均衡,将暂时用不到的资源,临时借用给loading高的应用需求,这才体现云计算的优势,即在一定范围内,通过资源的灵活分配和调度,使
每个用户仿佛都具有极大的计算资源,满足其需求。而不是把本来很大的资源,硬性地切成一小块一小块,再回到过去,单机的处理能力。
嗯,可能好的虚拟机算法,可以解决虚拟机之间的资源调度,我不排除这种可能,但是,这种基于通用需求的调度算法,看不见用户实际需求方向的优化,能起多大作用,我不清楚。
简单说,云计算,我认为中心思想是节约,利用有限的资源,为每个客户都提供尽可能大的计算服务,而不是简单地购买一大批计算机,或者虚拟一大批普通PC机,租给客户用,要知道,云计算几年的
租金下来,比买台PC机并不便宜,甚至更贵。使用中至少多了很多网络传输的费用,用户的个人计算机,一个计算在总线内完成,起码不用网络传来传去吧。那是要钱的。
【编辑推荐】