随着Windows和Internet时代的来临,个人的力量变得越来越微薄。那些耳熟能详的程序英雄的名字渐渐地离我们远去,个人单打独斗的时代一去不复返。而云计算横空出世改变了这一切。它强大的计算能力、存储能力和简单高效的编程接口,使得一位程序员能够轻松地操控成台计算机,而不必考虑太多的细节。云计算时代,仿佛又让我们感觉到个人英雄时代伸手可及。

程序英雄时代的衰落

WPS作者求伯君、KV杀毒软件作者王江民、五笔字型作者王永民、中文之星作者王志东、UDDOS作者鲍岳桥和简晶、CCDOS作者吴晓军、自然码作者周志农CCED者朱崇君……每一个名字都代表一个奇迹!

三岁因小儿麻痹症而落下终身残疾,三十八岁才接触电脑的王江民,在1996年带着他无师自通编写的KV6杀毒软件来到中关村,一周赚了150万。一年后,KV杀毒软件占据了通用软件40%以上的市场份额。一夜之间,王江民成为中关村最受人景仰的软件英雄——程序英雄们的故事,曾经是多么辉煌!

然而,随着Internet大浪潮席卷而来,程序英雄们开始隐身幕后。虽然一部分程序英雄成功转型,鲍岳桥和简晶创办联众,王志东创办了新浪,雷军创办了卓越……但谁都清楚,他们是创办者,是管理者,不再是署在他们网站“封面”上的作者了。从那时起,除了一些小软件外(其中不乏成功案例,如NetAnts等),已经很少有人能够与某个知名软件划等号了。

日渐沉重的Winux时代

随着IT从DOS时代向Windows时代过渡,软件系统开始变得越来越复杂,程序开发变成了软件工程。软件除了开发过程外,还有运作过程、维护过程。首先,需要进行问题分析,形成软件需求规约,再进行需求分析,生成功能规约。然后,要进行概要设计和详细设计。接着,实现活动把设计结果转换为可执行的程序代码。软件研制的分工越来越细,有的人做数据库访问层,有的人做业务逻辑层,有的人做用户界面层;软件开发的整个过程,都有不断确认活动保证最终产品满足用户的要求;软件部署后,还有维护活动包括使用过程中的扩充、修改与完善。伴随以上过程,还有管理过程、支持过程、培训过程等

不仅软件开发和运维过程越来越复杂,软件的规模也越来越大。我们从Windows代码行数就可以看出端倪:Windows 95是1500万行,Windows 98是1800万行,Windows 2000是2000万行,Windows XP是3500万行,而Windows Vista则高达5000万行。虽然比尔·盖茨经常在公众面前怀念只有几十KB的BASIC语言,Windows还是不可避免地变得越来越臃肿

由于坊间流传安迪-比尔定理,即比尔要拿走Intel CEO安迪所给的What Andy gives, Bill takes away公众于是怀疑是不是微软有意为之呢?以为不是。来看看以简洁为美的Linux就知道了。Linux各个版本源码的代码行数如图1所示。可以看出,Linux也是越来越庞大。在这一点上,Windows和Linux倒是有几分相象呢,不妨将之称作Winux,就像当年的Wintel一样。

 

图1 Linux各个版本源码行数

图1 Linux各个版本源码行数

由于代码量巨大,软件越来越不可能单靠个人的力量就能完成。例如,Windows 2000开发团队有900位开发人员,还配有1800位测试人员。同时,又由于软件系统极其庞大,出现各种Bug的可能性大增,给维护工作带来巨大的挑战。例如,Windows XP迄今已经打了上千个补丁。每一个补丁都需要耗费大量人力。所以说,在Winux时代,软件业的个人英雄是很难出现的。

云计算时代程序英雄重现

2006年8月,刚从大学毕业的史蒂维·克里弗顿,发现人们有把照片变成Flash短片的需求,于是架了几台服务器,创办了一家名为Animoto的小公司。当时,Animoto网站每天只有5000位访客。然而,2008年4月,Facebook向其社区热情推荐了Animoto,使得在短短的3天里,就有75万人到Animoto网站注册。Animoto网站顿时不堪重负,变得慢如蜗牛,恶评铺天盖地而来。要扭转乾坤,必需增容100倍以上。这对既没有资本又没有增容技术能力的年轻人来说简直是灾难。在这个紧要关头,史蒂维的大学同学建议使用亚马逊提供的计算资源租用服务。从此之后,Animoto不再需要购买任何新的设备,有多少流量,就租用多少亚马逊的计算能力。用多少,付多少钱,既节省了成本,又获得了可以无限扩展的计算能力。如今这群年轻人已经赚了大钱。

亚马逊提供的这种计算资源租用服务就称为云计算。亚马逊研发了弹性计算云EC2和简单存储服务S3为企业提供计算和存储服务。在诞生不到两年的时间内,就有44万程序员在亚马逊上注册,开发各种各样的应用。

除了亚马逊外,Google、IBM、微软和Yahoo等大公司都建有云计算平台。云计算领域的众多成功公司还包括VMware、Salesforce、Facebook、YouTube等。Google搜索引擎就建立分布在200多个站点、超过100万台的服务器的云计算平台之上。Google的一系列成功应用,包括Google地球、地图、Gmail、Docs、Wave等也同样使用了这些基础设施。Google还提供了Google App Engine编程环境,供程序员们开发各种应用。微软于2008年10月推出了Windows Azure操作系统。Azure是继Windows取代DOS之后,微软的又一次颠覆性转型。Azure的底层是微软全球基础服务系统,由遍布全球的第四代数据中心构成。目前,微软已经配置了200多个集装箱式数据中心,服务器数量超过50万台。微软最新推出的Visual Studio 2010支持非常方便地开发云计算应用。

以前我们画网络图,用“一朵云”来代替网络。现在,云计算之所以称作“云”,就是因为其计算设施不在本地而在网络中。云计算是网络宽带化发展的必然结果,它一种商业计算模型,将计算任务分布在大量计算机构成的资源池上,使用户能够按需获取计算力、存储空间和信息服务。云计算的核心是可以自我维护和管理的虚拟计算资源池,通常由一些大型服务器集群构成。

有了云计算平台,程序员就可以动态申请所需资源,来支撑各种应用程序的运转,而无需为烦琐的细节烦恼。云计算使程序员能够更加专注于自己的业务,有利于提高效率、降低成本和实现技术创新。这一点,我们可以从一组间接的数据推断出来。iTunes、Facebook和Myspace都是面向特定应用领域、支持二次开发的公共平台。在2009年前18周,因金融风暴的影响,开发应用的程序员数量明显下降,而应用程序数量反大增(如图2所示。之所以如此,就是因为有了Facebook这样的支撑平台,程序员需要考虑的问题大大简化,工作效率大为提高。

 

 

图2 iTunes、Facebook和Myspace的应用程序数量增长

图2 iTunes、Facebook和Myspace的应用程序数量增长

依托亚马逊的云计算平台,有许许多多不拥有计算资源的公司取得了成功。例如,99designs是一个大规模的设计交易平台,目前已经收到超过53,000位设计师提供的多达300万件设计作品;Livemocha是一家在线的语言学习网站,提供超过25种语言的学习,并已经拥有了超过300万用户;Monografias是拉丁美洲的一个资料分享网站,每天有200万位访客;著名的互联网排名网站Alexa在亚马逊云计算平台上存储了超过1200万个数据对象,每天要提供超过500万次查询。

在我国,云计算已经掀起了IT企业转型热潮。中国电信与EMC合作,在上海构建了一个拥有2PB存储空间的云存储平台,称为e云。e云是安全的在线备份服务,可保护 云计算,程序,需求分析