文 / 刘鹏
曾几何时,那些耳熟能详的程序英雄的名字渐渐地离我们远去。随着Windows和Internet时代的来临,个人的力量变得越来越渺小。正当我们开始坚信单打独斗的时代一去不复返的时候,云计算横空出世了。它强大的计算能力、存储能力和简单高效的编程接口,使得一位程序员能够轻松地操控成 千 上 万 台计算机,而不必考虑太多的细节。云计算时代,仿佛又让我们感觉到个人英雄时代伸手可及。
程序英雄时代的衰落
WPS作者求伯君、KV杀毒软件作者王江民、五笔字型作者王永民、中文之星作者王志东、UDDOS作者鲍岳桥 和简晶 、CCDOS作者 吴晓军、 自然码作者 周志农 、 CCED 作 者朱崇君 …… 每一个名字都代表一个奇迹!
三岁因小儿麻痹症而落下终身残疾,三十八岁 才接触 电脑 的王江民,在 1996年带着 他无师自通编写的 KV6 杀毒软件 来到中关村,一周 就 赚了150万。 一年后, KV杀毒软件占据了 通用软件4 0% 以上 的市场 份额 。一夜之间,王江民成为中关村最受人景仰的软件英雄—— 程序英雄们的故事,曾经是多么辉煌!
然而,随着 Internet 大浪潮 席卷 而来,程序英雄们开始隐身幕后。虽然一部分程序英雄成功转型, 鲍岳桥和简晶创办 了 联众,王志东创办了新浪,雷军创办了卓越 …… 但谁都清楚,他们是创办者,是管理者,不再是署在他们网站“封面”上的作者了。从那时起,除了一些小软件外(其中不乏成功案例,如NetAnts等),已经很少有人能够与某个知名软件划等号了。
日渐沉重的Winux时代
随着IT从DOS时代向Windows时代过渡,软件系统开始变得越来越复杂,程序开发变成了软件工程。软件除了 开发过程 外,还有 运作过程、维护过程。 首先,需要进行问题分析,形成软件需求规约,再进行需求分析,生成功能规约。然后,要进行概要设计和详细设计。接着, 实现活动把设计结果转换为可执行的程序代码。 软件研制的分工越来越细,有的人做数据库访问层,有的人做业务逻辑层,有的人做用户界面层;软件 开发 的整个 过程, 都有不断 确认 的 活动 , 保证最终产品满足用户的要求 ;软件部署后,还有 维护活动 , 包括使用过程中的扩充、修改与完善。伴随以上过程,还有管理过程、支持过程、培训过程等 。
不仅软件开发和运维过程越来越复杂,软件的规模也越来越大。我们从Windows代码行数就可以看出端倪:Windows95是1500万行,Windows98是1800万行,Windows2000是2000万行,WindowsXP是3500万行,而WindowsVista则高达5000万行。虽然比尔· 盖茨 经常在公众面前怀念 只有几十K B的BASIC语言,Windows还是不可避免地变得越来越臃肿 。
由于坊间流传 安迪-比尔定理,即比尔要拿走 IntelCEO 安迪所给的 ( WhatAndygives,Billtakesaway ) 。 公众于是怀疑是不是微软有意为之呢? 我 以为不是。来看看以简洁为美的 Linux 就知道了。Linux 各个版本源码 的代码行数如图1所示。可以看出,Linux也是越来越庞大。在这一点上,Windows和Linux倒是有几分相象呢,不妨将之称作Winux,就像当年的Wintel一样。
由于代码量巨大,软件越来越不可能单靠个人的力量就能完成。例如,Windows2000开发团队有900位开发人员,还配有1800位测试人员。同时,又由于软件系统极其庞大,出现各种 B ug的可能性大增,给维护工作带来巨大的挑战。例如,WindowsXP迄今已经打了上千个补丁。每一个补丁都需要耗费大量人力。所以说,在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还提供了GoogleAppEngine编程环境,供程序员们开发各种应用。微软于2008年10月推出了WindowsAzure操作系统。Azure是继Windows取代DOS之后,微软的又一次颠覆性转型。Azure的底层是微软全球基础服务系统,由遍布全球的第四代数据中心构成。目前,微软已经配置了200多个集装箱式数据中心,服务器数量超过50万台。微软最新推出的VisualStudio2010支持非常方便地开发云计算应用。
以前我们画网络图 时 ,用“一朵云”来代替网络。现在,云计算之所以称作“云”,就是因为其计算设施不在本地而在网络中。云计算是网络宽带化发展的必然结果,它 是 一种商业计算模型,将计算任务分布在大量计算机构成的资源池上,使用户能够按需获取计算力、存储空间和信息服务。云计算的核心是可以自我维护和管理的虚拟计算资源池,通常由一些大型服务器集群构成。
有了云计算平台,程序员就可以动态申请所需资源,来支撑各种应用程序的运转,而无需为烦琐的细节烦恼。云计算使程序员能够更加专注于自己的业务,有利于提高效率、降低成本和实现技术创新。这一点,我们可以从一组间接的数据推断出来。iTunes、Facebook和Myspace都是面向特定应用领域、支持二次开发的公共平台。在2009年前18周,因金融风暴的影响,开发应用的 程序员数量明显下降 ,而 应用程序数量反 而 大增 (如图 2所示 ) 。之所以如此, 就是 因为有了 Facebook 这样的支撑平台, 程序 员需要考虑的问题大大简化,工作效率大为提高。
依托亚马逊的云计算平台,有许许多多不拥有计算资源的公司取得了成功。例如, 99designs 是一个大规模的设计交易平台,目前已经收到超过53,000位设计师提供的多达300万件设计作品; Livemocha 是一家在线的语言学习网站,提供超过25种语言的学习,并已经拥有了超过3 00 万用户; Monografias 是拉丁美洲的一个资料分享网站,每天有2 00 万位访客;著名的互联网排名网站 Alexa 在亚马逊云计算平台上存储了超过1200万个数据对象,每天要提供超过5 00 万次查询。
在我国,云计算已经掀起了IT企业转型热潮。中国电信与EMC合作,在上海构建了一个拥有2PB存储空间的云存储平台,称为e云。 e云是安全的在线备份服务 ,可保护 数据不受文件损坏 、 意外删除 、 硬件问题等灾难的影响。 然而,已建的云计算数据中心基本上是以私有云的形式存在的,外界无法访问其服务。目前,对国内程序员而言,要么可以用外币信用卡购买国外的云计算服务,要么还需要等待一小段时间才能用上云计算服务。使用国外的云计算服务,除了支付上的困难外,还有网络访问速度的障碍 —— 除非你的网站主要面向国外。可以预见,国内的云计算平台提供商将主要是中国移动、中国电信和中国联通三家运营商。当前, 中国移动已经建成1000台服务器、5000个CP U 核心 、 3 000TB存储 规模的 “ 大云 ” 试验 平台 。 2010年5月21日,中国移动在第二届中国云计算大会上 发布 了 “ 大云 ” 1.0 版本, 已实现分布式文件系统、分布式海量数据仓库、分布式计算框架、集群管理、云存储系统、弹性计算系统、并行数据挖掘工具等关键功能。 中国移动已经发放了一些试用帐号,相信很快将开放出来给公众使用。
由于众多新技术的运用和规模效应,在性能价格比上云计算相对传统计算模式能够惊人地提升5-40倍。目前众多的企业开始布局云计算, 百度、阿里巴巴、瑞星、微软、 天云科技、广达电脑、讯鸟等公司都在大规模招聘云计算研发人才。广达电脑居然一次性招聘700位云计算人才。而目前真正接触过云计算研发的人实在是太少了,所以许多招聘岗位都在虚位以待。对于程序员而言,如果能够实现向云计算转型,是一个提升自身含金量的绝佳机会。
在等待中国的云计算平台变得可用期间,希望大家不要闲着,赶快学习云计算吧!学习云计算的几个途径: ( 1 ) 认真学习云计算 相关 教材; ( 2 )登录 CSDN云计算频道 ( http://cloud.csdn.net/ )和 中国云计算 ( http://www. chinacloud.cn ) 网站获取丰富的资料; ( 3 ) 关注新浪网微博“云计算”话题 ( http://t.sina.com.cn/k/云计算)以获取最新云计算信息; ( 4 ) 动手进行云计算开源平台搭建和编程试验,可从Hadoop(类似Google云计算)或Eucalyptus(类似Amazon云计算)入手。
作者简介:
刘鹏,解放军理工大学教授、学科带头人,中国云计算专家委员会委员。2002年首倡的“计算池”和2003年研发的“反垃圾邮件网格”与当今云计算和云安全本质相同。曾获“全军十大学习成才标兵”、“南京十大杰出青年”和“清华大学学术新秀”等称号。