我们先想想一个简单的问题,如果老板想让服务器变强,怎么办?那还不简单,加CPU,加内存,加硬盘。
老板,我身上的孔已经被插满了啊!
简单,换更高级的CPU,换新的DDR内存,换新的SSD硬盘。
老板,那个死摩尔定律告诉我,新硬件更新没有这么快啊,有没有更快更好的特效药!(摩尔定律就是你当前价钱买到的CPU过18个月,再用这个价钱可以买到性能更强的CPU)
显而易见,还有一种办法,就是利用更多的机器。只是需要解决一个大问题,就是不同的机器如何协同工作。好比一个小项目,原来一个人写,只要加加班,也能快速搞定。现在,这个项目太大了,一个人加班不解决问题,需要1000个人来一起搞,怎么知道谁在工作,谁在偷懒?项目就必须引入项目管理,机器就引入并行计算。
并行计算,理解起来也简单,好比项目管理里面,把一个小任务,拆成1000份,每人同时开始干,每人干一份,如果以前1个人需要干1000小时,现在1000个人1小时就干完了。对,就这么回事,并行计算很简单,这个就是云计算的基础。真聪明,原来做项目这么简单,我加人就好了!
老板,有一个很大很大的项目,我申请加10000人。
啪,你脑袋瓜子被驴踢了,10000人来了,坐哪里?
我杭州一个办公室,北京一个呗,杭州5000,北京5000人。
啪,杭州都坐在一起,做事好商量,杭州的进展怎么同步北京?
额,这还真是个问题,需要解决的问题还真多!
老板,XX员工前不久生病了,他的任务一直没人做,现在,我们整个项目受影响了,项目不能按时交付。
啪,你怎么搞得,也不安排一个人替代一下?
别人已经有工作了啊!啪,你不能把这个工作再切分成999份,每人做一份?
老板,他能力比较强,为啥我分的跟他一样多啊!
啪,你不能按照能力来分配任务啊?
额,这还让人活不!
老板,我们现在人太多了,人不能闲在这里。
啪,你不会考虑一下把这些人卖出去,给别人开发项目。
但是,别人只要半个人,或者几个小时的工作量,我们一个人一个人的太多了。
啪,你不会把一个人拆成几个虚拟的人啊,或者按工时卖就行了。
老板。
干嘛?
我不想干了,我想回家!
看明白了,想要管理这么多机器,做这么多事情,还真不简单,还要有人管协调分工(并行计算),有人管理谁多谁少(负载均衡),还需要容许别人生病、辞职(热备冗余),还需要解决卖半个人,甚至十分之一个人的问题(虚拟化)
可以说云计算(Cloud Computing)是分布式计算、并行计算、效用计算、 网络存储、虚拟化、负载均衡、热备冗余等传统计算机和网络技术发展融合的产物
原文地址:http://blog.51cto.com/12598157/2117498