今年年初,VMware CEO Paul Martz在VMworld欧洲大会上针对Google的云计算模式发表过一些评论:“他们(Google)根本没有意识到他们的系统之所以能支持海量数据,机器能扩展到如此规模,只是因为他们的程序和硬件都是根据Google的业务专门定制的”,抨击Google所谓的云计算只适用搜索引擎等少数几类应用。
考虑到Google在网民和技术人员中的口碑和信誉,VMware有点惹火上身的意思。不过仔细想想,Paul Maritz确实指出了一些值得琢磨的观点。就现在云计算的热度来讲,到底云计算是以Google模式为准,还是以虚拟化为方向,这其实是个挺严重的问题。
昨天在网上又看到一篇文章,题目叫《Bringing Cloud to Enterprise IT》,继续在讨论这个话题。作者在文中提到:“Google有一套有效而有趣的系统,但我们认为这套系统对于IT行业的绝大部分应用并不适用。”这句话可以理解为,不是所有的应用都适用于Google的系统。拿Google的BigTable和MapReduce来说,这些的确是很优秀的技术,可是对于用户来说有什么意义呢?你可以说:“我可以很省心,等我网站的用户多了之后,扩容很简单,我不用操心了。”但别忘了,前提是要等用户多到一定程度。对绝大多数的网站和个人站长来说,根本就见不到那么多用户。从更广的角度来看,国内有多少中小公司需要处理海量的数据呢?基本没有。而像通信,互联网行业的大企业又有多少业务需要几万台服务器同时工作呢?搜索、邮件、视频这些应用需要,网游、支付、股市行情等等很多应用并不适用Google的技术模式。“曲高和寡”是对这个现象贴切的比喻。
作者的另一个观点是:“用户希望他们的IT系统能更加有效的服务于他们的业务需求,而不是反之。用户不会考虑为了使用云计算,而重写或者修改他们的业务系统。”的确,从来都是后台支持前台。 如果要用户重写前台应用以便能在后台的云计算系统上运行,那真是“为了云计算而云计算”了。比如Google的AppEngine,实际情况并不是把把现有的代码上传到AppEngine里就可以运行了这么简单。除了只支持几种编程语言外,AppEngine还有其他种种技术限制。如果你的程序恰好使用了AppEngine限制的功能,那你只能考虑重写代码了。这样的问题使得AppEngine的门槛很高,也局限了AppEngine的应用领域。
相比Google的“曲高和寡”,基于虚拟化的云计算技术显得更平易近人。以Amazon EC2为例,任何人,任何公司,任何时间,任何业务量,都可以通过EC2租用资源。这更符合互联网“长尾”和“草根”的特征。而修改应用的问题在EC2上也不存在:因为使用的是虚拟机,用户可以很简单地把原来运行在物理服务器上程序迁移到虚拟机上。这降低了云计算的门槛,用户可以很容易地尝试云计算平台。另外也应该看到,以虚拟化为基础并不意味着排斥Google的模式,像Amazon就在EC2上推出Elastic MapReduce,同样支持海量数据处理。这也说明了虚拟化技术适用性广的优点。
虚拟化技术的灵活性,广泛的适用性和对已存应用程序的兼容性,使得基于虚拟化的IaaS平台在市场更易被用户接受。面对现在云计算“雷声大雨点小”的现状,能让用户接受的,能打开市场的就是硬道理。草根也就草根了。