别云雾了,我们先想想一个简单的问题,如果想让计算机变强,怎么办?
那还不简单,加CPU,加内存,加硬盘。
老板,我身上的孔已经被插满了啊!
简单,换更高级的CPU,换新的DDR内存,换新的SSD硬盘。
老板,那个死摩尔定律告诉我,新硬件更新没有这么快啊,有没有更快更好的特效药!
显而易见,还有一种办法,就是利用更多的机器。只是需要解决一个大问题,就是不同的机器如何协同工作。好比一个小项目,原来一个人写,只要加加班,也能快速搞定。现在,这个项目太大了,一个人加班不解决问题,需要1000个人来一起搞,怎么知道谁在工作,谁在偷懒?项目就必须引入项目管理,机器就引入并行计算。
并行计算,理解起来也简单,好比项目管理里面,把一个小任务,拆成1000份,每人同时开始干,每人干一份,如果以前1个人需要干1000小时,现在1000个人1小时就干完了。对,就这么回事,并行计算很简单,这个就是云计算的基础。
真聪明,原来做项目这么简单,我加人就好了!
老板,有一个很大很大的项目,我申请加10000人。
啪,你脑袋瓜子被驴踢了,10000人来了,坐哪里?
我杭州一个办公室,北京一个呗,杭州5000,北京5000人。
啪,杭州都坐在一起,做事好商量,杭州的进展怎么同步北京?
额,这还真是个问题,需要解决的问题还真多!
老板,XX员工前不久生病了,他的任务一直没人做,现在,我们整个项目受影响了,项目不能按时交付。
啪,你怎么搞得,也不安排一个人替代一下?
别人已经有工作了啊!
啪,你不能把这个工作再切分成999份,每人做一份?
老板,他能力比较强,为啥我分的跟他一样多啊!
啪,你不能按照能力来分配任务啊?
额,这还让人活不!
老板,我们现在人太多了,人不能闲在这里。
啪,你不会考虑一下把这些人卖出去,给别人开发项目。
但是,别人只要半个人,或者几个小时的工作量,我们一个人一个人的太多了。
啪,你不会把一个人拆成几个虚拟的人啊,或者按工时卖就行了。
老板。
干嘛?
我不想干了,我想回家!
看明白了,想要管理这么多机器,做这么多事情,还真不简单,还要有人管协调分工(并行计算),有人管理谁多谁少(负载均衡),还需要容许别人生病、辞职(热备冗余),还需要解决卖半个人,甚至十分之一个人的问题(虚拟化)。。。
云计算(Cloud Computing)是分布式计算(Distributed Computing)、并行计算(Parallel Computing)、效用计算(Utility Computing)、 网络存储(Network Storage Technologies)、虚拟化(Virtualization)、负载均衡(Load Balance)、热备冗余(High Available)等传统计算机和网络技术发展融合的产物。
云计算早期,就是简单一点的分布式计算,解决任务分发,计算结果合并就好了。也曾经还有一个别名,叫网格计算。很多大企业早期可能也只是想解决自己的效率与计算问题,到后来,这些大佬发现,这个能力也可以提供给外部使用,所以,就出现了公共云(public cloud)计算 ,把计算机的计算能力直接放在网上卖出去。
我倒是觉得,阿里云提出来的水电煤基础设施能更好的解释云计算是什么,未来的云计算,就像我们使用水电煤气一样,我们从来不会想着去建电厂,也不关心电厂在哪里,只要插上插头,就能用电。
所以,真正的云计算一定有两个重要的基础条件:
1、计算资源的虚拟化,按计算能力购买才是真正的云计算,目前的虚机嘛,嗯,看不到机器心里不踏实。,
2、云计算能力的弹性伸缩能力,一定是想用多少就是多少,不用的时候就不要,目前的专有云嘛,嗯,机器不放在我这里心里也不踏实。
那么现在的云计算是什么?
嗯,社会主义初级阶段。