Scale out和Scale up的隐藏成本

Jeff Atwood在博客上发表了一篇文章,比较了scale out和scala up之间的隐藏成本,由此引发了一场热烈的讨论。

话题由plentyoffish.com的硬件升级引起。Markus的文章提到,plentyoffish将一台具有64GB内存、8个CPU的机器升级为一台型号为HP ProLiant DL785的7U服务器,这台机器拥有512GB内存和32个CPU。这是一次明显的scale up。经过Jeff的估算,这台机器的总成本大约为10万美金。如果使用scale out的形式,使用大量廉价的服务器来组件系统,这笔投资可以购买83台StackOverflow.com所使用的1U服务器。同样的投资,它们获得的资源分别如下:

  Scaling Up Scaling Out
CPUs 32 332
RAM 512 GB 664 GB
Disk 4 TB 40.5 TB

以微软的软件体系为准,Jeff又计算了软件授权的成本:

  Scaling Up Scaling Out
OS $2310 $33200
SQL $8318 $49800

此外,电费消耗对比如下:

  Scaling Up Scaling Out
Peak Watts 1200w 16600w
Power Cost / Year $1577 $21815

由此,Jeff提出这样的看法:

……scale up和scale out都是可选的方案,这涉及到你要解决的问题,你的资源(如资金,软件)等情况。……这样看来,只有在使用开源软件时,scale out才有较为明显的优势,因为scale out意味着较少的硬件投入,以及较高的软件授权成本。

Jeff的文章引来了许多评论,众多网友发表了自己的看法。

Oli认为这样的比较过于简单:

为什么没有考虑冗余?即使是10万美金的机器也可能崩溃,如果有一个集群的话就好多了。还有数据中心的费用,7U的服务器虽不便宜,但比83个1U服务器要便宜多了。

Douglas似乎认为这样的比较并不公平:

你的做法假设83台1U服务器的性能与一台7U服务器相同,这个自然需要更多授权/电费/机架的费用了。如果你购买7台1U的服务器,就只需要很少的投入,也不会增加太多的复杂度。

Ed认为即使是开源,scale out也会带来其他一些成本:

我们都知道“开源只有在时间是免费的情况下才会真正免费”。为83台服务器配备一个管理员的工资,一年下来可能就足够再买一台性能优越的机器了。别忘了还有其他的硬件投入,例如负载均衡……

不过larry认为这样的投入是值得的:

如果你想要有25%的性能提升,scale up只要你增加一些机器就行了。

这场讨论中还有不少网友发表了非常有价值的看法,例如对成本计算方式的意见,以及对scale out和scale up各方面考虑进行了详细归纳。还有网友提出虚拟化及云计算在scale方面的作用。如果您这方面感兴趣,也不妨加入这场讨论。

你可能感兴趣的:(Scale out和Scale up的隐藏成本)