简单讲解,什么是云计算?

作者:拖雷
链接:https://www.zhihu.com/question/20124989/answer/89946061
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

云计算这个概念从提出到今天,差不多10年了。这10年间,云计算取得了飞速的发展与翻天覆地的变化,是继1980年代大型计算机到客户端-服务器的大转变之后的又一次巨变,先是机器越来越小,然后。。。然后就云里雾里了。


别云雾了,我们先想想一个简单的问题,如果想让计算机变强,怎么办?

那还不简单,加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. 云计算能力的弹性伸缩能力,一定是想用多少就是多少,不用的时候就不要,目前的专有云嘛,嗯,机器不放在我这里心里也不踏实。

那么现在的云计算是什么?

嗯,社会主义初级阶段

posted @ 2017-08-03 00:53  你好柴九  阅读(628)  评论(0编辑  收藏  举报