淘宝帝国是如何创建的连载04

第四部分–淘宝技术核心技术员(风云人物列传)
正明——集团核心系统高级研究员

正明是集团核心系统研发负责人,高级研究员。为2012年“大淘宝技术委员会”会长,毕业于国防科学技术大学计算机专业,工学博士,曾任TelTel首席科学家,国防科技大学计算机学院副教授,RedHat 内核开发者,LVS 开源软件创始人,
ChinaCluster 的共同创办者。

子柳:首先恭喜你当选今年(2012年)“淘宝技术委员会” 的会长。2012年将是技术委员会运营的第三年,在年会上也有一些委员疑惑的声音,例如,技术委员会是一个虚拟的组织,没有调动资源的权利,很难主导一些工作之外的技术创新,作为本届

会长,你对这些声音有什么看法?

正明:技术委员会在淘宝成立有两年左右的时间了,发挥了不少积极的作用,例如“Job Model”的编写、“晋升考核”、“技术赛马”活动、“淘宝开源”等,技术委员会确实做了一些事情。可能我们宣传得比较少,呵呵。有人提到去年(2011年) 有个想法,但是跟业务线的关系不大,他去找那些主管,却要不到资源。其实像去年无锋做的“技术赛马”活动中的“taobao labs”项目,他也不是一个人做的,他找了好几个人,是跨团队的。那时技术委员会也出面,获得了菲青的支持,把外边的人员放进来,这样“taobao labs”得到了很好的开展。其实技术委员会是除了业务线之外的一个额外的渠道,在这里你能讲你的想法, 拿到资源。可能这方面我们宣传不够,很多技术小二不太知道。2012年我们要在这方面多宣传一下,包括提升技术委员会在整个技术小二中间的影响力,例如,它有哪些作用,有哪些功能等。

子柳:技术团队在去年被分离成了几个部分,但是技术应该还是一体的,在大淘宝的大氛围下,“大淘宝技术委员会”在其中担任的是怎样一个角色?起什么作用?这些会给整个淘宝带来什么影响?

正明:公司组织架构有不同的划分,这是业务的需要。“技术委员会”是一个纽带,可以把各个组织架构下的技术部门串在一起。“技术委员会”是技术人员的一个组织,它不承担一个具

体的业务线,它的互动和学习的功能会更好一些。这样能够使整个大淘宝的技术人员形成合力,共同推动淘宝技术的发展。

子柳:作为大淘宝技术委员会的新任会长,委员会在未来一年的技术规划有哪些可以和小二分享呢?

正明:这个规划不是自上而下的,而是技术委员会的各个分会对自己的发展做规划,现在有7个分会,未来可能要增加一个“无线分会”,主要由这些分会来做规划,自下而上的规划会更有生命力。作为技术委员会的“常委”,我们主要的职责是申请到更多的资源和大家一起设立好的激励机制,让分会有更多创新的想法,更自主、自发地开展工作。技术总会上我们也会策划对内对外的交流平台,例如,技术委员会的开放日,我们还会搭建技术委员会的网站,开展内部交流活动(例如“空享会”),每个分会有自己的发展基金,“技术委员会”也设立一些奖项用来激励“技术赛马”、“技术创新”等。对外我们继续支持“技术嘉年华”、“技术沙龙”、“Velocity”等。

子柳:你个人的技术经历非常丰富,在读研究生的时候就开发出了LVS系统,然后在国防科技大学教书,接着去创业,最后又加入淘宝网,能分享一下你这一路是怎么走过来的吗?

正明:我是在念博士的时候开始做的LVS,2000年开始在国防科技大学教学,2006年正式离开大学了,先是创业了一段时间,

两年前加入淘宝。

我在1998年做的LVS项目,到1999年的时候,基于这个项目已经有很多应用了。那时侯我有个同学在上海,复旦大学有个MBA的创业比赛,他问我有什么想法,我就把LVS这个项目给他描绘了一下,结果他拿着这个想法去参赛了,结果好像没有获奖,哈哈。后来我们觉得既然写了这个商业计划书,看着还有点机会,就找一些朋友看能不能拿到投资。在2000年年初的时候, 找到一笔种子基金,那时侯我还在学校里,我们成立了一个公司。当时正是互联网泡沫时期,我们也没什么经验,几百万元的钱我们一年就花完了。这就是我们第一次创业的过程,其实创业要考虑的事情很多,包括整个公司的运作、现金流、市场推广等。

(子柳:当时规模有多大?)规模最大的时候有40多人,在北京和上海两地。

( 子柳:那是一个什么样的项目?)我们网站的名字叫chinacluster.com,即中国集群网络有限公司,围绕LVS做负载均衡的设备和技术服务。

这样差不多一年的时间,公司关闭了,我还在学校教书,做科研。2001年,我结婚了,2002年,我太太博士毕业了,想去北京,她是校子弟,从小在国防科大的院子里长大,从幼儿园一直

到博士没出去过远门,等毕业了就想一定要离开这个地方。正好我有个同学在中科院软件所,我们学校派我跟他们合作一个项目,然后就去北京了。当时我们看整个计算机产业的发展, 一开始是大型机+哑终端,到现在是个人计算机的天下,这可以说智能从中心向边缘迁移,导致新的产业格局。然后我们看通信行业,当时整个通信体系把持在运营商手里,终端只负责接收和发送讯息。我们预见通信产业的智能也要往边缘移,网络的层面只要是个“笨网络”就可以,负责报文转发就行了(但目前来看,这个还是牢牢控制在运营商的手里)。当时AT&T 的一个研究人员研究了十几年的智能网,但后来他把自己的理论颠覆了,认为智能不应该在中心,研究智能网都是错误的, 智能应该在终端,我看了之后非常认同。他这个理念跟Bell实验室的研究是背道而驰的,后来他被解雇了。但我认为这是个潮流,一定会发生的,我们顺势而为,不求做出多伟大的东西, 搭上这趟车就能成功,于是我们就围绕着这个主题开始研究。我们看到SIP协议实际上是解决了两个Peer(对等端)之间通信的问题,借助一个Session能够找到对方。这个协议跟我们的理念是契合的,我们就研究这个SIP。但是现实中有很多家庭网关,它是私有IP地址,要做NET地址翻译才能找到公网。SIP协议是七层协议,不会考虑到私有IP,这样两个peer都在私网中, 怎么找到对方?NAT穿越就是一个问题。当时美国有一家公司Jasomi能做这个事情,一台Jasomi设备要卖好几万美元,很贵。我当时看了他们的规格,感觉也不是很难,正好北京非典爆发

了,我一个多月待在家里没啥事干,就把这个功能写出来了, 没人打扰时的工作效率真高。然后我们在硅谷通过思科找到做SIP Proxy的一个小公司Cathay Networks,他们也快没钱了,我们就合伙干。我们有了SIP相关的技术,但不知道拿它们做什么应用。

我们做的一个应用叫Meet2talk,即聚在一起聊天,相当于一个语音聊天室或电话会议。我们这个是面向终端客户的,不是面向企业的,但是发现这个应用不是一般的人能聊得起来的,因为我们不想往娱乐的方向发展,因此用户很少。然后我们就想面向熟人做一个语音聊天工具,在2004年做了一个TelTel,推出来之后发现市场上有一个Skype,它是2003年9月做出来的,此时我们在技术上也碰到一些问题,面向大规模用户的时候顶不住了, 后来美国这边的几位员工要离开,那边就做不下去了。当时我在国内给他们NAT穿越的支持,同时也在做别的项目。2003年年底,我们在国内做的一个项目叫比酷网(bitcool.tv),该网允许用户上传一些MP3、视频、Flash等,直接提供播放和下载,当时没看到Flash技术的巨大价值,这些多媒体文件都是用源格式播放的,流量很大,带宽的成本很高,也不知道流量的价值。由于付不起流量的钱,我们推出了P2P客户端软件aBitCool,后来收到好莱坞的律师函,又有了版权方面的问题。(问:差点做出一个youtube?),就差那么一点,若当初坚持下来就好了,呵呵。

美国的人要走,我们就去接美国语音通信的研发,解决了

TelTel大规模用户的支持问题,但发现做这个很难赚钱,PC上大家习惯了免费,电话那一段掌握在运营商手里(包括Skype现在也没有赚钱),我们根本没有议价能力。D-Link投资了我们一些, 他们有很多网络设备,但是不知道用户是怎么用的,用我们的SIP技术可以得到这些信息。我们就跟D-Link合作,还做了SIP电话、SIP摄像头、SIP电子相框等,不过都是些小众的产品,也没卖出多少。再后来我们看中了互联网电视,做了一个9X9.TV(云端电视),即允许用户自己组织电视节目,自己做电视台,也可以订阅别人的节目,用我们的设备帮你下载内容,推送到用户的电视机上播放。由于广电总局一纸禁令不能将互联网的内容带到家里的电视上,最终我们这个项目在国内就很难开展了。

子柳:你到淘宝两年多来,一开始主要做LVS和HAproxy的大规模普及,之后做了很多CDN系统的改良工作,今年又推出GreenCompute项目。能介绍一下这几年工作的整体规划思路吗?

正明:这几年工作的整体规划思路就是为淘宝网打造一个高性能、高可扩展、高可用、低成本的基础平台,基本上是在这四个维度上不断深入优化。最早,淘宝的CDN用的是商用的调度负载均衡器Citrix NetScaler,这是当时业界最好的负载均衡器。但是淘宝因为规模越来越大,有很多针对小图片方面的访问需求, 用Citrix就遇到很多问题,小图片造成的请求数特别多,万兆网卡的流量只能到3GB/s,一旦流量超过3GB/s,若到了4GB/s,系

统就会崩溃。在CDN系统中,图片处理的挑战最大,相比视频那种连续的数据,图片这种很小的、比较离散的数据对硬盘的访问要求很高。淘宝在2008年年底到2009年年初左右,曾经一度全用SSD,这样一个CDN的节点造价就会比较高,要花掉两百万元左右的钱,还要再加上商用的负载均衡器。而且刚才也说了,一个NetScaler流量只能提供到3GB/s,两台加起来也就只有6GB/s,而且两个NetScaler还不敢用心跳线,因为它虽然支持这个功能,但是万一有一台坏掉,6GB/s的流量完全转移到另一台,其结果肯定会令人崩溃。所以这就是商用系统的问题:在特别的负载情况下,它是不适用的。

于是我们开始逐步改造。用LVS+HAproxy,在硬件高配的情况下,一个节点跑到100GB/s都没问题。成本方面,后端肯定不能无限制地花钱,我们就开始用混合存储,SATA、SAS和SSD都有。经过优化之后,效果做到跟全SSD差不多,存储空间更大, 命中率更高,像我们现在有些高的,命中率可以做到98%。那么现在我们一个最低标准的CDN节点,流量在10GB/s,成本已经优化到50万元;如果是低功耗,还可以进一步优化到37万元。这个项目我们以后还会持续优化,因为优化无止尽嘛,我们追求的目标是更好的用户体验,更短的响应时间,同时还要花更少的钱。

响应时间是我们最关注的指标,因为它直接影响到用户的体

验。其实淘宝目前在图片的优化方面做得算还不错,例如,今年
“双十二”的时候,我们最高跑到了856GB/s的图片流量,这在世界上可能也是一个纪录了。你现在打开一个淘宝的网页,图片加载的速度还算蛮快的,目前图片请求的平均响应时间已经在10ms 左右,但我们还会进一步挖掘,看能否达到9ms或8ms以下,让它加载得更快。虽然说,越往下面挖掘,难度会越大,但是这也是值得去做的。

另一方面,网络传输这方面往往也是瓶颈。一个图片请求发过来,硬盘的处理时间算为10ms,但是在网络传输方面,CDN 部署的好的情况可能会占用20ms,如果网络有问题,就可能到
70ms、80ms。所以,网络协议的优化方面,可以挖掘的空间可能会更大。

2009年年底,我们立项要做低功耗的项目,选择了当时我们掌控比较好的CDN系统。因为CDN对数据的安全性要求不是太高,毕竟上面都是缓存,数据丢了也无妨,全局系统可以随时把坏掉的节点切掉,对用户的影响低,所以这个低功耗服务器就专门针对CDN应用进行定制。这中间经历了很多事情,整个过程并不是很顺利,最终成功弄出来,也要感谢很多参与的厂商,像威盛、Intel,还有超微。总之,我们最终还是把这个基于Atom的服务器用起来了,而且性能优化效果与其他的Intel处理器相比,目前是最好的。其实低功耗服务器在整个绿色计算中只是一个小环

节,服务器还包含高性能服务器,服务器之外还有网络设备、机架、直流供电的电源,到整个数据中心的设计,都应该是绿色计算的范畴。而且我们现在定制的只是一款Atom D525的机器,实际上,低功耗也可以有很多款机器。所以,现在我们做的只是其中很小一部分,把它分享出来,也是希望大家都能参与进来,尤其是也在关注绿色数据中心的互联网企业。如果大家都能参与进来,对业界会是一个很好的促进。我们现在跟业界同仁已经在联系这方面的事情,目前正在进展中。

子柳:是什么机缘来到淘宝的?

正明:我在前些年其实做得很累,不断地试验很多新想法, 商业的成果很难如预期。有时候有了不错的技术,却不一定能找得到用户,这很难创造什么社会价值。而淘宝的社会价值是显而易见的,系统的规模和挑战摆在那里,技术问题很快就能给用户带来价值。我在2007年到杭州参加过一次网侠大会,后来一直有人跟我联系,我手上那些项目结束之后,在家闲赋了一段时间就过来了。

子柳:你预测一下未来的淘宝网系统会有哪些挑战?

正明:未来规模的挑战会更大,数据的存储系统、中间件、CDN的存储系统,在规模上来之后,这些架构都要重新思考。像CDN现在已经有1000GB/s了,未来达到3000GB/s或更大的时候,

在不影响用户体验的前提下,如何降低带宽的成本,是不是要建不同规模的CDN节点,之间是不是要有点层次关系等。在后端的数据层,如我们的Hadoop集群真的到了10000台机器时该怎么处理?很多东西都需要重新思考。

子柳:你一直活跃于开源社区,你觉得我们从开源社区获得了什么帮助,我们又为开源社区贡献了多少?

正明:我们从开源社区得到的帮助太大了。例如,我们去年要提高数据库的性能,影响数据库性能的一个重要因素是存储的I/O速度。2010年夏天,褚霸和我们一起看最快的非易失性存储产品,就是掉电也不丢数据的。我们联系了国外做PCI-E的Flash 卡存储的两家厂商,测试了6个月,效果很好。伏威的团队先在IC 上把IBM小型机去掉,换上高端的PC服务器。然后我们帮着一起把存储换成PC服务器加PCI-E存储,也对数据库做了五六层的优化,从innoDB的存储引擎到I/O的调度器,再到Flash Cache和对文件系统进行调优。这样我们换掉了Oracle,去掉了EMC的存储, IC上去后效果很好。到TC的时候,一步就把IOE(IBM小型机、
Oracle、EMC存储)替换掉了。淘宝在2010年的时候,每秒钟仅有2000笔交易,2011年原定目标是5000笔交易,换成PC服务器加PCI-E的卡之后,一台机器就可以做10000笔交易。过去的解决方案要花费2000万元,现在一台花费12万元就可以了。为了保险起见,我们放了一个16X2的集群,也只花费400万元就够了。在
TDDL层拆分之后,单从数据库来说,一秒钟可以做160000笔交

易,这可以撑起淘宝未来很多年的发展。去掉IOE的成功,这对淘宝来说是一个标志性的事件。我们最核心的系统已经摆脱了商用软件,完全基于开源软件和自主开发的软件系统,所以说,开源软件对我们帮助非常大。

我们现在也把我们自己的一些软件开源出来,回馈社区,包括TFS、Tair、WebX、TEngine等。我们的淘蝌蚪平台上已经有了一百多个开源项目,这些项目不仅是淘宝工程师的,也有很多是外面的工程师贡献的。我相信国内的开源环境会越来越好。

子柳:你对刚入行的技术人员有什么建议?

正明:找到自己感兴趣的,花时间投进去,通过实践后的知识积累比只看书本有用得多。我看过一本操作系统方面的英文书,其中引用了一段中国人的格言:“I hear and I forget. I see and I remember. I do and I understand”,这句话给我留下非常深刻的印象。是荀子说的“不闻不若闻之,闻之不若见之,见之不若知之,知之不若行之。”

子柳:你在工作上一直很忙,我也看到你经常在微博上秀生活照,能描述一下你业余时间是什么样子的吗?

正明:主要是带孩子玩,我比较喜欢孩子,当然家里的事不是我做主,我主要负责陪玩,呵呵。

子柳:感谢正明抽出宝贵时间接受我们的采访,从正明这一路走过来看,总的感觉就是“技术驱动人生”,正明已经把技术融进了骨子里。

正祥——淘宝高级研究员,OceanBase项目 负责人
他曾拥有众多响亮的名头,他没有下属,但却做着令人高山仰止的事情,他笑称自己“没品位”。下面让我们一起去慢慢品味这位技术大侠——正祥。

阳振坤博士(淘宝花名正祥),中国计算机学会YOCSEF荣誉委员。1984年进入北京大学,大学只用了三年,硕士只用了一年多,24岁成为王选的博士生。1997年破格晋升为教授,1999年成为北京大学首批“长江学者奖励计划”特聘教授之一,先后获得北京市科学技术进步奖一等奖、国家科学技术进步奖一等奖
(排名第四)、第六届中国青年科技奖、北京市五四青年奖等。曾先后担任方正研究院副院长、北大计算机研究所副所长、联想研究院首席研究员、微软亚洲研究院主任研究员、百度高级科学家等。现担任淘宝高级研究员。

这样的名头足以叱咤江湖,也许你脑海中会浮现出某位成功可以复制的人或者某位人生导师的形象。但见到他的那一刻,你脑海中的形象就会被颠覆。运动鞋、宽松的休闲裤、略有走形的衬衣,斜挂着工牌。瘦高,眼神清静,说起话来总带着谦卑的笑容。他就是正祥——阳振坤。很多人对他的着装风格印象深刻, 仰慕他的潇洒不羁,他却说,那是因为他“没品位”,让大家别学习这点。

这位“没品位”的大侠却在做着令人高山仰止的事情,他成功地主持研制了方正第六代和第七代RIP(光栅图像处理器), 为我国新闻出版事业做出不可替代的贡献。中科院院士、北大方正科技研究院院长王选教授这样评价他:“阳振坤研制了我国第一个页面语言解释器,在新一代RIP的总体设计、软件结构、关键算法等方面做出了关键性贡献”。而今,他在淘宝主持研发海

量数据库OceanBase(oceanbase.taobao.org)。淘宝的数据已经远远超过了单个关系数据库所能支撑的最大规模,而且仍然在快速增长之中。对淘宝来说,研发海量数据库已经不仅仅是出于成本的考虑,如果不采取这些技术,可能很快会因为机房数量、成本等无法支撑下去。

面对这些世界级的难题,正祥研究得怎么样了?这样一位牛人,他身上有什么传奇的经历?他对年轻人的成长有什么建议? 他身上又有哪些八卦消息呢?

带着这些问题,我对他进行了一次采访,采访的开头有一个很有意思的细节,正祥带着一个空的矿泉水瓶,自己去饮水机那里打了一瓶水,放在脚边。

子柳:恭喜你,你主导的OceanBase刚刚获得本届中日韩开源软件竞赛优胜奖,这个奖项的意义是什么?

正祥:这是三个国家信息产业部联合组织的开源软件的一个促进会议(第十届东北亚开源软件推进论坛),奖项是“第六届中日韩开源软件技术优胜奖”,我们国家有三个软件获奖,都是企业做的,淘宝OceanBase排在第一。

子柳:OceanBase主要是为了解决什么问题?

正祥:关系型数据库理论的成熟在20世纪六七十年代,技术

和产品的成熟是在20世纪七八十年代,从成熟到现在,它的技术和理论没有太大的突破。但实际上,需求是在一直变化的,今天的数据规模对关系数据库提出了严峻的挑战。最近,很多企业开始做NoSQL的系统,其实这个NoSQL可以说“No SQL”或者“Not Only SQL”,我更倾向于叫后者,咱不能否定SQL。我们要解决的问题是数据规模的问题,数据库本质上是一个单机系统,即便是做了分库分表,这些也没有改变的是单机系统的本质。单机系统导致它的数据规模和处理能力都会有一定的限制, 你要提升这些,只能用更好的服务器——小型机、中型机、大型机,它的成本上百倍地增长,但性能却没有跟成本一样提升,性价比很低。而淘宝的数据规模已经到了这个关口。

打破这个瓶颈,分布式的系统是一个选择,这方面的大规模应用最早是由Google开始做的,但我们的需求跟他们有一个不同的地方:搜索引擎可能索引不到一些页面,也可能索引到一些页面的速度较慢,但淘宝是从事电子商务的,用户的商品、交易都不能遗漏和出错,页面的展示要尽可能地快,我们需要更高的数据一致性,也需要存取速度更快的数据库。

因此,我们要解决的问题就是在淘宝的数据规模不断增长的情况下,提供高容量、低成本、高一致性、高可靠的数据存储和访问服务。

子柳:网友袁鹏-wugu123问,传统的关系型数据库的数据规

模受到制约的主要原因是什么?

正祥:关系数据库的数据规模受限的根本原因是目前的关系数据库尽管有各种方式的扩展,但本质上是单机系统。

子柳:OceanBase是什么时候开发完毕的,现在的应用情况怎么样?

正祥:开发完毕还说不上,因为这个系统还需要持续开发。我们是从2010年5月开始开发的,2011年2月发布了第一个版本。现在应用到了5至6个系统上,收藏夹是最早的应用,现在有63亿条记录,3TB的数据,访问量也比半年前增加了一倍以上。以前用Oracle的系统是可以换成OceanBase的。

子柳:竞争对手对OceanBase有以下看法,对此你怎么看?

y 有一个中心点,在数据量很大的情况下,单点有风险;

y HBase开源,大公司主导,很多坑都走过了。

正祥:OceanBase最好的地方就是具备事务,数据一致性很好。HBase在数据容量上会有优势,几千万亿字节都有可能,但它没有解决事务的问题。从数据规模来看,虽然有个单点(有热备的),但OceanBase数据规模仍然可以达到关系数据库几十倍甚至几百倍的规模。

子柳:OceanBase推广的成本高不高?

正祥:OceanBase的推广应用得到了各个方面的配合,DBA团队已经跟OceanBase融合在一起了,OPS也是不遗余力,非常关键的是,OceanBase得到了应用和业务团队非常大的支持。数据库的迁移是有工作量的,而且还是有风险的。在应用部门的配合下,
OceanBase已经做到了从原来的关系数据库平台无缝迁移到新的平台上,并且不停止服务,在对OceanBase进行升级时也不停止服务。到现在已经跑了半年,系统也比较稳定,且没有停止过服务。

子柳:OceanBase应用之后,节约了多少成本?

正祥:还真没细算过,首先Oracle的License就是很贵的,这个是我们能省下来的,服务器的数量也能减少。例如,收藏夹,原来每个机房有16台机器,OceanBase刚上线的时候是一个机房14台机器,后来数据量和访问量都已经翻倍了,还是14台机器。现在我们正在换成6台SSD盘的机器,预计能提供更大的访问量。

另外,成本最高的其实还不止是这些设备,而是网络带宽和机房机架等的成本。若减少机器的数量,会降低这方面的成本。淘宝的业务在高速增长,数据量和访问量在加速增长,但电力和机房资源不可能同步高速增长,从现在起,我们就必须在提升服务能力和性能的同时,降低服务器的使用量,否则不仅是成本令我们无法承受,机房和机架也无法找到。此外,从节省能源的角度来说,我们也必须要低碳环保。

子柳:在你的人生经历中,不断被破格提拔,你认为原因是什么?

正祥:我的运气比较好,机会也比较好。我自己的要求比较低,除了对住的地方要求高一些(我睡觉很轻,呵呵),吃穿之类的都没啥追求。我属于那种党叫干啥就干啥的人(虽然不是党员),而且我的运气非常好,遇到了一些很好的老师(比如王选老师等),站在巨人的肩上做事做事,把手上事情做好就成,就这样。

子柳:从你的经历来看,你对现在的技术人员的成长有什么建议?

正祥:很多人会说年轻人比较浮躁,其实我的身边有很多非常优秀的年轻人,他们聪明、刻苦、有闯劲、愿意接受新事物。年轻的同事想赚钱,想提升自己的职称,这些都是十分正常的。在这点上,我特别喜欢马总的理念——做公司要赚钱,但阿里从不把赚钱作为第一目标,我们服务好了客户,客户赚了钱,我们一定会得到自己应得的一份。在个人成长问题上也是类似的道理,这就是,一个人如果把做事、做成事作为主要目标,该他得到的东西,一定会顺理成章的、水到渠成地得到,但是,如果把上升作为主要目标,做同样的事,结果就会完全不一样。一句话,你的心态会最终决定你的成就。

子柳:在北大期间师从王选院士,他对你有什么影响?

正祥:我能做他的学生真的是运气很好,王老师给我的影响非常大,他心胸开阔,是我接触到的最伟大的人。我跟了他13 年,从他身上学到了不少东西(可惜我悟性和能力不足,有太多的东西没有学到)。当时我们研究所只有二三十个人,他对我们的指导非常多。他和他的夫人陈堃銶教授前期做了大量的研究, 才有后来我们团队做出来的那些成果。而那种朴素的只想把一件事情做好的感觉,也深受他的影响。

子柳: 除了王选之外,在技术领域,对你影响最大的人是谁?

正祥:没有其他人了,王老师的高度太高了,没有人能像他一样,给我这么大的影响。

子柳:你经历了联想、微软、百度、淘宝这几大企业,能否描述一下你在各个企业中的主要收获?

正祥:跟着王选老师在北大方正集团做了十几年,当时的方正是技术好但管理不足的企业,而联想是一个管理很好的企业, 我很想看看联想是怎么管理的,所以离开方正和北大后就去了联想做无线投影仪设备,前后用了差不多3年时间,完成后,在探索新的项目和方向时,就定位为存储,无意中了解到了Google的GFS,但云计算和联想主业(PC等)的差距较大,做这个事情的可能性较小。于是我去了微软亚洲研究院,做了一段时间后, 发现要应用到微软那些比较核心的产品上的障碍很多,包括地域

的、语言上、文化的,做这个最好还是去硅谷或西雅图。一年多之后去了百度,在百度待了两年多,做的偏BigTable(当时HBase 还不能用),百度是一个星期重建一次索引数据,当时就想希望改进这一块,在百度那边的项目做完了,但最后没有应用,并且项目也被关闭了。

子柳:以上几个企业的技术风格有什么不同?

正祥:联想要求研发人员要了解市场,跟着一个产品从市场需求到开发,再到小批量生产、真正量产等整个环节。微软的研发模式比较重,流程和审核机制非常严格,每一行代码都要审核很多遍,做事很稳,但很慢,我想这也是它在互联网市场很难施展的一个原因。我觉得百度其实不如淘宝重视技术,KPI导向的文化很重,各部门之间的协作和配合比较难(这一点淘宝要好不少),不同部门、不同项目的开发人员做了不少有差别但其实比较类似的东西,看起来个体效率高,但整体效率未必高,这可能是百度加班很严重的原因之一。

子柳:你很早就是一个研究室的主任,能够带队开发。但你在淘宝是没有下属的,为什么?

正祥:我在微软和百度也没有下属,我最大的长处是做技术,管理方面比我擅长的人有很多,那就让他们管吧,呵呵。管理对我来说实在是一项艺术,我还是更偏技术。

子柳:你在没有直接下属的情况下,靠什么方法带领开发团队?

正祥:其实事情是大家一起做的,这不是我个人的产品,是整个团队的,这个团队非常优秀,多隆在这个团队做了不少关键的工作,东邪、正明和楚材等领导以及整个团队都非常支持我。

子柳:你还在写代码吗?你怎么控制系统的实现符合你的预期?

正祥:我非常喜欢写代码,前段时间还在写一个数据压缩的算法,但效果不理想,没有放上去。现在写代码的时间很少了, 但他们写的代码我都要看,这两个月在外面招聘新人,有些新的代码还没来得及看。

子柳: 你还想在哪些领域有突破? 你的研究方法是什么样的?

正祥:我还没有那么长远的眼光,但从Google来看,他们做
GFS、MapReduce、BigTable的人都还一直在做,我觉得淘宝在数据存储和处理领域应该还有很长的路要走。例如,我们的事务目前是单机做的,但后面也可以做到一个集群,另外,我们也考虑把SQL语言的支持逐渐加进去。我们现在只是在传统数据库上迈了一个小台阶,后面还有很大的空间。

子柳:你怎么平衡工作和生活?

正祥:我对生活上的需求比较低,没什么特别的爱好,这个还好,就是在家的时间比较少一点。

子柳:能否八卦一下你的家庭状况?

正祥:三口之家,日常生活中都是太太做主。

子柳:你在着装方面很朴素,这种风格很多人都津津乐道, 能否八卦一下原因?

正祥:其实我的出身比较贫寒,小时候真的是饿过肚子的。我小时候的玩伴,现在还有人在为生计发愁。所以我现在非常知足,我认为社会给我的已经高于我给社会的。我的品位上不去, 这不是刻意为之的,大家不用学习这一点。

编后语:这位大侠系出名门(北大王选的门徒),也出身寒微(贫寒人家),他在生活上非常“没品位”,却在技术上追求最顶尖的水准。这些矛盾的属性在他身上却是协调的统一。这种自身的谦卑造就了他在事业上坚定的专注,对正祥的这些品味, 也许值得从事技术的朋友好好品味一下。

毕玄——集团核心系统资深技术专家

毕玄从2006年加入淘宝开始,在商业产品中使用OSGi,先后编写了《OSGi实践》《OSG进阶》两篇Opendoc,以及《OSGi原 理与最佳实践》一书,为OSGi在中国的推广起到了绵薄之力。目前负责淘宝网的高性能服务框架,此服务框架每天的服务请求量已超过100亿次,2010年6月出版了《分布式Java应用:基础与实践》一书。

个人感兴趣的技术方向为:高可用、高并发、高性能、可伸缩、低成本的互联网技术,以及动态化、模块化的大型分布式Java 应用的技术。

子柳(主持人):你做的HBase集群的应用现在是什么规模?

毕玄:现在大概有15个HBase独立集群,上面大概有20个项目在运行。现在还没有很大数量级的,都是几十亿条数据,还没有百亿或千亿条的。后面我们很快会上一个项目,那个项目应该是千亿条数据以上的。

子柳:淘宝的HBase有什么特色?

毕玄:最重要的是稳定性方面的改进,其他的可能与外界都差不多。在部署上,我们的HBase会加上一套监控系统和一套与运维相关的东西(若没有这个是很危险的)。还有一个,我们的HBase比官方的成熟一点可能是我们的应用比较多,不是一种用法,而是有很多种用法,我们面临的问题比别人会稍微多一点。

(主持人:这样会不会把HBase搞复杂呢?)不会的,我们跟Facebook一样强调只把HBase当作一个存储。

子柳:像你这个层级的技术专家,除了做好自己的东西外, 还需要推广自己的技术和理念,在推广的过程中有没有障碍?

毕玄:其实从现在来看,推广的几个东西都还好。障碍方面,通常是看你要推广的这个东西跟其他的冲突有多大。可能当时正好有别人也要做类似的东西,这个时候也许能会有一些障碍。对我来讲,我不管别人有没有用我的东西,只要我的想法落地就行了,这个想法到底被怎么实现,谁去实现,其实没有那么重要。

子柳:做这种底层的通用的产品,需要跟很多人合作,你最喜欢和什么类型的人合作?

毕玄:只要能干活的人就好了,大家都认同这个想法会给公司或业务带来什么好处,然后就去做,不要想太多。

(主持人:这样说来,是不是有些不太干活的人呢?)是有一些人会比较看重自己的职责,如果不是自己的职责,可能就不管。

子柳:你在微博上写道“在公司四年以来,最让自己自豪、最有成就感和最骄傲的是三件事(一个产品,两个思想的推行和落地成产品),现在正在做第四件,计划第五件”——能不能解释下,这五件都是什么事?

毕玄:第五件不能说,其他四件可以说。第一个产品是淘宝的自动发布系统,其实这个系统的技术含量很低,现在淘宝所有的Java系统都是通过这个发布的,全部是自动发的。对我来说,虽

然这个产品没有什么技术含量,但它给淘宝带来了改变。这件事也是我自己发起的,所以很有成就感。

关于另外两个思想,第一个是容量规划,这个事情以前淘宝是没有做过的,虽然最后这个事情也不是我做的,但后来在CSP 中也成了一个产品,我觉得容量规划对一个公司来讲,是一个非常重要的阶段。还有一个思想是优雅降级,优雅降级这个事情说了很久,一开始是很难被人接受的,到现在几乎所有的系统都采用了,这个目前最明显地体现在淘宝保护“大促”的一种情况。

现在我们正在做的第四件事情,就是把淘宝的整个运维体系做一定的修改,现在淘宝的扩容很不方便,会受限于网络因素等。以后我们会希望能有一套系统,使整个淘宝的扩容非常简单,你只要想扩容,就可以扩容,然后我们会尽可能地提高机器的利用率,这个是现在正在做的第四件事。

(主持人:我本以为你是要说一下Java中间件的方面)这可能是我在公司影响到人最多的一个产品,但我认为是因为刚好我在这个位置上,如果换做别人,结果应该是差不多的。

子柳:你自己经历了几次技术转型,为什么转型?转型最大的困难在什么地方?

毕玄:我觉得我的转型是跟淘宝绑在一起的。我刚到淘宝面临的是淘宝访问量带来的压力,我们需要解决访问量的问题,于

是我们就做了很多Java的中间件,其实当时我也不是很熟,呵呵。

当解决了一个访问量的问题之后,数据量就开始大增,于是就面临一个数据量的问题,我们就开始想怎么支撑这么大数据量的存储、分析、挖掘等工作,所以后来我就转型到做数据方面的工作。

转型最困难的地方在于,很多人以为我的层级很高,对我抱有很大的期望。但是过去的所有这些积累,对我的帮助并不是很大。当我进入一个全新的领域后,很多东西都要从头开始。但是由于大家认为我的层级很高,所以就期望我在很短的时间内能做出很好的效果,这会给自己带来很大压力。如果我转型做的这个产品刚好是这个时代所需要的,有业务场景,这样会好很多。

子柳:我了解到你是学生物学的,现在却是互联网技术专家,请描述一下这一路是怎么走过来的?

毕玄:我本科是学生物的,毕业之后是做政府企业系统软件的,这个跟互联网行业完全属于不同的领域。我在企业领域做过多年,后来有一些机会接触到互联网行业,比如腾讯的技术。这些互联网的技术对我们企业做开发的人的震憾是非常大的,而且成就感也不一样。以前我也会觉得互联网应用没有什么技术含量,就觉得那只是一个网站而已,搞技术的人都能随手做出来一个。但我了解到腾讯的技术以后,就觉得加入一家互联网企业也

挺好的,想去看一下一家互联网网站是怎么做出来的。后来我就加入一家叫做“五百万”的做彩票的网站。加入之后,我才发现一个好的网站真的是很难很难做,其中的技术含量非常高,有很多东西需要学习。从“五百万”网站出来以后,我就加入了淘宝。

子柳:你每天有多少时间用于编码?多少时间学习?

毕玄:现在如果没有什么特殊情况的话,我会花很多时间看技术方面的文章或者图书,写代码的时间可能每天只有两三个小时。每隔一段时间会去想一想将来干什么比较好,因为写代码时间会过得很快,要经常跳出来想一想。

(主持人:有哪些比较占用时间但价值不大的事情呢?)比方说,开各种各样的会啊……

子柳:你来淘宝技术大学授课的时候,给学员说过“但行好事,不问前程”,现在很多同学都因为晋升的问题很纠结,可否解释一下自己是怎么看待晋升的?

毕玄:大家都说了,晋升是一个“水到渠成”的事情。大家都会在意晋升,这个是正常的,除非你不在意级别,生活上也没有压力,不过这样的人是很少的,呵呵。如果真的没有升上去, 这个也没有什么办法能够挽救了。我觉得重要的是在这个过程中你回顾了你一年做了什么事情,对公司有什么贡献,技术上有哪

些成长。

对于技术人员最常见的一种情况是晋升名单公布的时候,你去看谁升上去了,然后对比一下自己,觉得他水平不如自己,为什么是他得到了晋升,而不是你。我觉得最重要的是看那个人对公司做了多少贡献,你可以说你的技术确实很强,但事实是你对公司没有做出任何贡献。

子柳:你是技术晋升的评委,在评审的过程中,你比较看重什么样的特质?

毕玄:如果你是向技术方向发展的人员,我们要看技术方面的专业性;然后看你的技术对公司的业务发展有多少贡献。还有一点,我比较看重的是,也许你不在其位,但能够跳出自己的范围,想到公司未来到底会面临什么问题,用什么方法来解决。当然,仅想是不够的,如果你能够落实就最好了,我们不管你落实的技术含量有多高,关键是你解决了什么样的问题。如果你能够做到这些,你这个人对公司就非常重要。

子柳:你经常出去招聘学生,你欣赏什么样的学生?

毕玄:其实在校招聘的时候,我比较欣赏的学生往往是那些很“不务正业”类型的。我经常会问他们,你有没有利用业余时间出于自己的技术兴趣做的一些小东西。这样的学生我们通常会比较感兴趣,我认为这样的学生是真正喜欢技术。聪明程度一

般就可以的,他能够进入这些不错的学校,智商是不会有什么问题的。

子柳:而立之年,有房有车,马上又有小孩了,可以说“老婆孩子热炕头”都达到了,接下来你还想追求的是什么呢?你的人生理想又是什么?

毕玄:以前想的是用技术来改变世界,现在看来不得不接受这是很难做到的。所以,现在想的就是自己所做的技术能够给公司带来改变,使公司从一个阶段上升到另一个阶段,这就是我目前的理想。

放翁——淘宝开放平台项目负责人
放翁于2006年3月加入阿里巴巴,2007年初加入阿里软件创业团队,负责基础平台架构设计与实现,2007年年底与淘宝合作开始研发开放平台,负责开放平台体系架构设计与实现,2009年8月加入淘宝,负责淘宝开放平台架构。

主编寄语:

有这么一类工程师,他们在技术上有了深厚的积淀,他们初为人夫,也初为人父。他们既是公司里的顶梁柱,也是家里的顶梁柱。他们这一路是如何成长的?他们当前在承担什么样的责任?他们有哪些痛苦与快乐?他们如何展望未来?我们找到了这样一位典型的代表人物——放翁,且听他娓娓道来。

作为技术专家

子柳:作为一名技术专家,你的成长之路是什么样的?

放翁:我从毕业到现在,就在两家公司干过。第一家就是东方通信股份有限公司(简称东信),然后就是阿里巴巴。东信是国企,我在那里做了4年,从一个学生很快做到一个小部门的主管,这个成长的主要原因是我的直属领导不断离职,我就不断地补上去了。从技术上说,在这里有成长,但不是很大。4年以后, 我感觉自己的发展遇到了瓶颈,虽然在这里生活比较安逸,但不

是这个年龄应该有的状态,当时也才27岁左右,就想换个环境。

然后我应聘了阿里巴巴的两个岗位,第一个是一个后台的部门,发现不是我想做的。后来有一个阿里软件的概念,提出了work at Alibaba的想法,当时自己对这个想法挺感兴趣,就加入了阿里巴巴。加入之后发现并没用想象中的那么好,因为一下子从一个工作灵活度比较大的人变成了一个从事最基础的编码工作的人员,有点失落。到了2006年年底,我被封闭到湖畔花园去做阿里软件的创业。当时收购了成都的一家公司,这个公司专门做建模类型的应用开发,这种方式的开发比做通常的Web应用开发能发挥的空间还要小。大部分情况下是用XML文件配置的方式来搭建一些管理软件的应用。底层已经封装起来了,这个工作比现在大家做的开发还要单调。这个时候出现一个问题是收购过来的公司只有3个人做核心平台的开发,然后是一大帮人做业务的开发。但这个框架本身还不成熟,有很多bug,业务开发人员就会提很多bug给核心团队的这3个人,他们当然是忙不过来的,于是大部分人就是等着他们去解决。我出于对这个框架的兴趣,就开始研究前端、后端和整个系统,然后我帮他们去修复一些bug。我没有提交主干的权限,每次修改完就告诉他们,他们审核没有问题之后,就提交上去。就这么两周以后,负责这个平台的老板就邀请我加入他们团队,于是我就调到了平台部。有这方面的能力,再加上机会,之后那3个人还是在支撑业务,而我负责整个平台的基础体系和架构的运营。从湖畔出来之后,整个阿里软件的4年左右

的时间,我会负责整个平台的发展、底层架构。所以,在这方面我会走得比较靠前。

后来跟淘宝开放平台合作,直接转入了开放平台这里,很多事情都是业界第一次做,做到现在快4年了,不断地把技术做深。

总结下来,我的成长就是从一个国企到一个公司,有一个落差。在创业团队找到机会,从创业团队中做到一个公司的架构师,然后再坚持把一个产品不断做精做深,最后才有一定的技术发展和影响力。

子柳:你在这个行业里差不多有10年了,在工作上有没有什么痛苦的地方?

放翁:会有些失落的地方,例如,从东信到阿里巴巴的时候,一下子很难适应,做阿里软件一开始也是做很多琐碎的事情。我也跟很多新人说过,其实来公司三个月到半年的时候,是最难熬的时间。接下来在阿里软件也痛苦过,虽然别人觉得这家伙很清闲,在做自己喜欢的事情,但是跟淘宝的现状一样,很多跟业务离得相对比较远的一些中间件团队做出来的产品,应用到业务系统上会有很大的阻力。在阻力面前,很多时候会屈服于业务,有些业务会要求开一些白名单、黑名单、特殊通道之类的东西,而作为基础服务,我又要保持它的完整性和统一性。这时就需要一些协调和沟通的技能。作为一个架构师,经常会有一种失

落感,有时候会发现我们做出来的东西有可能没有办法实施。我坚持做开放平台做了4年,后来我有一些感悟,我跟毕玄都发觉真的需要找到一个业务点,把技术做深,去解决一个个的问题,然后这个平台的效果才能体现出来。现在有了一个转变,从单纯地做中间件、平台架构,到成为业务团队的一个业务架构师。现在技术架构师和业务架构师两方面都在做。

开放平台是一个中间的东西,很多地方是需要依赖于后端, 我需要后端支持的东西有时候他们并不关心,这时候就要坐下来与人谈。在公司里做事,很多人是自己做还好,但要跟别人一起做,跟各个部门协作的时候,就遇到麻烦了。对于技术人员来说,这也是需要成长的。

另外,跟其他公司做开放平台一样碰到的问题,就是每个部门都希望去做开放,这个时候开放平台响应够不够快,服务够不够好,会使得别人愿不愿意通过你的开放平台来做。我们发现百度、腾讯、盛大也都这样,开放平台希望自己是全公司统一的开放平台,但事实上是每个部门都在做开放平台。现在我们的思想也放开了,与其是通过行政的手段去堵,去要求别人,还不如自己把产品做好,这样这些部门自然而然会去想他要不要花这么大代价去做这个事情。我在想,做技术产品需要转变一个思路,靠行政和强制措施要求别人用你的东西,短期有效,但长期来看, 还是要看技术过不过硬,有没有站在用户的角度考虑问题,产品

做得够不够好。

子柳:级别到达P级中最高的以后,你在技术上的目标没有人能帮你把握了,那你现在关注的重点是什么?你后面还要怎么成长?

放翁:其实从P7级开始,就没有人帮我做规划了。技术委员会在级别P7~P9的定义中,要求P7级的人员要对一个小的产品或团队有方向性的指导,P8级就要求在一个大部门或公司级的产品上有方向性的指导,P9级要求除了考虑自身的产品之外,还要站在公司的角度考虑自身的产品对公司的发展有什么帮助。对我来说,在开放平台不能只考虑开放平台本身发展得好不好,要看它对其他部门或整个公司的发展有什么帮助。我坚定地做开放平台,是相信那么多公司做开放,未来的合作多于竞争,例如,我们与新浪合作,他们能得到更多的微博用户,我们能得到更多的交易量。我想把开放平台做得更深入,能够跟各大互联网公司打通,借助外部的各种资源,给我们的买家和卖家创造更多的机会。

从技术上看,我都是贴近实际的问题来找突破点,解决了问题,技术就掌握了。说实在的,现在也会遇到一些瓶颈,到一定阶段,我的技术已经足够快了,但是业务上还没有跟上,这时很多技术人员会觉得困惑。我自己会去多想一些东西,包括我们现在去做TQL、长连接数据推送等,我们在技术上有很大创新,在业界也有很大的影响力。但站在客户的角度来看,我们需要用一

些方式去推广。明年(2013年)我会花一些精力去学校、ISV等地把我们好的东西推送出去。

子柳:现在开放平台做出了什么样的成绩?

放翁:从光棍节的大促销看,那些商城卖家和集市上的大卖家有95%都接入了开放平台,从实际效果来看,接入开放平台和不接入的有90%的差别。也就是说,他们处理订单的速度、发货的速度和退货的速度有非常大的差别。我们对大卖家的ERP系统已经了有很好的贡献,另外,我们对类目的导购、装修市场、手机淘宝,以及与新浪、美丽说等系统的结合做得越来越多了,整个体系在慢慢地打开。

子柳:腾讯、新浪都在做开放平台,我们和他们是一个什么样的关系?

放翁:对于互联网上普通的产品,大家做得越多,其竞争越厉害。而开放平台不是,大家做得越多,其体系越完善。比如, 我们与新浪合作,大家各有所需,他们需要用户信息、活跃度, 我们要的是交易。就像Facebook一样,它不是什么都要,他要的是用户,用户在这里玩任何东西产生的结果,像买东西、玩游戏,他们不关心,用户在他这里玩,这个平台就是成功的。

子柳:你已经升级为淘宝技术大学太师级讲师,你这种传道的动力来自哪里?

放翁:最大的动力是我希望开放平台是支持淘宝未来3~5年发展的一个平台,这样一个平台单靠一个部门做不了,我希望借助技术大学这样一个入口,把我这些思想传播给更多的人。当他做事的时候,会知道有开放平台这样一个方向。

子柳:你给工程师的分享反响非常好,你认为什么样的分享能打动工程师的内心?

放翁:有两点,技术人员首先会关心技术好不好,若技术不好,讲得再好都会感觉有些浮,所以每次我都会讲些技术方面的内容,不是具体的实现细节的技术,而是通用的一些思想和方法。另外一点就是我对开放平台的一种信仰和思想,我能通过开放平台为淘宝做什么。这样其他人会感受到听这个课是有帮助的。

子柳:你对新人的要求是什么样的?

放翁:第一个是做事要自己思考后再去问别人,而不是一遇到问题就找人求助。第二个是不断地打破自己的一些想法,你不要担心自己今天已经做了50%的工作,要是推倒重来,前面的事情都白干了。我现在带的两个新人成长很快,但是都有类似的经历,就是一个东西被我反复推翻重做,在这个过程中就是不断地成长,要思考我为什么让你推倒重做,若想不清楚,下次重做的概率会更大,这样慢慢地就会学会了思考。

子柳:你是CSDN的著名博客,你写些什么内容?

放翁:现在半年我会写两到三篇,写Blog的方式是当我做了一次深入的优化,或者有比较大的积累之后,我才会去写。现在跟以前不同,平常不会去写一些入门性的内容,因为这些大家都会了,网上也有很多。所以更新的速度比较慢,但我还是能保证质量。

子柳:你对工程师有什么忠告?

放翁:任何一个公司,不管用什么手段,都做不到绝对公平,最终只会有小部分人得到机会。这个时候去抱怨、愤怒都没有用的,只有自己不断地努力争取机会才行。

作为孩子父亲

子柳:你的孩子现在2岁半,有孩子之后,你的生活有了什么转变?

放翁:时间方面会有很大限制,我的生活方式也改变了。以前我是很有规律地早上做运动,晚上早睡。现在很少能在12点之前睡觉,运动也减少了。晚上下班要挤一部分时间给孩子,等他睡觉后,我才有时间做点自己的事情。

子柳:有了孩子之后,心态方面有什么变化?

放翁:有了孩子之后,我发现孩子很锻炼人的耐心,小孩儿会无理取闹,但我们不能跟孩子一般见识,要好好应付,这样我的心态会很好,这对工作也一样有益,但我在这方面转变得还不够。另一方面,有了家庭,我工作的意义就会变得不一样,我要为这个家庭负更大的责任,对自己的要求更高了。

子柳:你对孩子的未来有什么期望?

放翁:没有太多的期望,希望能身体健康,长大后能做自己喜欢做的事情。(你会推荐他干我们这一行吗?)这个看他自己的选择了,要是他喜欢,我会支持,若他喜欢做别的,我也一样支持他。

子柳:你把TOP也当作自己的孩子,这是一种什么样的心态?

放翁:开放平台正好与我的小孩出生的时间差不多,真的要把自己的产品当小孩一样养,我们不能生完了就扔掉,要为他的成长负责。不管小孩子有什么不好的地方,他的脾气会不好, 身体会出问题,但是我们要有责任去帮助他成长,帮他去解决问题,不能用一种旁观者的心态去看。

作为美女的老公

子柳:作为一个技术男,你是怎么吸引到老婆的?

放翁:跟我老婆认识到结婚,也是一件蛮奇怪的事情。怎么奇怪呢?就是在东方通信的时候,有人给我介绍女朋友,是一个女孩子的同学,她帮我张罗,但我不喜欢她的同学,拒绝掉了。后来反倒越来越喜欢帮我张罗这位,然后就……哈哈。我老婆脾气很好,我很喜欢。要说他看中我的应该是我还比较实在一点, 感觉比较可靠吧。

子柳:工作这么忙,交给家庭的时间会比较少,怎么平衡工作和生活?

放翁:平时家里有爸妈在帮着带孩子,所以减轻了很多压力,晚上不想让父母太辛苦,会花一个小时左右的时间带孩子, 周末我会抽出一天的时间专门陪孩子玩。

子柳:老婆脾气这么好,会不会为琐事而争吵,怎么解决?

放翁:也会的,很多时候都是为了一些琐碎的事情而吵。我想这也是一种磨合,只要不是太过分,慢慢就会产生默契。我有一点不太好,生气的时候喜欢冷处理,就是不搭理人,时间久了也就好了。

子柳:老婆是网购达人,你起到了什么作用?

放翁:其实我来阿里巴巴之前,帮我老婆开过店(2006年开的),还帮她送过货,后来就不开了,所以这方面她比我还擅

长,不用我培养,本身就很熟悉。(反对你老婆买太多的东西吗?)其实她买自己的东西我没有什么意见,买家里用的有些东西我会反对,本身家也不是很大,买很多东西太占地方。

业余生活丰富多彩

子柳:你是一个K歌达人,也喜欢户外运动,这与很多宅男程序员不同。

放翁:以前读书的时候,没现在这么多娱乐项目,学校旁边有小歌厅,15元包一个小桌子,喝茶唱歌,台下有很多张小桌子,你唱一首,大家都鼓掌,这种感觉不错。很多程序员都比较宅,我觉得大家最好是去做户外运动,天气不好的时候去唱唱歌,也能够让你舒展身心,把压力也排解出来了。

子柳:作为土生土长的杭州人,给我们推荐点玩的地方吧。

放翁:在杭州,如果你不出去玩玩,就太可惜了。我推荐大家去走走云栖竹径、虎跑后山、江洋畈,这些地方的人比较少, 很安静,能够让你放松身心。长一点的路线是从古荡上去到北高峰,然后到宋城。

子柳:现在你的家庭美满,事业顺利,你后面的人生追求是什么?

放翁:我曾经说过,如果有一天我离开淘宝,我会选择一个小公司或一个创业团队,把一个东西从小做到大。这样什么都经历过了,事业方面就满足了。然后我希望能到世界各地走走,这辈子也比较完整了。

吴翰清——阿里云集团信息安全中心高级安全专家

吴翰清,人称小黑,毕业于西安交通大学少年班,从2000年开始研究网络攻防技术。在大学期间创立了在中国安全圈内极具影响力的组织“幻影”。从2009年起,加入阿里巴巴云计算有限公司,负责云计算安全、反网络欺诈等工作,是阿里巴巴集团最具价值的安全专家之一。

子柳:见到安全专家,我首先想到的就是我的电脑是否安全,那么杀毒软件能保证客户端安全吗?

吴翰清:杀毒软件似乎是个人电脑的标配了,但这个只能做到“看起来安全”,要真正的安全,其实是非常难的。像流行的

木马之类的病毒,它第一个对付的就是杀毒软件,它在实施一次攻击之前,要看是不是通过了360诺顿、麦咖啡等各种杀毒软件, 然后才会拿出来实施攻击。

子柳:这两年出了不少互联网安全方面的问题,企业在面对安全问题的时候都是非常害怕的,可能一下子就会被搞死,你认为企业需要花多少成本在安全方面?

吴翰清:其实安全一直紧随业务发展,在你开展业务的过程中,安全是一直要占一个比例的,但这个比例不能盲目扩张,要先做最急迫的事情。另外也要看行业,有些行业就比较容易遭受攻击,例如,那些卖假药的、网游私服之类的,这种是最容易被竞争对手攻击的。像地方论坛这种无利可图的就很少会被攻击。所以,要看你所处的行业和企业的规模来做安全方面的投入。安全的投入又分很多方面,例如,招人、买设备、买安全服务、做评估等。

子柳:安全方面的人才还很稀缺,有没有类似云存储一样的“云安全”服务?

吴翰清:我们是希望做到这样一件事情,现在在阿里云上面的多数是一些中小网站的站长,他们没有太多的钱投入到安全方面,例如,防DDoS设备,最便宜的都要几十万元,可能他们的网站一年的利润也就这么多,这个投入对他们来说就太不值。所以

云计算有个好处,就是把这么大的一个资源的投入切分成很多小份,然后按需分配。例如,如果你使用“云安全”的服务后,遭受多少次攻击,我们就帮你清洗掉,事后按次数收费,这个成本就降下来了,可能你只会“消费”掉几千元钱的攻击,我们把安全服务做成一个可以消费的东西。

子柳:作为一个黑客,在成为“白帽子”之前,是否都会有一段“黑帽子”的经历?(解释:简单地说,白帽子是做好事的,黑帽子是做坏事的)

吴翰清:我不知道现在的人是怎么样的,对我们那个时代的黑客来说,多多少少都会做一些攻击或入侵的事情,这个要看你的出发点是什么,如果你是为了找到网站的漏洞,或者是为了做技术尝试,进去之后不做破坏,这些我们认为是好的。(不过现在刑法修正案有了明确规定,这种行为也是违法的,所以不能提倡)另外一些人以利益为目的,这就涉及黑色产业链了,其实这一类人并不一定要掌握多深的黑客技术,有些是猜别人的密码, 甚至先取得别人的信任,发给对方一个木马,这就不是黑客技术了,而是骗术。

我们在招人的时候就很小心,要看他以前做过什么,历史不清白的是不能要的。

子柳:前些年有中美黑客大战,有卖熊胆的网站被黑,有卖

良心药的网站也被黑,这些你都参与过吗?

吴翰清:我现在不太关注这些。往往是一些年轻人,他们比较愤青,看到这些网站就顺手试试,不能说他们的技术水平有多高,只是这些网站在安全方面做得太差了。

子柳:在阿里期间,你参与了哪些黑白帽子之间的较量?

吴翰清:很多人可能会认为黑客之间的较量很酷,大家你来我往,刀光剑影。其实这都是电影给大家的误导,现实中看来很简单,我对自家的网站做好各种防护,有人攻一下,进不来就走了,或者他们进来了,看到点什么东西,走了。有朋友向我们报告过漏洞,几个互联网公司的安全团队都是有交流的,有时候我们也会告诉腾讯、百度,他们的网站有哪些漏洞。

其实最头疼的是那些做黑色产业链的,主要是钓鱼和欺诈, 这些人其实不能被称为真正的黑客,他们偶尔也会利用网站的一些漏洞,或者用木马,他们用的是半骗半攻击的形式。我在这方面一直投入了很大的精力在做,帮助淘宝和支付宝减少这些业务方面的安全问题。以前一个钓鱼网站出来,可能它能够存活半个月,没有人去管它。现在经过我们的努力,它出来几分钟就会被我们嗅探到,甚至他在旺旺上发一次网址,这个网站就失效了, 他只能骗一次。

子柳:现在有没有比较令人头疼的水平比较高的黑帽子?

吴翰清:比较少,这个圈子里的人就几个去向,要么去大一点的互联网企业,要么去安全厂商,要么被国家队招去做国家安全方面的工作。

子柳:对于白帽子黑客来说,有哪些信条或原则呢?

吴翰清:首先要有职业道德,然后要假设一切都是邪恶的, 我们自己的人也不能完全相信,要通过技术手段来保证,所有人的操作都有记录,做审计,然后收权限,我们自己也只有很少几个人有服务器的权限,保证我们自己也黑不掉公司。

子柳:在你的书《白帽子讲Web安全》中有很多攻防演示的案例,会不会担心被人学去做坏事?

吴翰清:任何事物都有两面性。首先,我写的内容都是互联网上公开的,我的每一个引用都能在互联网上找到。如果一个人真的想去做坏事,他在互联网上很方便就能找到。另外,就如同我们会说开源软件更安全,就是因为它的代码都公开了,我们都能看到其中的内容。对于黑客技术也是一样的,这个武器放在这里,攻击方案放在这里,你知道怎么去攻击,也就知道怎么去防御。

子柳:每一个新技术的出现总会有人找到漏洞进行攻击,攻与防似乎是自然界生态体系的基础,在互联网行业,这个生态平衡吗?

吴翰清:只要技术在不断地发展,就会有新的安全问题出来,这就像自然界一样,达到了一种生态平衡。(对于攻的人, 他只需要找到一两个漏洞,对于防的人,要找出所有的漏洞,把它补上,这会不会很辛苦?)的确会很辛苦,而且有的时候必须跟随攻的人,他们在研究哪些漏洞,你也要去研究它。例如,黑帽子最近在研究手机,你就必须跟着去研究手机,等他研究云计算了,你也得赶紧去研究云计算,而且还要比他们研究得更透彻,赶在他们下手之前,把漏洞补上。

子柳:作为后台人员,系统出了问题才会想到你们,没有问题似乎就不知道你们的存在,工作的成就感来自哪里?如何评价自己的业绩?

吴翰清:我们确实为安全怎么量化这个问题头疼了很长时间,后来我们引入了一些体系化的东西,把安全融入到整个开发流程中。在软件研发流程中的每一个角色都要跟安全打交道,我们去培训他们要怎么做、不能怎么做,这样可以让他们感觉到我们的存在,呵呵。另外的一些量化手段包括今天我们发现了多少安全漏洞;到下一个月这些漏洞是变多了还是变少了;工程师写出来的代码是变好了还是变坏了。

我们的成就感主要体现在两方面,一是公司的产品是不是越来越好了?二是我们在工作的过程中攻克了很多技术上的难题, 这个纯粹属于技术上的成就感。

子柳:你给出了一整套的互联网安全解决方案,但需要很多部门和角色参与,你怎么推广你们的安全技术?

吴翰清:也没有特别好的办法,我们专业的术语叫做SDL
(安全开发流程),它依赖于整个公司的软件工程的成熟程度。这个公司的软件工程做得越成熟,越容易推动这些东西,在B2B 有一些比较成功的实施经验,SQA会帮我们把每个环节都打通, 我们只需要告诉SQA每个环节做什么。在其他公司有些开发过程还有点乱,就不太好推,我们培训所有的工程师,告诉他们在哪个点做什么事,项目发布之前要给安全工程师签字。

子柳:大学上的是少年班,在阿里巴巴成为最年轻的专家
(23岁就是安全专家),在外人看来,你是一个天才,你怎么看自己的成长之路?

吴翰清:上少年班的事情,我认为最好还是不要拔苗助长, 我在少年班的很多同学现在发展得并不是很好。那时候,周围都是年龄比较大的同学,谈恋爱都找不到对象,呵呵。我们那个年龄的学生都没有自制能力,到了学校之后就控制不了自己想去玩的那种心态,所以这样并不好。后来做安全完全出于兴趣,我觉得上少年班是为父母上的,而来阿里做安全确实是我自己想要的,能做到今天这个样子,也说不上有多大成就,主要还是因为我自己的兴趣。

子柳:在你的书中,你说过来阿里巴巴面试的时候,面试官让你展示一下技术,你把公司的办公内网给黑了,这个是怎么做到的?

吴翰清:这个不是公司的内网网站,是办公用的网络,当时我和几个朋友基本上把浙江这边的网络提前控制了,这边主要都是电信的网络。

子柳:给安全方面刚上路的技术人员一些建议吧?

吴翰清:从基本功做起,研究常见的漏洞,把它查出来,并去分析它,不要用它来做坏事。另外,去看看公开的漏洞,研究一下漏洞的利用技巧。

云铮——数据平台与产品部资深技术专家

张清,淘宝花名为云铮。2002年毕业于浙江大学计算机系,2003年初加入阿里巴巴,成功创建了阿里巴巴DW(数据仓库),经历了阿里DW从创建到成熟运用。2005年,淘宝数据开始启动,调任淘宝打造淘宝数据平台体系,推动商业智能体系建设。对国内外最新数据技术狂热,在和国内外业界行家交流及在阿里、淘宝的实战中,糅合所学所见,无门无派,注重实效,自成一套淘宝数据体系建设和运用的实战方法。八年数据生涯的梦
想是能够推动集团数据统一体系架构,为数据化运营,推动实现
十年数据战略尽自己一份力。

子柳:恭喜你当选大淘宝技术委员会数据分会的新任会长, 今年数据分会有哪些工作计划?

云铮:今年(2012年)一个很重要的工作就是响应这个分会成员的呼声,加入这里到底是干什么的?写Job Model(任职能力模型)、参加晋升评审吗?不仅仅是这些,要让他们有引路人, 有方向感。数据领域有很多模块,不能说让大家做了几年还局限在一个格子里,要把信息互通,把思维打开。

第二个就是数据技术的新趋势,这个是每年必做的,交流的范围也会越来越广,越来越深入。

第三个是把整个集团的数据打通。整个集团的数据团队有很多,B2B、支付宝、阿里云、阿里金融、淘宝都在做,这样力量比较分散,现在来看有必要把这些打通,形成合力,然后几个公司又各自有优势领域。如果我们拧成一股绳,阿里集团的数据在业界就没有人能够撼动。

子柳:淘宝网数据平台是你们一手带起来的,请讲述一下这个部门的发展历程。

云铮:我来的时候是一个数据分析部,那时侯有天宏、小龙女等几位同事做数据分析,我和正德几个工程师提供支持,捣腾数据库,建数据仓库。我们最初是先有业务,没有技术,根据业务需求做技术。一开始用一个单机的Oracle,然后经过一次组织

的调整之后,数据团队的几个工程师归七公带了,这个时候开始步入正轨,从单机的Oracle到4个节点、16个节点、20个节点。到20个节点的时候达到了Oracle集群的极限,这个时候已经是全球最大的Oracle集群了(Amazon美国是17个节点)。这时我们也发现商业的工具已经被我们用到了极限,接下来怎么办呢?我们只好自己革自己的命,把Oracle逐步替换掉,目前已完成了这个工作。

(子柳:这与在前台替换Oracle有什么不同吗?)这里面有很多复杂的业务,它的数据从前台拉过来。我们本身的环境在变, 前台的环境也在变,新迁的环境是Hadoop平台,一开始我们对它也不是很熟悉。这里有三个变量同时在变,如果能控制一个不变的话,还好做一点,例如,等前台变完,我们再变,但这样业务不允许,我们对时效性的要求非常高。在“五彩石”项目中,前台上线的当天,我们跟着上线,必须保持步调一致。我们去找电信行业、金融行业、世界500强企业学习,发现他们的前台业务做变革时,后台数据的工作全停了,前台交付好后再做数据,“干嘛要同步做?本身就不应该嘛”。没办法,只能自己去想办法解决这样的问题,最后我们解决了这样的问题,这在业界是没人做过的,这是一个非常宝贵的经验。

随着这些创造性的工作的成功,整个团队也被锻炼出来了, 再碰到什么新的问题不会害怕了,总有办法解决的。在发展的过

程中还有一个比较大的事件,就是阿里妈妈业务的合并。阿里妈妈是一个独立的公司,它从前台到后台有一整套的系统,前端要跟淘宝对接,后端所有的数据也都要整合。整合的细节很复杂, 最终是成功整合了,前端形成了量子统计和数据魔方两个产品, 后面数据的系统整合成Hadoop的一个集群。当时阿里妈妈有四五个集群,数据捣腾来捣腾去,其时效性、运维的成本都非常高。整合成一个集群以后统一管理、调度、维护、监控,慢慢地,报警越来越少,大家集中力量做业务、平台,这在当时是一个非常关键的工作,集中力量办了一件大事。

俗话说“分久必合,合久必分”。近两年,我们又孵化出了一些团队和产品,并进驻到了各个子公司。今年(2012年)又要在整个集团的范围内,和阿里云一起形成一个官方的组织,牵头促成“数据分享第一平台”模式创新工作,就是现在的“冰火鸟” 项目。这里面汇集了集团里最大的两个数据系统——“飞天”和
Hadoop,这个团队也包含了集团里做数据的几乎所有高P级工程师和核心架构师,是今年集中优势兵力协同做大事,相信这个项目能锻炼出更优秀、更具备大局观视角的一批数据技术专家。

子柳:数据平台经过这么多年的投入,目前产生了什么样的效益?

云铮:最简单的一个考量方式就是这些数据有没有变成价值,数据魔方和量子统计是把数据变成钱的两个产品,现在收入

还不错。但并不是说能赚到的钱就是它的价值,这些只是我们的一些尝试,我们才刚刚开始探索数据的价值,它未来是什么我们还不知道,它未来的价值更是不可考量。

子柳:我们的数据计算平台与Google、Amazon有什么异同?

云铮:从相同点看,这个级别的公司做数据,从宏观上看都是分布式的。Google做得早一点,他们自己开发的Bigtable、GFS,从分布式存储到分布式计算开发了一系列的产品,用在自己的搜索中。Amazon和Google又不太一样,Amazon采用虚拟机的方式,自己给别人搭OPS,用虚拟机租赁的方式做云计算,自己也有一些业务数据放在上面。

淘宝采用在开源的分布式平台上面用Patch的方式来做,从“云梯”到“飞天”这样的平台。分布式的理念是相通的,我们拥有全套“飞天”系统的自主知识产权,有不少精妙的设计,自主设计的后劲很足。

另外一个很重要的不同点是里面的数据是不同的,数据的价值也是不同的。淘宝把中国电子商务从零开始到现在,几乎所有的数据都包含了,有B2B、B2C和C2C的商品数据,以及交易数据和支付数据。而Amazon只有B2C的数据,Google没有商业数据, 都是搜索的信息。淘宝的数据从量和质上面都非常高,而且更适合中国的国情,这上面是中国人的消费数据。这些数据的价值需

要持续地创新和在更大的生态链中去寻找和挖掘。

子柳:我们的数据现在达到了一个什么样的规模?

云铮:我们的数据每日新增长达到100TB左右,通过极限存储等创新的技术手段,控制净增量快速增长的势头。

子柳: 作为一名互联网技术老鸟, 你的成长之路是什么样的?

云铮:理想主义,兴趣+执著,看准一个方向后,无论是顺境还是逆境,都要不断地努力,不浪费时间和机会。

入职初期,我对数据非常有兴趣,然后就是马总在阿里巴巴成立初期就请了前亚马逊首席科学家Dr. Andreas Weigend给公司介绍了数据的价值和重要性。虽然当时没有完全理解,不过当时凭着一股冲劲,就持续做下来了。随着公司的发展,从B2B DW 到淘宝数据平台,阿里云成立后,开始和阿里云一起看着飞天系统从梦想逐步变成现实,经历数据系统发展的这些宝贵经历,有机遇在里面,更需要持续的执著和努力,我庆幸的是我们有一批在这个环境里成长起来的核心数据技术人员。

子柳:从2003年加入阿里巴巴到现在,在技术岗位上做了9年
(至2012年止),历经了多少次主动或被动的变迁?你怎么看待这些变动?

云铮:从DBA转型做DW,这个原因应该是公司开始启动搞数据时,没有合适的人,当时和数据最相关的应该是DBA这个岗位。因此,我有幸被抽到这个项目组,开始了Alibaba数据仓库的第一步建设。

第二次是从B2B到淘宝,应该是2005年下半年,这次是主动的,当时B2B的数据仓库已经投入使用,基本架构完成,业务也跑顺了,我也成为B2B数据仓库建设的核心成员,基本上很顺手了。当时的淘宝业务变化很大,从行业经验上讲,做数据仓库失败的可能性很大,而且难度高,于是决定来淘宝从无做起。

淘宝的数据发展的确很快,业务也在不断变化,不过这样的环境正好促使了数据平台的快速发展,随着淘宝前台几次大的重构、拆分、合并,数据基本上每年都会遇到以前完全没有遇到过的问题和挑战,但每次都顺利过关。随着淘宝五彩石项目的成功,以及广告数据平台和淘宝数据平台合并完成,业务开始迅速发展,成为数据应用平台的原始驱动力,这个时间段的技术和业务发展进入高峰期。

说到我对变动的看法,我一直是一个喜欢挑战的人,我认为有变动是好事,这会让人经历更多,而且应该主动创造变化,比如平台稳定了,系统理顺了,是不是就应该刀枪入库,马放南山

了?不是的,应该从更深、更全的角度去提出新的要求和新的梦想,并进一步去实现。

子柳:给技术刚起步的人员一些技术成长的建议吧。

云铮:兴趣是最好的老师,坚持是达到梦想的唯一途径,当然,在个人发展的不同阶段寻找到合适的导师很重要,看准方向会事半功倍。在刚刚参加工作还没有形成自己的判断时,方向有两个来源,一个是个人的兴趣,一个是找一个你非常佩服且能掌握未来方向的人,当然,如果这两者正好重合,那么剩下的就是脚踏实地坚持。

小马——淘宝UED前端通用平台高级技术专家

赵泽欣,花名为小马,2006年10月加入淘宝网,加入淘宝之前,基本上都在创业公司中度过,创业项目繁杂,角色兼顾产品开发、售前咨询、售后支持、客户培训。加入淘宝后,他成了全网第一位前端工程师,参与了旺铺、收藏夹、物流、Web旺旺和P4P等重要产品的前端开发,对淘宝整个交易流程做了系统的前端重构。先后主导并产出了最初的前端JavaScript类库TBra,组织虚拟团队优化淘宝各关键页面的前端性能,负责技术委员会速度小组的工作。2010年开始带领前端架构团队,负责前端通用框架的研发与推广,UDC 核心业务支持和前端质量保障体系的建设。

子柳:作为D2(前端技术论坛)的早期主要发起人,当时举办D2的初衷是什么?开始时举办的情况如何?

小马:当时的环境是这样的,前端的从业人员越来越多,行业也越来越趋于成熟,而这种属于前端从业人员的会议却很少, 所以就想到是不是可以组织一场这样的活动让更多的同行聚在一起呢?所以D2 就诞生了。算上今年(2012年)的ADC 技术嘉年华,已经是D2 举办的第七届了,而回想第一届D2,当时我们的会场等条件其实都是相对简陋的,我还记得第一届的参加人数也就是70多人,发展到现在,D2 每次举办活动时参加的人数和业界的知名度都让我们感到很欣慰。

子柳:今年(2012年)的“ADC 技术嘉年华”是第二届,去年也是叫“淘宝技术嘉年华”,我们知道这个会议的主要组织者之一有你,能不能谈谈目前你对“技术嘉年华”的一些评价和你所期望的“技术嘉年华”未来可以发展成什么样子?

小马:其实说到咱们的嘉年华会议,我要说起一些国外的会议活动,比如我们参加了Velocity大会,当时令我印象很深刻的是,有一个嘉宾分享了一个观点:“性能更应该是功能……”, 这让我想到很多项目其实一开始都很关注功能,当功能通过后, 先草草上线,而后再逐步完善性能上的问题,这个嘉宾的说法让我产生了强烈的共鸣,这种体会在这个大会上有很多。因此,当参加完会议后,我们都是发自内心地感到受益了并佩服这种高质

量会议的举办方,当时我们也是想能不能把这种会议引进中国来举办,到现在我们也是“Velocity中国”大会的组织者。

说到我们自己的“技术嘉年华”,今年是第二届,就去年的第一届看,当时在那么短的时间和人力紧张的情况下,活动的组织方灵珊团队能够整合到这么多子品牌的力量,而会上的分享内容也丝毫不逊色于国内很多门票非常昂贵的会议内容,第一届的会议质量得到业界同仁的认同,这些完全都是超出预期的,因此,我觉得活动举办得很成功。

而对于第二届的期望,我们当时也是借公司给的机会去了趟美国,国外大会的展会展区给我留下了很多印象,比如,在国内很多会议的展台前就发放一些礼品、资料,有些就是放个盒子让参会者放入名片等,而在国外会议的展台前,我看到了更多的互动部分,他们会在展位前搞很多游戏式的互动来收集参会者的信息等,这种体验是很好的,让人觉得很舒服。所以,我当时体验了每一个展台(笑)。

我想我们国内的大会除了分享高质量的内容外,是不是也能在大会现场多一些这种轻松的互动元素?希望我们的“技术嘉年华”活动让更多的技术人员聚在一起分享到高质量内容的同时, 是不是能够让他们感受到更多技术带来的快乐?本届“技术嘉年华”也是租下了一层的空间布展,一种新的尝试,希望届时的活动能让大家真正放下工作上的压力,得到轻松的体验,这样由

“精彩的主题”+“轻松快乐的气氛”组成的会议,才是名副其实的“技术嘉年华”。

对于“ADC技术嘉年华”的未来,我希望我们能够继续保持特色,坚持最初的想法,在节约公司资源的同时继续把握非商业性会议的方向,为阿里的子公司和依赖于阿里生态圈生存的企业技术人员提供一个平台,通过这个平台可以更加及时全面地了解阿里,我们的会议成为业界风向标是基础,我们更要向业界的F8 会议、Google I/O看齐。

子柳:小马是淘宝网第一个做前端的,目前还在做前端,现在有5年多了,给大家简单介绍一下淘宝前端的发展历程吧。

小马:先给大家说一下“前端”是怎么来的,我自己对前端有一些思考。就以淘宝为例,一开始,淘宝就是一个社区,大家发布信息给别人看。随着互联网的发展,大家不仅仅要看到一个静态的页面,他们更需要有绚丽的页面,有更丰富的交互。也就是说,对“体验”的要求越来越高。这样交互难免变得越来越复杂,这个时候开发人员并不是很适合做这些事情,而是需要一个细化的工种来做这件事情。我个人认为传统的开发人员更多的是面向机器来开发的,更多的是考虑CPU的问题、内存的问题、数据库的问题。实际上需要一些开发人员对“用户”有更敏锐的感觉,他们来完成“界面”的问题,界面是互联网与用户交互的地方,他需要对体验有一些认识,对“人”更关注。从另一方面来

看,这几年下来,客户端越来越多,页面要适应很多客户端,这也不是传统的开发人员擅长做的事情。基于这些原因,就产生了这么一个新的工种。

进入淘宝网后,一开始要我做的就是“怎么让淘宝网的页面动起来”,让页面展示更丰富的信息,让用户的体验更加流畅。当时还没有前端工程师这个职位,我入职的职位是“Java工程 师”。 淘宝前端的工作就这样开始做了,我们刚开始做的工作就是让页面动起来,做了很多JavaScript开发工作,让整个页面变得更加活泼,这是第一阶段淘宝前端的状况。

到第二阶段,随着淘宝的业务变得越来越复杂,页面也变得越来越多,前端开发的工作量就变得越来越大,这时就需要一个很大的团队来做这个工作。与此同时,“AJAX”变得流行起来, 它改变了整个业界的开发模式,很多工作要通过前端来实现,这也让前端的工作越来越多。这个阶段前端的团队迅速成长,你可以理解为,第一阶段就是让页面动起来,第二阶段是前端和后端合作,让页面的体验更加友好。

再往下一个阶段,我们发现越来越多的内容在浏览器中展现,越来越多的浏览器出现了(Firefox、Chrome、IE 6~IE 8), 这让前端越来越重,就出现了性能的问题,我们又需要做一些框架、规范和很多优化的工作。

到现在这两年来看,互联网经过这么多年的发展,开发模式渐渐变得比较稳定和成熟了。传统的开发人员不擅长的事情现在有了强大的框架,方便他们很快上手使用。从企业的成本看,原来需要两个工种去做的事情,现在一个工种就可以完成。这样慢慢出现了一个趋势,貌似不太需要把工种划分得这么明细,以后对淘宝来说也会继续存在前端这个工种,但更多的是做一些架构和统筹方面的工作。

子柳:现在很多团队都在经历着分分合合的变动,从前端团队来看,是很典型的一个例子,你怎么看待这些变动?

小马:刚开始,我们的团队就四五个人,大家在一起按需做页面。随着网站业务的拆分,开始有一些分工,例如,有人负责商城的前端开发,有人负责主站的前端开发,虽然业务上有一些分工,但团队还是一个。再往后面,随着淘宝主站的拆分,就出现了“业务线”的概念,例如,商品线、店铺线等,这个时候前端团队进行了一次拆分,分成几个小团队进入每个业务线。这样拆分有利有弊,好处是能快速推动业务的发展,弊端是同一工种之间缺少交流,会产生很多重复建设。分久必合,过了一段时间,团队又合并到一起了。合久必分,没多久,整个公司也拆分了,分成几个子公司,我们当然又得拆,团队分别拆分到几个子公司。我觉得合和分的过程也不用特别看重,不同的阶段需要不同的组织形式。

到现在这个阶段,应该说是半分半合,为什么说是半分半合?因为前端团队分成了两块,一块跟进业务方面的前端开发, 一块做通用产品的开发,这样保证了业务能够得到有效的支持。另外,对于通用的产品,能够有效地管理起来,避免了大家开发环境的不一致、标准的不统一等问题。

子柳:畅想一下前端未来的发展方向。

小马:我认为,未来的方向是前后端的界线越来越模糊,即未来求开发工程师能够把前后端的工作衔接起来。我个人比较认可一种说法:经过这几年开发模式的渐渐发展,未来前后端的开发会融合起来,这样的岗位叫做“Web开发工程师”。

另外,这个岗位叫什么名字不重要,重要的是人们对于交互和体验的要求越来越高,随着移动互联网的应用,会产生更多的交互方式,如滑动和震动等。这就要求有人做这方面的开发工作,同时还要推动前端技术的发展。

子柳:单从技术方向上看,HTML5是不是未来的一个大趋势?

小马:HTML5不是“HTML4”的简单升级,很多人会认为HTML5就是那些标签括号括起来的表示性的语言,其实HTML5 和HTML4不是一回事儿,我们现在所说的HTML5除了有HTML4 增加的一些语义性的标签之外,通常,我们把CSS3和很多新的

JavaScript(简称JS)的API都合起来统称为HTML5。为什么会有这些变化?我觉得原来的HTML4和一些相关的技术并不能让Web 成为一个很好的开发平台,它只能让Web作为一个“界面”展现一些内容,做一些简单的交互。而HTML5的目的是想让整个Web 真正成为一个开发平台,或者说是让浏览器成为一个适合开发大型应用的平台。你看它的变化,首先HTML5标签的变化是让它更具有语义化,然后CSS3把很多展现型的东西做了加强,最重要的是新增的那些JS的API,你现在已经可以在浏览器本地连接数据库、使用Socket、使用本地存储、获取地理位置等,很多我们以前开发过程中需要从后台取得的信息,现在都可以在本地浏览器中做。这使得浏览器变成一个适合做大型应用的平台,而不是像以前一样只做内容的展示。

在淘宝的网站上,HTML5已经无处不在,淘宝是国内应用HTML5最早的网站之一。

子柳:在发展的过程中,我们从业界获取了很多支持,描述一下业界对我们的影响有哪些?

小马:有三家公司对我们影响非常大。

第一家是Yahoo(雅虎),“前端”岗位的定义就起源于雅虎。当时雅虎的发展如日中天,他们有很多优秀的技术和人才, 并且最早提出前端的概念、框架和规范。我们最早使用的JS框架

YUI就是雅虎创造的,我们的很多规范也是借鉴他们的,我们曾遇到的性能问题就参照雅虎提供的优化方案和工具(YSlow)。可以说,2007年至2009年,我们很多东西都是借鉴雅虎的。

第二家公司是Google,Google为什么对前端产生这么大的影响呢?是因为AJAX实际上是被Google变成一个商业上很成功的应用,它的Gmail、Docs等产品采用了大量的AJAX技术,AJAX 在Google的成功应用让很多前端和交互的工程师开始使用这种技术,让前端的工作变得更加繁荣。

第三家就是Facebook,Facebook是把体验和技术结合得最完美的公司。

其实看起来对我们影响最大的也就是硅谷历史上走在最前端的上述三家公司。

子柳:这三家公司有两家都被“墙”了(即被屏蔽,无法打开其网站),很多人知道“墙”阻碍了信息的交流,却不知道“墙”对技术的发展影响很大,“”是技术人员必备的技能。

小马: 确实是的,最搞笑的是有个日本女优的名字就叫YUI,有段时间搜索YUI,就会被屏蔽掉。

子柳:那回过头来说我们对业界的影响有哪些呢?

小马:我们通过博客、主办的D2和翻译的一些图书比较成功地把“前端”岗位推到了业界,让很多公司知道这个工作的重要性,也让很多技术人员知道自己从事的是前端的工作。

子柳:有了孩子之后,对你有什么影响?

小马:影响很大。其实不是从有了孩子开始,从知道老婆怀孕就开始了。以前,我的工作时间相对比较自由,时间比较充足,从老婆怀孕开始就要给她做饭,有了孩子又要陪孩子, 时间变得非常碎片化,必须更有效地利用自己的时间。另外, 责任感有了明显的提升,例如,我以前开车就很少系安全带, 有了孩子之后就不愿意冒任何风险了;以前感冒了就耗着,现在怕生病传染给孩子,就开始关心和爱惜自己的身体;在孩子面前也不敢说脏话了。其实孩子的成长也督促着我自己的成长。

子柳:你和你的团队都翻译过好几本书了,有什么经验给大家传播一下?

小马:翻译的都是有关前端方面的书,一开始是因为觉得我们需要这方面的技术,这也可以推动前端技术在国内的发展。写书也不像写博客那么随意,这是要变成铅字的,所以要很谨慎, 这就要求必须把后面的原理弄明白,对于已经掌握的东西也相当于复习了一遍,这是一个很好的学习过程。关于团队一起写书,

我发现这是一个很好的团队建设的方式,在写书的过程中,大家要有很多交流,能够互相学习,互相督促,也增进了彼此的感情。推荐其他同事也试试看。

另外一点经验是写书是不赚钱的,基本上可以说是公益性质的,这要占用大量的时间。

子柳:说说你个人的成长经验,给起步阶段的同事一些建议吧。

小马:现在回过头来看,其实成长最快的一段时间是刚进淘宝的那几年,那个时候很单纯,就想着把工作做好,做完一个做下一个,不管这个业务是不是重要,需求方是不是好打交道。有个“一万个小时理论”,我觉得很正确,说的就是一个人必须经过不断地练习,不断地遇到问题才能成长起来。当然,做的时候要不断总结,写博客是一个很好的途径。

子柳:现在有很多人出去创业,作为一个曾经创过业的技术人员,你有什么看法?

小马:很多人创业是因为公司变得越来越大,有很多流程和规章制度的限制,这样自己发挥的空间越来越小。但是真的到社会中创业时会发现限制同样很多,你同样要面临税务局、工商局、商标、公司注册、股东关系、员工管理、同行竞争等问题,

这跟你在公司中工作并没有本质的不同。所以说创业其实是一种心态,你用旺盛的精力、饱满的斗志和坚定的信念去克服一个又一个的困难,这就是创业。到外面去创业和在一个大公司里创业,我个人觉得并没有本质的区别。

当然,如果你不认可公司整体的方向,或者你不认可这个行业,你有一个理想去打造一个新的天地,公司也应该有这种胸怀鼓励你去创业。

淘宝传奇工程师多隆的程序世界
多隆是淘宝的创始人之一,也是淘宝的第一个程序员,他奠定了诸多淘宝重大软件项目的基础。有人说他是淘宝的“扫地僧”,有人说他是“神”。在淘宝,他做到了既懂C/C++语言, 又懂Java和内核;既可以深入技术底层,又能切入到高层业务领 域,从前端到后端,知识既广又深。他就是核心系统部专家组的多隆。

技术小二中流传一句话——“有困难,找多隆”。关于这点,我深有体会,有一次,我们组解决一个Apache服务器无故崩溃的诡异问题,搞了三天还没找出原因,于是请教多隆,他在三分钟后就告诉了我答案。瞬间的秒杀,让我领教了“高级研究员”的威力。

我和多隆在同一个部门,工位相邻。这个近水楼台先得月的条件,让我平时有机会观察他,从他的一举一动中思索他如何以非科班出身(生物系生命科学专业)成长为计算机牛人。

多隆说他知识经验的积累主要归功于在淘宝业务发展的过程中,他遇到了各种各样的问题。这些问题促使他不断学习解决问题的各种技术,他和淘宝一起成长。在我看来,他对技术始终保持着谦卑的心态也很关键。他把自己当成海绵一样去吸收新知识——在他的字典里,没有不值得去解决的问题,也没有不值得

去学习的技术。而且每学一个知识点,多隆都会写一段代码去验证,一方面是练习,另一方面也让他加深理解,直到真正掌握这个技术。

多隆还有一个常人难以做到的特质。当他沉浸在他的程序世界时,外界的人和事很难干扰到他。一天的工作时间里,他绝大部分都在座位上写代码。若他不在座位上,那基本上就在洗手间。我还记得2010年公司的乒乓球比赛决赛是在创业10楼的休闲吧举行的,比赛现场距离多隆只有20米远,锣鼓喧天,人声鼎沸,很多人都被吸引过去了,整个办公区只有多隆一个人还“粘”在椅子上。这大概就是《功夫熊猫2》里的最高武功心法“Inner Peace”
(内心 平静)吧。有了这样的专注力,不成为高手也难。

多隆从2000年加入阿里巴巴,到现在已经十多年了,仍在淘宝技术第一线写代码。我曾问他是如何坚持这么久且至今还这么有激情。他回答说,很简单,因为他在做他喜欢的事情,解决问题和写代码让他觉得很有成就感。有一次,我们在从庐山郊游回来的火车上,他还在写代码,可见他对写代码喜欢到了什么程度。

在淘宝,多隆被从副总裁到普通的软件工程师等诸多同事衷心佩服,广受爱戴。这里面既有大家对多隆技术上的认可,更有大家对他默默付出和人格魅力的赞叹。2011年的公司年会上,那个《淘宝的一年,亲》的视频曾感动了很多小二。很多工程师为了淘宝线上的稳定,奉献了很多,也对亲人和家庭亏欠了很

多。看视频的时候,坐在我旁边的多隆泪流满面。我想,他之所以有如此深的感触,是因为视频里的故事正是他无数个类似不眠之夜的写照——2009年之前,公司甚至还没有视频里提到的“消防群”这个集体解决、承担故障的组织,即使是半夜,多隆都要起来解决问题、排除故障。而求救过他的小二说他总是随叫随到,没有架子,态度和蔼,任劳任怨。直到现在,很多消防群里解决不了的问题,仍然会找多隆来解决,而他也会在第一时间出现。

一个计算机工程师该以怎样的态度和方式来工作和学习?多隆的一条朴素的建议或许可以很好地解答:“发现问题,解决问题,不要绕开问题的本身;多做事情,不会吃亏,即使不是你的事情。”这大概也是多隆最大的成功秘诀吧。看似容易的原则, 却不是每个人都能做到的。做到了,你也有希望成为“多隆”。

始终保持对代码的那份单纯的热爱,保持对技术的专注和钻研;别人把工作当工作,他把工作当事业——这就是多隆的程序世界。

你可能感兴趣的:(文章传记)