如何看TCO在虚拟化解决方案中的分析与对比
所谓TCO (Total cost of ownership) 即总体拥有成本,是一种经常采用的技术评价标准,它的目标是分析和对比在一定时间范围内所拥有的包括首次购置成本TCA (Total cost of acquisition) 和每年运维成本在内的总体成本。在某些情况下,这一总体成本是一个为获得可比较的现行开支而对3到5年生命周期范围内的成本进行平均的值。
TCO的对比应该明确一个前提,就是IT系统的实现功能、性能、可靠性等方面基本相同,或者说满足用户需求的程度大致相同。如果片面追求TCO,忽视IT系统的最终表现,那就本末倒置了。TCO最好的系统未必是ROI(投资回报率)最好的系统。正如我们去商场买一双鞋的时候很可能没选价格最低的那款,TCO最好的solution也未必是最适合我们的。
既然这样,那么为什么我们不是直接看ROI,而是还要关注TCO呢?这是因为,TCO是分析ROI的基础。先要对I ( investment投资) 有所了解,再加上对预期获得R(return 回报)的分析才能得到ROI。而对R(return 回报)的分析在实际项目中已经超出了IT技术的范畴。比如,若干年前某部委要上的一个新项目,硬件选型时考虑的一点是“不能比海关刚上的某系统差”。这种攀比也是在R范围内的。当然,在报告中,我们会用所谓项目的先进性来说明这种回报。诸如“国内领先”,“填补国内空白”,“国际领先”之类的。曾经听人调侃过,“填补国内空白并不难,因为国内。。。一片空白”。总之,R(回报)部分就看用户的管理层怎么看,CEO/CIO/CFO/CTO们觉得回报高,值得搞,那么项目的希望就大。而IT顾问和试图推荐软、硬件产品的厂商还是将重点放在solution的TCO上为好。毕竟,如果真有能力影响到用户高层的决策,这些就都可以省略了。
在现在的IT市场环境下,有个有趣的现象,大谈特谈TCO的并不是那些看上去比较低成本的解决方案,反倒是那些“高大上”的解决方案。那么这些看上去价格不菲的解决方案真的有更低的TCO吗?或者说,它们是怎么把TCO算到更低的呢?下面我们来分析一下最常提到的虚拟化解决方案
在谈论虚拟化解决方案时,我们经常可以听到类似这样的描述:“虚拟化和系统整合可以帮助用户降低TCO。”似乎用上了虚拟化,将多个IT应用系统整合到一起来管理,就会降低TCO。但是,需要注意,说的是“可以降低TCO”,而不是“一定降低TCO”。其实,虚拟化和整合不一定会降低TCO。或者说,需要考虑的因素还是很多的。
我们看一下,虚拟化和整合降低TCO的理由或者说因素有哪些。主要有四个方面:1)通过整合,提高资源利用率,降低对整体硬件配置的需求;2)降低能耗;3)降低机房需求;4)降低运维管理费用。下面我们逐条来分析。
先讨论“通过整合,提高资源利用率,降低对整体硬件配置的需求”方面。有调查说,非虚拟化系统平均系统使用率在5%-20%之间,而充分虚拟化的系统利用率可以达到60%。我并不怀疑这个说法,因为应用系统的需求是有波动的,为了满足峰值时正常响应的需求,闲置和低负载时系统使用率必然很低。但是,虚拟化整合后平均使用率达到60%是非常困难的。我见过的例子都是有几十个国际化的应用运行在同一台服务器上达到的。所谓“国际化”是指使用这些应用的用户在不同半球的不同时区上,就是说他们白天上班时我们晚上在睡觉。同时,我们要注意到,上面提到的利用率主要是指CPU的利用率。而IO的虚拟化整合要更为复杂,无论是NPIV共享SAN的技术还是虚拟网卡共享LAN的技术,都需要有良好的规划和复杂的机制来避免性能干扰。关于内存方面,更是难解,因为应用申请和释放内存并不像使用cpu时间那样容易动态,现实的应用场景很难用到内存的动态共享技术。也就是说,内存仍然需要非虚拟化时那么多,甚至还要更高,因为有overhead(管理开销)。而几十个应用共享一台服务器,必然要求这台服务器配置极高。我们知道,高端和低端服务器的价格差别是巨大的,一台128core/512线程的server价格绝对不会仅仅是8core/32线程的16倍。其维护、保修等成本也更高且不具有灵活性。综上所述,“充分虚拟化的系统利用率可以达到60%”是有条件的,目前和我们真实用户的现状有很大差距,只能说是个理想。这一部分的成本降低并不是那么容易。
再来说一下“降低能耗”方面。毋容置疑,新的整合方案一般都可以大幅降低原有系统的能耗需求。但是,我们要注意这是与原有遗留系统来对比的。我们都知道,计算机的性能发展很快,每隔一年半性能差不多翻一番。所以能耗比(性能/功耗)也会随之大幅提高。新系统比遗留系统节能是正常的,其中有多少是虚拟化贡献的要看情况。这与上一条是密切相关的,只有良好规划,切实提高利用率的情况下,才能更节能。节能是很重要的,特别在我们越来越重视绿色环保的现在。有的大型机房的耗电是非常惊人的,每天的电费都在万元以上。有的企业现在可能还不太重视,特别是IT运维部门一般不太关心。这个问题也许CFO会更关心(需要关心的事太多,逐渐完善吧)。
关于“降低机房需求”方面,我觉得虚拟化会有帮助,毕竟机器数量变少了。一台32core的server也许和一台4core的server都占4U空间。机房也是很费钱的,如果原有机房满了,需要新建一个机房,建设费用上千万是正常情况,还不包括住建费用。当然,有的用户即使没有几个应用也需要一个体面的“高大上”的机房,就另当别论了。
最后来看一下“降低运维管理费用”方面。这才是真正大幅降低费用的地方。笔者曾经研究过IBM的SCON等系统整合工具。看到估算里TCO改进最大的部分就是运营管理的费用。这不难理解,因为原来每套IT应用系统分开管理,而虚拟化后,管理平台统一管理成为必然。没有办法把硬件分开,server、网络、SAN存储都会整合到统一的管理平台。权限的整合必然会适应系统的整合,人员会精简。老外的人员费用是很高的,所以IBM的SCON等工具推算出的管理费用变化会很大。虚拟化后TCO更好了。但是,这适用于中国的用户吗? 我们大多数的用户还不是轻易考虑裁人的。“不赚钱(或者赚得少)就卖掉”这种“business is business.”的思维方式容易理解,但中国用户大多不会那么纯粹地做。正如IT界里很多人并不理解IBM当年卖掉Thinkpad,现在卖掉x86 server一样。
另外需要提醒一下,虚拟化还会带来附加成本。无论您使用的是付费的管理软件如VMware,还是开源的管理平台,都会有使用或者开发的成本。而且这个成本会随着用户使用的规模而增长。即使用户自身有强大的开源和运维能力,那自身的人员成本也必然是不小的开销。
如果您读到这里,您也许觉得我是一个虚拟化技术的反对者。不,其实我完全看好并支持虚拟化的发展。我是觉得任何技术都不能只说优点不提局限性。虚拟化优点太多,被各个厂商的推广者天天说,日日说,年年说。我也说过很多。在这里说点局限性来平衡一下我个人以前的唱多言论吧。毕竟,平衡的,才是持久的。希望大家把虚拟化用得越来越好。
如何看TCO在虚拟化解决方案中的分析与对比,布布扣,bubuko.com