经常有人讨论这两者的区别,在这个行业时间长,听到的也自然很多,这里做一个总结。下面的观点,我想没有对和错,只是理解不同。 所谓虚拟化,虚拟机,vps,其实是差不多一个意思 所谓云计算,广义上肯定是包括一切,不过狭义一点,基本是指IaaS 其实是虚拟机和IaaS的联系和区别。 虚拟化是云计算 这个说法很早有,尤其商业厂商, vmware,微软,都是把以前叫虚拟化的产品,改名为云计算。 其实某种意义上,也对,虚拟化是云计算的初级阶段。对于企业来说,虚拟化,其实已经能完全满足需求,那其实这是云计算。相信云计算也是有不同的阶段,不同的层次。 API接口 没有api接口的,是虚拟化。有api接口的,是云计算。其实也挺有道理的。因为有api接口,你才可能和第三方调用。没有api接口,你只能通过管理界面,一个一个虚拟机创建。 不过现在很多虚拟化厂商也开始提供api接口,不过这只是部分功能的api接口。 如果说IaaS,云计算,必须提供全部功能的API接口,这个定义我还是很赞同的。 节点规模 有人说,10台的规模,是虚拟化,1000台,是云计算。其实也是有道理的。你管理机器的规模和你的管理方式有很大的联系。一个简单的例子,你10台机器的时候,创建虚拟机,制定物理节点,是一个刚需。当你的设备超过1k,那么你更多的是考虑放到哪个zone里。 分布式技术 有人认为采用分布式的技术,是云计算,例如如果你的存储是用本地存储,那么还是虚拟化,用了分布式,那么是云计算,网络也是类似。 这个观点,还是很深入人心,符合中国人很多观念。虚拟机都是分布式的,肯定不会有所谓的单点故障。 弹性扩展 这个更加深入人心。有弹性扩展的功能,是云计算,没有是虚拟化。不过大家对弹性扩展的理解,其实差异很大。对于虚拟机来说,是横向还是纵向扩展呢? 横向是指自动增加和减少机器的数量。 纵向是指自动增加和减少cpu和内存。 在这个行业混了那么久,坦白说,见到和我的理解的横向弹性扩展,是fit2cloud,真的是基于青云的上实现了自动扩展。纵向的是刻通云给我演示过。不过这个都是局限在linux下,windows下,目前还是很难做一个demo。 其实外面的很多demo演示。在真实场景下,其实根本是无法使用的。增加虚拟机容易,减少呢? 要想真正很方便实现弹性扩展,真的要求你平台,提供数据库服务,缓存服务,这样实现弹性扩展的难度会低很多。 自服务 支持用户自己创建虚拟机的,是云计算。依靠管理员创建虚拟机的,是虚拟化。其实也挺有道理。其实目前企业内部,目前用户还是没有习惯自服务。那么无论用啥平台,可能还是虚拟化。