Google的免费午餐

06年时孟严写过一篇很有意思的"MapReduce, the free lunch is not over ?", 其中提到了C++大师Herb Sutter的文章,因为CPU主频的进一步发展受到制约,我们已经不能像从前几个时代那样期待软件性能可以随着CPU的性能水涨船高,从而,"The free lunch is over" 我们将不得不基于有限的CPU主频来应对日趋复杂的应用,唯一解决之道就是改变我们的编程模型,面向多核多CPU甚至多机的硬件架构来实现并行运算,这个过程可以称为Concurrent Programming.

但是包括分布式运算在内的Concurrent Programming, 并不容易实现。我们在开发CIC内部的分布式文本存储和索引引擎时,对此也深有体会。其中对编程思维最大的冲击是:单机的软件开发,大部分时间可以很放心的假设所有的硬件都是正常工作的,譬如你的CPU不会突然挂掉,硬盘不会有坏道,内存不是购自奸商等等;但是放在一个分布式的环境中,这一切假设都不成立了,不正常才是正常。借助一个简单的概率公式来演示,如果一台机器的可靠性是99,那么包含100台这样机器的分布式系统,其中有那么几台出状况的概率 就飙升到了63.4%(1-99%^100),更不要提还有网络设备可能造成的故障。这样恶劣的环境里,你要考虑计算的同步还有事务性,资源的调度,数据的安全性和冗余,系统整体的容错...... 如果未来每一个程序员写任何程序都要考虑这些情景,那么各位优快云版上兄弟姐妹就要提早教育自己的孩子,珍惜生命,远离编程。

好在孟严在文中给出免费午餐延续的另一可能,即Google"集群 - Googel Cluster,分布式文件系统 - GFS,分布式计算环境 - MapReduce,分布式结构化存储 - BigTable"等等。 只是这些优秀的技术,一直都是Google公司内部的盛宴,外人只有眼馋的份儿,好在还有开源的Hadoop 可以一定程度弥补大家的缺憾。不过对于很多公司来说,即便是配置Hadoop,也不是易事一件,此外还要考虑购买机器,网络带宽等等。

Google
新近推出的App Engine, 往免费的方向更近了一步(借用开源软件的术语,这里的free,是free beerfree,而非free speechfree)App EngineBlog 上对其特性有如下描述

  • 动态的Web 服务
  • Google Bigtable GFS 支撑的存储系统
  • Automatic scaling and load balancing
  • Google APIs for authenticating users and sending email
  • Fully featured local development environment


看看,从帐户管理,到有负载均衡的Web服务,到分布式存储后台,Google一揽子都替你做好了,同时还有相当慷慨的资源配额策略,譬如任何应用可以免费使用500M的存储空间,每天上下各10G的网络流量。

作为商业公司,Google此举当然不是搞慈善,免费午餐的背后,是叫人不得不佩服的Google思维及相应高超的实现能力,用免费的平台来吸引各类数据和应用,再用统一的权限管理来粘合所有应用,把一个个小团体的疆界打通,连成更大的团体。GoogleJeff Huber 去年说,关于哪个平台获胜的争论可以休矣,Web已经赢了, The Web is The Platform." 我们CIC前年在讨论互联网的趋势时提出的“Internet is THE Community”,也是类似的意思。于是我们看到Open Social,也看到了最近的App Engine

参考文章:http://www.infoq.com/cn/news/2008/04/google-app-engine-simplifies-web

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值