Google App Engine 世界观(1)--网络即计算机

这两天工作比较忙,一直没时间上来。

不过,脑子可没有闲着,一直在思考GAE的本质,以及应该用什么思维去思考GAE的开发模型。希望能理出一条思路来。

这里把一点心得share出来,还很不成熟,呵呵,还是那句话:一家之言,欢迎拍砖啊。

我首先想到的是“网络即计算机”这句话。

我们知道,冯诺依曼体系架构,计算机由CPU(计算单元),总线(数据传输线路),内存和硬盘等外存构成,现在的计算机,不管怎么做,总在这几样上面变来变去,并行系统,多核系统,其实就是扩充了多个CPU,存储服务器,无非是扩充了外存等。

那么,我们如何看待网络上的计算机呢?

我的理解,网络上,大大小小的计算设备,其实可以看做一个宏概念上的计算机,首先,所有的计算设备,或多或少,都有自己的CPU,因此,这么多个CPU,其实共同组成了一套并行计算系统。此时,网线就好比总线,负责数据传来传去,每个计算机的内存,共同组成了这台“大计算机”的内存,硬盘就不用说了。

这么来理解,我们大约能知道一点GAE的特性了。我觉得可以把它想象成一台大型的并行计算系统,我们的应用,不管在这个计算系统下哪个CPU来运行,总之是运行了,能为我们提供服务了,至于这个CPU是Intel的,还是AMD的,或者其他什么公司的,我们不关心。

那么,这个系统对我们有什么意义呢?

这和我们单机PC开发思维有很大不同,我们长期以来在PC机做开发,习惯性的认为,计算机就应该让我们掌握一切,我的计算机,功能一定要很强大,CPU速度不够,就买快的,硬盘小了,加个大的,内存不够,买条子,我觉得,恰恰是这种“拥有感”,花费了我们大量的资金,同时也阻碍了我们的进步。

由于有PC的存在,我们习惯性地把计算能力和一台具体的计算机结合起来看待,很难想象出,一个计算资源,可以脱离计算机个体的存在而存在,这就好比,把计算机砸了,我们就不会计算一样。

事实上不是这样,在网络上,计算设备是计算设备,计算能力是计算能力,计算设备是物理的,而计算能力是逻辑的,我们只有一台PC机,机器坏了,我们就没得用,但如果我们拥有一个网络计算机的登录账号,则不管这个网络计算机里面哪台坏了,我们照样可以登陆使用,这种无视个体设备好坏的计算资源提供,我的理解,恰恰是GAE提供给我们最宝贵的东西。

因此,我第一个理清楚的思路,就是把GAE看做一台计算机。

这说明,我们使用GAE这台计算机,一方面,在计算能力上,和普通的PC机并无太大不同,甚至更强大,更安全,但另一方面,我们无需关心是那一台计算机在为我们服务,我们只是享受这个“云”的服务。

那么,GAE计算机,和PC计算机,有什么不同呢?

以前的理财顾问,老是喜欢给别人讲一个故事:十年前,甲和乙两个人都有10万块钱,甲买了汽车,乙买了房子,十年后,汽车已经报废,乙的房子涨到了50万,这说明,理财是多么重要啊!

ok,现在我也给大家讲一个理财的故事:

今天,我和你,都有10万元钱,我们都想发布一个网站。你呢,选择自己购买服务器,托管到电信机房发布,把10万就花出去了,我呢,在GAE发布,刚开始不需要花钱。

我假设我们在运行期间都是健康的,利用顾客交的钱,负担带宽流量等运营成本。并一直保持正数,不会亏本。

10年后,我们都赚到钱了,但是,你至少多花了第一笔10万,就是比我少了10万的利润,另外,10年期间,你可能需要至少换一次服务器,再花5万,而GAE不存在服务器报废这个问题,因此,最终的结果,就是我比你多赚15万。

这就是GAE带来的价值。可能不一定准确,但是基本上是这个道理。

因此,希望大家能理解,计算设备,和计算资源,是完全没有关系的两件事情,我们长期买PC机买习惯了,以为要获得计算能力,一定要先买计算设备,其实不一定正确的,计算能力是可以租用的,事实上,我们很多时候,也不需要7*24小时的计算能力,而计算设备的折旧,可是标准7*24小时不间断的。

从商务角度考虑,租很多时候,比买划算的。大家说是不是这个理?

你可能感兴趣的:(网络,Google,APP,计算机,世界观)