淘宝技术十年:05-侠少加过批注


第五部分 牛P列传 “所有的进步都是不稳定的,一个问题解决了,我们不得不面对又一个新问 题。” ——马丁·路德·金 162 162 淘宝技术这十年 正明——集团核心系统高级研究员 正明是集团核心系统研发负责人,高级研究员。为2012年 “大淘宝技术委员会”会长,毕业于国防科学技术大学计算机 专业,工学博士,曾任TelTel首席科学家,国防科技大学计算 机学院副教授,RedHat 内核开发者,LVS 开源软件创始人, ChinaCluster 的共同创办者。 子柳:首先恭喜你当选今年(2012年)“淘宝技术委员会” 的会长。2012年将是技术委员会运营的第三年,在年会上也有一 些委员疑惑的声音,例如,技术委员会是一个虚拟的组织,没有 调动资源的权利,很难主导一些工作之外的技术创新,作为本届 163 163 第五部分:牛P列传 会长,你对这些声音有什么看法? 正明:技术委员会在淘宝成立有两年左右的时间了,发挥了 不少积极的作用,例如“Job Model”的编写、“晋升考核”、 “技术赛马”活动、“淘宝开源”等,技术委员会确实做了一些 事情。可能我们宣传得比较少,呵呵。有人提到去年(2011年) 有个想法,但是跟业务线的关系不大,他去找那些主管,却要 不到资源。其实像去年无锋做的“技术赛马”活动中的“taobao labs”项目,他也不是一个人做的,他找了好几个人,是跨团队 的。那时技术委员会也出面,获得了菲青的支持,把外边的人员 放进来,这样“taobao labs”得到了很好的开展。其实技术委员会 是除了业务线之外的一个额外的渠道,在这里你能讲你的想法, 拿到资源。可能这方面我们宣传不够,很多技术小二不太知道。 2012年我们要在这方面多宣传一下,包括提升技术委员会在整个 技术小二中间的影响力,例如,它有哪些作用,有哪些功能等。 子柳:技术团队在去年被分离成了几个部分,但是技术应该 还是一体的,在大淘宝的大氛围下,“大淘宝技术委员会”在其 中担任的是怎样一个角色?起什么作用?这些会给整个淘宝带来 什么影响? 正明:公司组织架构有不同的划分,这是业务的需要。“技 术委员会”是一个纽带,可以把各个组织架构下的技术部门串在 一起。“技术委员会”是技术人员的一个组织,它不承担一个具 164 164 淘宝技术这十年 体的业务线,它的互动和学习的功能会更好一些。这样能够使整 个大淘宝的技术人员形成合力,共同推动淘宝技术的发展。 子柳:作为大淘宝技术委员会的新任会长,委员会在未来一 年的技术规划有哪些可以和小二分享呢? 正明:这个规划不是自上而下的,而是技术委员会的各个分 会对自己的发展做规划,现在有7个分会,未来可能要增加一个 “无线分会”,主要由这些分会来做规划,自下而上的规划会更 有生命力。作为技术委员会的“常委”,我们主要的职责是申请 到更多的资源和大家一起设立好的激励机制,让分会有更多创新 的想法,更自主、自发地开展工作。技术总会上我们也会策划对 内对外的交流平台,例如,技术委员会的开放日,我们还会搭建 技术委员会的网站,开展内部交流活动(例如“空享会”),每 个分会有自己的发展基金,“技术委员会”也设立一些奖项用来 激励“技术赛马”、“技术创新”等。对外我们继续支持“技术 嘉年华”、“技术沙龙”、“Velocity”等。 子柳:你个人的技术经历非常丰富,在读研究生的时候就开 发出了LVS系统,然后在国防科技大学教书,接着去创业,最后 又加入淘宝网,能分享一下你这一路是怎么走过来的吗? 正明:我是在念博士的时候开始做的LVS,2000年开始在国防 科技大学教学,2006年正式离开大学了,先是创业了一段时间, 165 165 第五部分:牛P列传 两年前加入淘宝。 我在1998年做的LVS项目,到1999年的时候,基于这个项目 已经有很多应用了。那时侯我有个同学在上海,复旦大学有个 MBA的创业比赛,他问我有什么想法,我就把LVS这个项目给他 描绘了一下,结果他拿着这个想法去参赛了,结果好像没有获 奖,哈哈。后来我们觉得既然写了这个商业计划书,看着还有点 机会,就找一些朋友看能不能拿到投资。在2000年年初的时候, 找到一笔种子基金,那时侯我还在学校里,我们成立了一个公 司。当时正是互联网泡沫时期,我们也没什么经验,几百万元的 钱我们一年就花完了。这就是我们第一次创业的过程,其实创 业要考虑的事情很多,包括整个公司的运作、现金流、市场推 广等。 (子柳:当时规模有多大?)规模最大的时候有40多人,在 北京和上海两地。 (子柳:那是一个什么样的项目?)我们网站的名字叫 chinacluster.com,即中国集群网络有限公司,围绕LVS做负载均衡 的设备和技术服务。 这样差不多一年的时间,公司关闭了,我还在学校教书,做 科研。2001年,我结婚了,2002年,我太太博士毕业了,想去北 京,她是校子弟,从小在国防科大的院子里长大,从幼儿园一直 166 166 淘宝技术这十年 到博士没出去过远门,等毕业了就想一定要离开这个地方。正 好我有个同学在中科院软件所,我们学校派我跟他们合作一个 项目,然后就去北京了。当时我们看整个计算机产业的发展, 一开始是大型机+哑终端,到现在是个人计算机的天下,这可以 说智能从中心向边缘迁移,导致新的产业格局。然后我们看通 信行业,当时整个通信体系把持在运营商手里,终端只负责接 收和发送讯息。我们预见通信产业的智能也要往边缘移,网络 的层面只要是个“笨网络”就可以,负责报文转发就行了(但 目前来看,这个还是牢牢控制在运营商的手里)。当时AT&T 的一个研究人员研究了十几年的智能网,但后来他把自己的理 论颠覆了,认为智能不应该在中心,研究智能网都是错误的, 智能应该在终端,我看了之后非常认同。他这个理念跟Bell实验 室的研究是背道而驰的,后来他被解雇了。但我认为这是个潮 流,一定会发生的,我们顺势而为,不求做出多伟大的东西, 搭上这趟车就能成功,于是我们就围绕着这个主题开始研究。 我们看到SIP协议实际上是解决了两个Peer(对等端)之间通信 的问题,借助一个Session能够找到对方。这个协议跟我们的理 念是契合的,我们就研究这个SIP。但是现实中有很多家庭网 关,它是私有IP地址,要做NET地址翻译才能找到公网。SIP协 议是七层协议,不会考虑到私有IP,这样两个peer都在私网中, 怎么找到对方?NAT穿越就是一个问题。当时美国有一家公司 Jasomi能做这个事情,一台Jasomi设备要卖好几万美元,很贵。 我当时看了他们的规格,感觉也不是很难,正好北京非典爆发 167 167 第五部分:牛P列传 了,我一个多月待在家里没啥事干,就把这个功能写出来了, 没人打扰时的工作效率真高。然后我们在硅谷通过思科找到做 SIP Proxy的一个小公司Cathay Networks,他们也快没钱了,我 们就合伙干。我们有了SIP相关的技术,但不知道拿它们做什么 应用。 我们做的一个应用叫Meet2talk,即聚在一起聊天,相当于一 个语音聊天室或电话会议。我们这个是面向终端客户的,不是 面向企业的,但是发现这个应用不是一般的人能聊得起来的,因 为我们不想往娱乐的方向发展,因此用户很少。然后我们就想面 向熟人做一个语音聊天工具,在2004年做了一个TelTel,推出来 之后发现市场上有一个Skype,它是2003年9月做出来的,此时我 们在技术上也碰到一些问题,面向大规模用户的时候顶不住了, 后来美国这边的几位员工要离开,那边就做不下去了。当时我在 国内给他们NAT穿越的支持,同时也在做别的项目。2003年年 底,我们在国内做的一个项目叫比酷网(bitcool.tv),该网允许 用户上传一些MP3、视频、Flash等,直接提供播放和下载,当时 没看到Flash技术的巨大价值,这些多媒体文件都是用源格式播放 的,流量很大,带宽的成本很高,也不知道流量的价值。由于付 不起流量的钱,我们推出了P2P客户端软件aBitCool,后来收到 好莱坞的律师函,又有了版权方面的问题。(问:差点做出一个 youtube?),就差那么一点,若当初坚持下来就好了,呵呵。 美国的人要走,我们就去接美国语音通信的研发,解决了 168 168 淘宝技术这十年 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,系 169 169 第五部分:牛P列传 统就会崩溃。在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万元。这 个项目我们以后还会持续优化,因为优化无止尽嘛,我们追求 的目标是更好的用户体验,更短的响应时间,同时还要花更少 的钱。 响应时间是我们最关注的指标,因为它直接影响到用户的体 170 170 淘宝技术这十年 验。其实淘宝目前在图片的优化方面做得算还不错,例如,今年 “双十二”的时候,我们最高跑到了856GB/s的图片流量,这在世 界上可能也是一个纪录了。你现在打开一个淘宝的网页,图片加 载的速度还算蛮快的,目前图片请求的平均响应时间已经在10ms 左右,但我们还会进一步挖掘,看能否达到9ms或8ms以下,让它 加载得更快。虽然说,越往下面挖掘,难度会越大,但是这也是 值得去做的。 另一方面,网络传输这方面往往也是瓶颈。一个图片请求发 过来,硬盘的处理时间算为10ms,但是在网络传输方面,CDN 部署的好的情况可能会占用20ms,如果网络有问题,就可能到 70ms、80ms。所以,网络协议的优化方面,可以挖掘的空间可能 会更大。 2009年年底,我们立项要做低功耗的项目,选择了当时我们 掌控比较好的CDN系统。因为CDN对数据的安全性要求不是太 高,毕竟上面都是缓存,数据丢了也无妨,全局系统可以随时把 坏掉的节点切掉,对用户的影响低,所以这个低功耗服务器就专 门针对CDN应用进行定制。这中间经历了很多事情,整个过程并 不是很顺利,最终成功弄出来,也要感谢很多参与的厂商,像威 盛、Intel,还有超微。总之,我们最终还是把这个基于Atom的服 务器用起来了,而且性能优化效果与其他的Intel处理器相比,目 前是最好的。其实低功耗服务器在整个绿色计算中只是一个小环 171 171 第五部分:牛P列传 节,服务器还包含高性能服务器,服务器之外还有网络设备、机 架、直流供电的电源,到整个数据中心的设计,都应该是绿色计 算的范畴。而且我们现在定制的只是一款Atom D525的机器,实 际上,低功耗也可以有很多款机器。所以,现在我们做的只是其 中很小一部分,把它分享出来,也是希望大家都能参与进来,尤 其是也在关注绿色数据中心的互联网企业。如果大家都能参与进 来,对业界会是一个很好的促进。我们现在跟业界同仁已经在联 系这方面的事情,目前正在进展中。 子柳:是什么机缘来到淘宝的? 正明:我在前些年其实做得很累,不断地试验很多新想法, 商业的成果很难如预期。有时候有了不错的技术,却不一定能找 得到用户,这很难创造什么社会价值。而淘宝的社会价值是显而 易见的,系统的规模和挑战摆在那里,技术问题很快就能给用户 带来价值。我在2007年到杭州参加过一次网侠大会,后来一直有 人跟我联系,我手上那些项目结束之后,在家闲赋了一段时间就 过来了。 子柳:你预测一下未来的淘宝网系统会有哪些挑战? 正明:未来规模的挑战会更大,数据的存储系统、中间件、 CDN的存储系统,在规模上来之后,这些架构都要重新思考。像 CDN现在已经有1000GB/s了,未来达到3000GB/s或更大的时候, 172 172 淘宝技术这十年 在不影响用户体验的前提下,如何降低带宽的成本,是不是要建 不同规模的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笔交 173 173 第五部分:牛P列传 易,这可以撑起淘宝未来很多年的发展。去掉IOE的成功,这对 淘宝来说是一个标志性的事件。我们最核心的系统已经摆脱了商 用软件,完全基于开源软件和自主开发的软件系统,所以说,开 源软件对我们帮助非常大。 我们现在也把我们自己的一些软件开源出来,回馈社区,包 括TFS、Tair、WebX、TEngine等。我们的淘蝌蚪平台上已经有了 一百多个开源项目,这些项目不仅是淘宝工程师的,也有很多是 外面的工程师贡献的。我相信国内的开源环境会越来越好。 子柳:你对刚入行的技术人员有什么建议? 正明:找到自己感兴趣的,花时间投进去,通过实践后的知 识积累比只看书本有用得多。我看过一本操作系统方面的英文 书,其中引用了一段中国人的格言:“I hear and I forget. I see and I remember. I do and I understand”,这句话给我留下非常深刻的 印象。是荀子说的“不闻不若闻之,闻之不若见之,见之不若知 之,知之不若行之。” 子柳:你在工作上一直很忙,我也看到你经常在微博上秀生 活照,能描述一下你业余时间是什么样子的吗? 正明:主要是带孩子玩,我比较喜欢孩子,当然家里的事不 是我做主,我主要负责陪玩,呵呵。 174 174 淘宝技术这十年 子柳:感谢正明抽出宝贵时间接受我们的采访,从正明这一 路走过来看,总的感觉就是“技术驱动人生”,正明已经把技术 融进了骨子里。 正祥——淘宝高级研究员,OceanBase项目 负责人 他曾拥有众多响亮的名头,他没有下属,但却做着令人高山 仰止的事情,他笑称自己“没品位”。下面让我们一起去慢慢品 味这位技术大侠——正祥。 175 175 第五部分:牛P列传 阳振坤博士(淘宝花名正祥),中国计算机学会YOCSEF荣 誉委员。1984年进入北京大学,大学只用了三年,硕士只用了一 年多,24岁成为王选的博士生。1997年破格晋升为教授,1999年 成为北京大学首批“长江学者奖励计划”特聘教授之一,先后 获得北京市科学技术进步奖一等奖、国家科学技术进步奖一等奖 (排名第四)、第六届中国青年科技奖、北京市五四青年奖等。 曾先后担任方正研究院副院长、北大计算机研究所副所长、联想 研究院首席研究员、微软亚洲研究院主任研究员、百度高级科学 家等。现担任淘宝高级研究员。 这样的名头足以叱咤江湖,也许你脑海中会浮现出某位成功 可以复制的人或者某位人生导师的形象。但见到他的那一刻,你 脑海中的形象就会被颠覆。运动鞋、宽松的休闲裤、略有走形的 衬衣,斜挂着工牌。瘦高,眼神清静,说起话来总带着谦卑的笑 容。他就是正祥——阳振坤。很多人对他的着装风格印象深刻, 仰慕他的潇洒不羁,他却说,那是因为他“没品位”,让大家别 学习这点。 这位“没品位”的大侠却在做着令人高山仰止的事情,他成 功地主持研制了方正第六代和第七代RIP(光栅图像处理器), 为我国新闻出版事业做出不可替代的贡献。中科院院士、北大方 正科技研究院院长王选教授这样评价他:“阳振坤研制了我国第 一个页面语言解释器,在新一代RIP的总体设计、软件结构、关 键算法等方面做出了关键性贡献”。而今,他在淘宝主持研发海 176 176 淘宝技术这十年 量数据库OceanBase(oceanbase.taobao.org)。淘宝的数据已经远 远超过了单个关系数据库所能支撑的最大规模,而且仍然在快速 增长之中。对淘宝来说,研发海量数据库已经不仅仅是出于成本 的考虑,如果不采取这些技术,可能很快会因为机房数量、成本 等无法支撑下去。 面对这些世界级的难题,正祥研究得怎么样了?这样一位牛 人,他身上有什么传奇的经历?他对年轻人的成长有什么建议? 他身上又有哪些八卦消息呢? 带着这些问题,我对他进行了一次采访,采访的开头有一个 很有意思的细节,正祥带着一个空的矿泉水瓶,自己去饮水机那 里打了一瓶水,放在脚边。  子柳:恭喜你,你主导的OceanBase刚刚获得本届中日韩开源 软件竞赛优胜奖,这个奖项的意义是什么? 正祥:这是三个国家信息产业部联合组织的开源软件的一个 促进会议(第十届东北亚开源软件推进论坛),奖项是“第六届 中日韩开源软件技术优胜奖”,我们国家有三个软件获奖,都是 企业做的,淘宝OceanBase排在第一。 子柳:OceanBase主要是为了解决什么问题? 正祥:关系型数据库理论的成熟在20世纪六七十年代,技术 177 177 第五部分:牛P列传 和产品的成熟是在20世纪七八十年代,从成熟到现在,它的技术 和理论没有太大的突破。但实际上,需求是在一直变化的,今天 的数据规模对关系数据库提出了严峻的挑战。最近,很多企业 开始做NoSQL的系统,其实这个NoSQL可以说“No SQL”或者 “Not Only SQL”,我更倾向于叫后者,咱不能否定SQL。我们 要解决的问题是数据规模的问题,数据库本质上是一个单机系 统,即便是做了分库分表,这些也没有改变的是单机系统的本 质。单机系统导致它的数据规模和处理能力都会有一定的限制, 你要提升这些,只能用更好的服务器——小型机、中型机、大型 机,它的成本上百倍地增长,但性能却没有跟成本一样提升,性 价比很低。而淘宝的数据规模已经到了这个关口。 打破这个瓶颈,分布式的系统是一个选择,这方面的大规模 应用最早是由Google开始做的,但我们的需求跟他们有一个不同 的地方:搜索引擎可能索引不到一些页面,也可能索引到一些页 面的速度较慢,但淘宝是从事电子商务的,用户的商品、交易都 不能遗漏和出错,页面的展示要尽可能地快,我们需要更高的数 据一致性,也需要存取速度更快的数据库。 因此,我们要解决的问题就是在淘宝的数据规模不断增长的 情况下,提供高容量、低成本、高一致性、高可靠的数据存储和 访问服务。 子柳:网友袁鹏-wugu123问,传统的关系型数据库的数据规 178 178 淘宝技术这十年 模受到制约的主要原因是什么? 正祥:关系数据库的数据规模受限的根本原因是目前的关系 数据库尽管有各种方式的扩展,但本质上是单机系统。 子柳:OceanBase是什么时候开发完毕的,现在的应用情况怎 么样? 正祥:开发完毕还说不上,因为这个系统还需要持续开发。 我们是从2010年5月开始开发的,2011年2月发布了第一个版本。 现在应用到了5至6个系统上,收藏夹是最早的应用,现在有63亿 条记录,3TB的数据,访问量也比半年前增加了一倍以上。以前 用Oracle的系统是可以换成OceanBase的。 子柳:竞争对手对OceanBase有以下看法,对此你怎么看? yy 有一个中心点,在数据量很大的情况下,单点有风险; yy HBase开源,大公司主导,很多坑都走过了。 正祥:OceanBase最好的地方就是具备事务,数据一致性很 好。HBase在数据容量上会有优势,几千万亿字节都有可能,但 它没有解决事务的问题。从数据规模来看,虽然有个单点(有热备 的),但OceanBase数据规模仍然可以达到关系数据库几十倍甚至 几百倍的规模。 179 179 第五部分:牛P列传 子柳:OceanBase推广的成本高不高? 正祥:OceanBase的推广应用得到了各个方面的配合,DBA团 队已经跟OceanBase融合在一起了,OPS也是不遗余力,非常关键 的是,OceanBase得到了应用和业务团队非常大的支持。数据库的 迁移是有工作量的,而且还是有风险的。在应用部门的配合下, OceanBase已经做到了从原来的关系数据库平台无缝迁移到新的平 台上,并且不停止服务,在对OceanBase进行升级时也不停止服 务。到现在已经跑了半年,系统也比较稳定,且没有停止过服务。 子柳:OceanBase应用之后,节约了多少成本? 正祥:还真没细算过,首先Oracle的License就是很贵的,这个 是我们能省下来的,服务器的数量也能减少。例如,收藏夹,原 来每个机房有16台机器,OceanBase刚上线的时候是一个机房14台 机器,后来数据量和访问量都已经翻倍了,还是14台机器。现在 我们正在换成6台SSD盘的机器,预计能提供更大的访问量。 另外,成本最高的其实还不止是这些设备,而是网络带宽和 机房机架等的成本。若减少机器的数量,会降低这方面的成本。 淘宝的业务在高速增长,数据量和访问量在加速增长,但电力和 机房资源不可能同步高速增长,从现在起,我们就必须在提升服 务能力和性能的同时,降低服务器的使用量,否则不仅是成本令 我们无法承受,机房和机架也无法找到。此外,从节省能源的角 度来说,我们也必须要低碳环保。 180 180 淘宝技术这十年 子柳:在你的人生经历中,不断被破格提拔,你认为原因是 什么? 正祥:我的运气比较好,机会也比较好。我自己的要求比较 低,除了对住的地方要求高一些(我睡觉很轻,呵呵),吃穿之 类的都没啥追求。我属于那种党叫干啥就干啥的人(虽然不是党 员),而且我的运气非常好,遇到了一些很好的老师(比如王选 老师等),站在巨人的肩上做事做事,把手上事情做好就成,就 这样。 子柳:从你的经历来看,你对现在的技术人员的成长有什么 建议? 正祥:很多人会说年轻人比较浮躁,其实我的身边有很多非 常优秀的年轻人,他们聪明、刻苦、有闯劲、愿意接受新事物。 年轻的同事想赚钱,想提升自己的职称,这些都是十分正常的。 在这点上,我特别喜欢马总的理念——做公司要赚钱,但阿里从 不把赚钱作为第一目标,我们服务好了客户,客户赚了钱,我 们一定会得到自己应得的一份。在个人成长问题上也是类似的 道理,这就是,一个人如果把做事、做成事作为主要目标,该他 得到的东西,一定会顺理成章的、水到渠成地得到,但是,如果 把上升作为主要目标,做同样的事,结果就会完全不一样。一句 话,你的心态会最终决定你的成就。 子柳:在北大期间师从王选院士,他对你有什么影响? 181 181 第五部分:牛P列传 正祥:我能做他的学生真的是运气很好,王老师给我的影响 非常大,他心胸开阔,是我接触到的最伟大的人。我跟了他13 年,从他身上学到了不少东西(可惜我悟性和能力不足,有太多 的东西没有学到)。当时我们研究所只有二三十个人,他对我们 的指导非常多。他和他的夫人陈堃銶教授前期做了大量的研究, 才有后来我们团队做出来的那些成果。而那种朴素的只想把一件 事情做好的感觉,也深受他的影响。 子柳:除了王选之外,在技术领域,对你影响最大的人 是谁? 正祥:没有其他人了,王老师的高度太高了,没有人能像他 一样,给我这么大的影响。 子柳:你经历了联想、微软、百度、淘宝这几大企业,能否 描述一下你在各个企业中的主要收获? 正祥:跟着王选老师在北大方正集团做了十几年,当时的方 正是技术好但管理不足的企业,而联想是一个管理很好的企业, 我很想看看联想是怎么管理的,所以离开方正和北大后就去了联 想做无线投影仪设备,前后用了差不多3年时间,完成后,在探 索新的项目和方向时,就定位为存储,无意中了解到了Google的 GFS,但云计算和联想主业(PC等)的差距较大,做这个事情 的可能性较小。于是我去了微软亚洲研究院,做了一段时间后, 发现要应用到微软那些比较核心的产品上的障碍很多,包括地域 182 182 淘宝技术这十年 的、语言上、文化的,做这个最好还是去硅谷或西雅图。一年多 之后去了百度,在百度待了两年多,做的偏BigTable(当时HBase 还不能用),百度是一个星期重建一次索引数据,当时就想希望 改进这一块,在百度那边的项目做完了,但最后没有应用,并且 项目也被关闭了。 子柳:以上几个企业的技术风格有什么不同? 正祥:联想要求研发人员要了解市场,跟着一个产品从市场 需求到开发,再到小批量生产、真正量产等整个环节。微软的研 发模式比较重,流程和审核机制非常严格,每一行代码都要审核 很多遍,做事很稳,但很慢,我想这也是它在互联网市场很难施 展的一个原因。我觉得百度其实不如淘宝重视技术,KPI导向的 文化很重,各部门之间的协作和配合比较难(这一点淘宝要好不 少),不同部门、不同项目的开发人员做了不少有差别但其实比 较类似的东西,看起来个体效率高,但整体效率未必高,这可能 是百度加班很严重的原因之一。 子柳:你很早就是一个研究室的主任,能够带队开发。但你 在淘宝是没有下属的,为什么? 正祥:我在微软和百度也没有下属,我最大的长处是做技 术,管理方面比我擅长的人有很多,那就让他们管吧,呵呵。管 理对我来说实在是一项艺术,我还是更偏技术。 183 183 第五部分:牛P列传 子柳:你在没有直接下属的情况下,靠什么方法带领开发 团队? 正祥:其实事情是大家一起做的,这不是我个人的产品,是 整个团队的,这个团队非常优秀,多隆在这个团队做了不少关键 的工作,东邪、正明和楚材等领导以及整个团队都非常支持我。 子柳:你还在写代码吗?你怎么控制系统的实现符合你的 预期? 正祥:我非常喜欢写代码,前段时间还在写一个数据压缩的 算法,但效果不理想,没有放上去。现在写代码的时间很少了, 但他们写的代码我都要看,这两个月在外面招聘新人,有些新的 代码还没来得及看。 子柳:你还想在哪些领域有突破?你的研究方法是什么 样的? 正祥:我还没有那么长远的眼光,但从Google来看,他们做 GFS、MapReduce、BigTable的人都还一直在做,我觉得淘宝在数 据存储和处理领域应该还有很长的路要走。例如,我们的事务目 前是单机做的,但后面也可以做到一个集群,另外,我们也考虑 把SQL语言的支持逐渐加进去。我们现在只是在传统数据库上迈 了一个小台阶,后面还有很大的空间。 184 184 淘宝技术这十年 子柳:你怎么平衡工作和生活? 正祥:我对生活上的需求比较低,没什么特别的爱好,这个 还好,就是在家的时间比较少一点。 子柳:能否八卦一下你的家庭状况? 正祥:三口之家,日常生活中都是太太做主。 子柳:你在着装方面很朴素,这种风格很多人都津津乐道, 能否八卦一下原因? 正祥:其实我的出身比较贫寒,小时候真的是饿过肚子的。 我小时候的玩伴,现在还有人在为生计发愁。所以我现在非常知 足,我认为社会给我的已经高于我给社会的。我的品位上不去, 这不是刻意为之的,大家不用学习这一点。 编后语:这位大侠系出名门(北大王选的门徒),也出身寒 微(贫寒人家),他在生活上非常“没品位”,却在技术上追求 最顶尖的水准。这些矛盾的属性在他身上却是协调的统一。这种 自身的谦卑造就了他在事业上坚定的专注,对正祥的这些品味, 也许值得从事技术的朋友好好品味一下。 185 185 第五部分:牛P列传 毕玄——集团核心系统资深技术专家 毕玄从2006年加入淘宝开始,在商业产品中使用OSGi,先后 编写了《OSGi实践》《OSG进阶》两篇Opendoc,以及《OSGi原 理与最佳实践》一书,为OSGi在中国的推广起到了绵薄之力。目 前负责淘宝网的高性能服务框架,此服务框架每天的服务请求量 已超过100亿次,2010年6月出版了《分布式Java应用:基础与实 践》一书。 186 186 淘宝技术这十年 个人感兴趣的技术方向为:高可用、高并发、高性能、可伸 缩、低成本的互联网技术,以及动态化、模块化的大型分布式Java 应用的技术。 子柳(主持人):你做的HBase集群的应用现在是什么规模? 毕玄:现在大概有15个HBase独立集群,上面大概有20个项目 在运行。现在还没有很大数量级的,都是几十亿条数据,还没有 百亿或千亿条的。后面我们很快会上一个项目,那个项目应该是 千亿条数据以上的。 子柳:淘宝的HBase有什么特色? 毕玄:最重要的是稳定性方面的改进,其他的可能与外界 都差不多。在部署上,我们的HBase会加上一套监控系统和一套 与运维相关的东西(若没有这个是很危险的)。还有一个,我 们的HBase比官方的成熟一点可能是我们的应用比较多,不是一 种用法,而是有很多种用法,我们面临的问题比别人会稍微多 一点。 (主持人:这样会不会把HBase搞复杂呢?)不会的,我们跟 Facebook一样强调只把HBase当作一个存储。 子柳:像你这个层级的技术专家,除了做好自己的东西外, 还需要推广自己的技术和理念,在推广的过程中有没有障碍? 187 187 第五部分:牛P列传 毕玄:其实从现在来看,推广的几个东西都还好。障碍方 面,通常是看你要推广的这个东西跟其他的冲突有多大。可能当 时正好有别人也要做类似的东西,这个时候也许能会有一些障 碍。对我来讲,我不管别人有没有用我的东西,只要我的想法落 地就行了,这个想法到底被怎么实现,谁去实现,其实没有那么 重要。 子柳:做这种底层的通用的产品,需要跟很多人合作,你最 喜欢和什么类型的人合作? 毕玄:只要能干活的人就好了,大家都认同这个想法会给公 司或业务带来什么好处,然后就去做,不要想太多。 (主持人:这样说来,是不是有些不太干活的人呢?)是有 一些人会比较看重自己的职责,如果不是自己的职责,可能就 不管。 子柳:你在微博上写道“在公司四年以来,最让自己自豪、 最有成就感和最骄傲的是三件事(一个产品,两个思想的推行和 落地成产品),现在正在做第四件,计划第五件”——能不能解 释下,这五件都是什么事? 毕玄:第五件不能说,其他四件可以说。第一个产品是淘宝 的自动发布系统,其实这个系统的技术含量很低,现在淘宝所有 的Java系统都是通过这个发布的,全部是自动发的。对我来说,虽 188 188 淘宝技术这十年 然这个产品没有什么技术含量,但它给淘宝带来了改变。这件事 也是我自己发起的,所以很有成就感。 关于另外两个思想,第一个是容量规划,这个事情以前淘宝 是没有做过的,虽然最后这个事情也不是我做的,但后来在CSP 中也成了一个产品,我觉得容量规划对一个公司来讲,是一个非 常重要的阶段。还有一个思想是优雅降级,优雅降级这个事情说 了很久,一开始是很难被人接受的,到现在几乎所有的系统都采 用了,这个目前最明显地体现在淘宝保护“大促”的一种情况。 现在我们正在做的第四件事情,就是把淘宝的整个运维体系 做一定的修改,现在淘宝的扩容很不方便,会受限于网络因素 等。以后我们会希望能有一套系统,使整个淘宝的扩容非常简 单,你只要想扩容,就可以扩容,然后我们会尽可能地提高机器 的利用率,这个是现在正在做的第四件事。 (主持人:我本以为你是要说一下Java中间件的方面)这可能 是我在公司影响到人最多的一个产品,但我认为是因为刚好我在 这个位置上,如果换做别人,结果应该是差不多的。 子柳:你自己经历了几次技术转型,为什么转型?转型最大 的困难在什么地方? 毕玄:我觉得我的转型是跟淘宝绑在一起的。我刚到淘宝面 临的是淘宝访问量带来的压力,我们需要解决访问量的问题,于 189 189 第五部分:牛P列传 是我们就做了很多Java的中间件,其实当时我也不是很熟,呵呵。 当解决了一个访问量的问题之后,数据量就开始大增,于是 就面临一个数据量的问题,我们就开始想怎么支撑这么大数据量 的存储、分析、挖掘等工作,所以后来我就转型到做数据方面的 工作。 转型最困难的地方在于,很多人以为我的层级很高,对我抱 有很大的期望。但是过去的所有这些积累,对我的帮助并不是很 大。当我进入一个全新的领域后,很多东西都要从头开始。但是 由于大家认为我的层级很高,所以就期望我在很短的时间内能做 出很好的效果,这会给自己带来很大压力。如果我转型做的这个 产品刚好是这个时代所需要的,有业务场景,这样会好很多。 子柳:我了解到你是学生物学的,现在却是互联网技术专 家,请描述一下这一路是怎么走过来的? 毕玄:我本科是学生物的,毕业之后是做政府企业系统软件 的,这个跟互联网行业完全属于不同的领域。我在企业领域做 过多年,后来有一些机会接触到互联网行业,比如腾讯的技术。 这些互联网的技术对我们企业做开发的人的震憾是非常大的,而 且成就感也不一样。以前我也会觉得互联网应用没有什么技术含 量,就觉得那只是一个网站而已,搞技术的人都能随手做出来一 个。但我了解到腾讯的技术以后,就觉得加入一家互联网企业也 190 190 淘宝技术这十年 挺好的,想去看一下一家互联网网站是怎么做出来的。后来我就 加入一家叫做“五百万”的做彩票的网站。加入之后,我才发现 一个好的网站真的是很难很难做,其中的技术含量非常高,有 很多东西需要学习。从“五百万”网站出来以后,我就加入了 淘宝。 子柳:你每天有多少时间用于编码?多少时间学习? 毕玄:现在如果没有什么特殊情况的话,我会花很多时间看 技术方面的文章或者图书,写代码的时间可能每天只有两三个小 时。每隔一段时间会去想一想将来干什么比较好,因为写代码时 间会过得很快,要经常跳出来想一想。 (主持人:有哪些比较占用时间但价值不大的事情呢?)比 方说,开各种各样的会啊…… 子柳:你来淘宝技术大学授课的时候,给学员说过“但行好 事,不问前程”,现在很多同学都因为晋升的问题很纠结,可否 解释一下自己是怎么看待晋升的? 毕玄:大家都说了,晋升是一个“水到渠成”的事情。大家 都会在意晋升,这个是正常的,除非你不在意级别,生活上也没 有压力,不过这样的人是很少的,呵呵。如果真的没有升上去, 这个也没有什么办法能够挽救了。我觉得重要的是在这个过程中 你回顾了你一年做了什么事情,对公司有什么贡献,技术上有哪 191 191 第五部分:牛P列传 些成长。 对于技术人员最常见的一种情况是晋升名单公布的时候,你 去看谁升上去了,然后对比一下自己,觉得他水平不如自己,为 什么是他得到了晋升,而不是你。我觉得最重要的是看那个人对 公司做了多少贡献,你可以说你的技术确实很强,但事实是你对 公司没有做出任何贡献。 子柳:你是技术晋升的评委,在评审的过程中,你比较看重 什么样的特质? 毕玄:如果你是向技术方向发展的人员,我们要看技术方面 的专业性;然后看你的技术对公司的业务发展有多少贡献。还有 一点,我比较看重的是,也许你不在其位,但能够跳出自己的范 围,想到公司未来到底会面临什么问题,用什么方法来解决。当 然,仅想是不够的,如果你能够落实就最好了,我们不管你落实 的技术含量有多高,关键是你解决了什么样的问题。如果你能够 做到这些,你这个人对公司就非常重要。 子柳:你经常出去招聘学生,你欣赏什么样的学生? 毕玄:其实在校招聘的时候,我比较欣赏的学生往往是那些 很“不务正业”类型的。我经常会问他们,你有没有利用业余 时间出于自己的技术兴趣做的一些小东西。这样的学生我们通常 会比较感兴趣,我认为这样的学生是真正喜欢技术。聪明程度一 192 192 淘宝技术这十年 般就可以的,他能够进入这些不错的学校,智商是不会有什么问 题的。 子柳:而立之年,有房有车,马上又有小孩了,可以说“老 婆孩子热炕头”都达到了,接下来你还想追求的是什么呢?你的 人生理想又是什么? 毕玄:以前想的是用技术来改变世界,现在看来不得不接受 这是很难做到的。所以,现在想的就是自己所做的技术能够给公 司带来改变,使公司从一个阶段上升到另一个阶段,这就是我目 前的理想。 193 193 第五部分:牛P列传 放翁——淘宝开放平台项目负责人 放翁于2006年3月加入阿里巴巴,2007年初加入阿里软件创业 团队,负责基础平台架构设计与实现,2007年年底与淘宝合作开 始研发开放平台,负责开放平台体系架构设计与实现,2009年8月 加入淘宝,负责淘宝开放平台架构。 主编寄语: 有这么一类工程师,他们在技术上有了深厚的积淀,他们初 为人夫,也初为人父。他们既是公司里的顶梁柱,也是家里的 顶梁柱。他们这一路是如何成长的?他们当前在承担什么样的责 任?他们有哪些痛苦与快乐?他们如何展望未来?我们找到了这 样一位典型的代表人物——放翁,且听他娓娓道来。 作为技术专家 子柳:作为一名技术专家,你的成长之路是什么样的? 放翁:我从毕业到现在,就在两家公司干过。第一家就是东 方通信股份有限公司(简称东信),然后就是阿里巴巴。东信是 国企,我在那里做了4年,从一个学生很快做到一个小部门的主 管,这个成长的主要原因是我的直属领导不断离职,我就不断地 补上去了。从技术上说,在这里有成长,但不是很大。4年以后, 我感觉自己的发展遇到了瓶颈,虽然在这里生活比较安逸,但不 194 194 淘宝技术这十年 是这个年龄应该有的状态,当时也才27岁左右,就想换个环境。 然后我应聘了阿里巴巴的两个岗位,第一个是一个后台的部 门,发现不是我想做的。后来有一个阿里软件的概念,提出了 work at Alibaba的想法,当时自己对这个想法挺感兴趣,就加入了 阿里巴巴。加入之后发现并没用想象中的那么好,因为一下子从 一个工作灵活度比较大的人变成了一个从事最基础的编码工作的 人员,有点失落。到了2006年年底,我被封闭到湖畔花园去做阿 里软件的创业。当时收购了成都的一家公司,这个公司专门做建 模类型的应用开发,这种方式的开发比做通常的Web应用开发能 发挥的空间还要小。大部分情况下是用XML文件配置的方式来搭 建一些管理软件的应用。底层已经封装起来了,这个工作比现在 大家做的开发还要单调。这个时候出现一个问题是收购过来的公 司只有3个人做核心平台的开发,然后是一大帮人做业务的开发。 但这个框架本身还不成熟,有很多bug,业务开发人员就会提很多 bug给核心团队的这3个人,他们当然是忙不过来的,于是大部分 人就是等着他们去解决。我出于对这个框架的兴趣,就开始研究 前端、后端和整个系统,然后我帮他们去修复一些bug。我没有 提交主干的权限,每次修改完就告诉他们,他们审核没有问题之 后,就提交上去。就这么两周以后,负责这个平台的老板就邀请 我加入他们团队,于是我就调到了平台部。有这方面的能力,再 加上机会,之后那3个人还是在支撑业务,而我负责整个平台的基 础体系和架构的运营。从湖畔出来之后,整个阿里软件的4年左右 195 195 第五部分:牛P列传 的时间,我会负责整个平台的发展、底层架构。所以,在这方面 我会走得比较靠前。 后来跟淘宝开放平台合作,直接转入了开放平台这里,很多 事情都是业界第一次做,做到现在快4年了,不断地把技术做深。 总结下来,我的成长就是从一个国企到一个公司,有一个落 差。在创业团队找到机会,从创业团队中做到一个公司的架构 师,然后再坚持把一个产品不断做精做深,最后才有一定的技术 发展和影响力。 子柳:你在这个行业里差不多有10年了,在工作上有没有什 么痛苦的地方? 放翁:会有些失落的地方,例如,从东信到阿里巴巴的时 候,一下子很难适应,做阿里软件一开始也是做很多琐碎的事 情。我也跟很多新人说过,其实来公司三个月到半年的时候,是 最难熬的时间。接下来在阿里软件也痛苦过,虽然别人觉得这家 伙很清闲,在做自己喜欢的事情,但是跟淘宝的现状一样,很多 跟业务离得相对比较远的一些中间件团队做出来的产品,应用到 业务系统上会有很大的阻力。在阻力面前,很多时候会屈服于业 务,有些业务会要求开一些白名单、黑名单、特殊通道之类的东 西,而作为基础服务,我又要保持它的完整性和统一性。这时就 需要一些协调和沟通的技能。作为一个架构师,经常会有一种失 196 196 淘宝技术这十年 落感,有时候会发现我们做出来的东西有可能没有办法实施。我 坚持做开放平台做了4年,后来我有一些感悟,我跟毕玄都发觉真 的需要找到一个业务点,把技术做深,去解决一个个的问题,然 后这个平台的效果才能体现出来。现在有了一个转变,从单纯地 做中间件、平台架构,到成为业务团队的一个业务架构师。现在 技术架构师和业务架构师两方面都在做。 开放平台是一个中间的东西,很多地方是需要依赖于后端, 我需要后端支持的东西有时候他们并不关心,这时候就要坐下 来与人谈。在公司里做事,很多人是自己做还好,但要跟别人一 起做,跟各个部门协作的时候,就遇到麻烦了。对于技术人员来 说,这也是需要成长的。 另外,跟其他公司做开放平台一样碰到的问题,就是每个部 门都希望去做开放,这个时候开放平台响应够不够快,服务够不 够好,会使得别人愿不愿意通过你的开放平台来做。我们发现百 度、腾讯、盛大也都这样,开放平台希望自己是全公司统一的开 放平台,但事实上是每个部门都在做开放平台。现在我们的思想 也放开了,与其是通过行政的手段去堵,去要求别人,还不如自 己把产品做好,这样这些部门自然而然会去想他要不要花这么大 代价去做这个事情。我在想,做技术产品需要转变一个思路,靠 行政和强制措施要求别人用你的东西,短期有效,但长期来看, 还是要看技术过不过硬,有没有站在用户的角度考虑问题,产品 197 197 第五部分:牛P列传 做得够不够好。 子柳:级别到达P级中最高的以后,你在技术上的目标没有 人能帮你把握了,那你现在关注的重点是什么?你后面还要怎么 成长? 放翁:其实从P7级开始,就没有人帮我做规划了。技术委员 会在级别P7~P9的定义中,要求P7级的人员要对一个小的产品 或团队有方向性的指导,P8级就要求在一个大部门或公司级的产 品上有方向性的指导,P9级要求除了考虑自身的产品之外,还要 站在公司的角度考虑自身的产品对公司的发展有什么帮助。对我 来说,在开放平台不能只考虑开放平台本身发展得好不好,要看 它对其他部门或整个公司的发展有什么帮助。我坚定地做开放平 台,是相信那么多公司做开放,未来的合作多于竞争,例如,我们 与新浪合作,他们能得到更多的微博用户,我们能得到更多的交易 量。我想把开放平台做得更深入,能够跟各大互联网公司打通,借 助外部的各种资源,给我们的买家和卖家创造更多的机会。 从技术上看,我都是贴近实际的问题来找突破点,解决了问 题,技术就掌握了。说实在的,现在也会遇到一些瓶颈,到一定 阶段,我的技术已经足够快了,但是业务上还没有跟上,这时很 多技术人员会觉得困惑。我自己会去多想一些东西,包括我们现 在去做TQL、长连接数据推送等,我们在技术上有很大创新,在 业界也有很大的影响力。但站在客户的角度来看,我们需要用一 198 198 淘宝技术这十年 些方式去推广。明年(2013年)我会花一些精力去学校、ISV等地 把我们好的东西推送出去。 子柳:现在开放平台做出了什么样的成绩? 放翁:从光棍节的大促销看,那些商城卖家和集市上的大卖 家有95%都接入了开放平台,从实际效果来看,接入开放平台和 不接入的有90%的差别。也就是说,他们处理订单的速度、发货 的速度和退货的速度有非常大的差别。我们对大卖家的ERP系统 已经了有很好的贡献,另外,我们对类目的导购、装修市场、手 机淘宝,以及与新浪、美丽说等系统的结合做得越来越多了,整 个体系在慢慢地打开。 子柳:腾讯、新浪都在做开放平台,我们和他们是一个什么 样的关系? 放翁:对于互联网上普通的产品,大家做得越多,其竞争越 厉害。而开放平台不是,大家做得越多,其体系越完善。比如, 我们与新浪合作,大家各有所需,他们需要用户信息、活跃度, 我们要的是交易。就像Facebook一样,它不是什么都要,他要的 是用户,用户在这里玩任何东西产生的结果,像买东西、玩游 戏,他们不关心,用户在他这里玩,这个平台就是成功的。 子柳:你已经升级为淘宝技术大学太师级讲师,你这种传道 的动力来自哪里? 199 199 第五部分:牛P列传 放翁:最大的动力是我希望开放平台是支持淘宝未来3~5年 发展的一个平台,这样一个平台单靠一个部门做不了,我希望借 助技术大学这样一个入口,把我这些思想传播给更多的人。当他 做事的时候,会知道有开放平台这样一个方向。 子柳:你给工程师的分享反响非常好,你认为什么样的分享 能打动工程师的内心? 放翁:有两点,技术人员首先会关心技术好不好,若技术不 好,讲得再好都会感觉有些浮,所以每次我都会讲些技术方面 的内容,不是具体的实现细节的技术,而是通用的一些思想和方 法。另外一点就是我对开放平台的一种信仰和思想,我能通过 开放平台为淘宝做什么。这样其他人会感受到听这个课是有帮 助的。 子柳:你对新人的要求是什么样的? 放翁:第一个是做事要自己思考后再去问别人,而不是一遇 到问题就找人求助。第二个是不断地打破自己的一些想法,你不 要担心自己今天已经做了50%的工作,要是推倒重来,前面的事 情都白干了。我现在带的两个新人成长很快,但是都有类似的经 历,就是一个东西被我反复推翻重做,在这个过程中就是不断地 成长,要思考我为什么让你推倒重做,若想不清楚,下次重做的 概率会更大,这样慢慢地就会学会了思考。 200 200 淘宝技术这十年 子柳:你是CSDN的著名博客,你写些什么内容? 放翁:现在半年我会写两到三篇,写Blog的方式是当我做了 一次深入的优化,或者有比较大的积累之后,我才会去写。现在 跟以前不同,平常不会去写一些入门性的内容,因为这些大家都 会了,网上也有很多。所以更新的速度比较慢,但我还是能保证 质量。 子柳:你对工程师有什么忠告? 放翁:任何一个公司,不管用什么手段,都做不到绝对公 平,最终只会有小部分人得到机会。这个时候去抱怨、愤怒都没 有用的,只有自己不断地努力争取机会才行。 作为孩子父亲 子柳:你的孩子现在2岁半,有孩子之后,你的生活有了什么 转变? 放翁:时间方面会有很大限制,我的生活方式也改变了。以 前我是很有规律地早上做运动,晚上早睡。现在很少能在12点之 前睡觉,运动也减少了。晚上下班要挤一部分时间给孩子,等他 睡觉后,我才有时间做点自己的事情。 子柳:有了孩子之后,心态方面有什么变化? 201 201 第五部分:牛P列传 放翁:有了孩子之后,我发现孩子很锻炼人的耐心,小孩儿 会无理取闹,但我们不能跟孩子一般见识,要好好应付,这样我 的心态会很好,这对工作也一样有益,但我在这方面转变得还不 够。另一方面,有了家庭,我工作的意义就会变得不一样,我要 为这个家庭负更大的责任,对自己的要求更高了。 子柳:你对孩子的未来有什么期望? 放翁:没有太多的期望,希望能身体健康,长大后能做自己 喜欢做的事情。(你会推荐他干我们这一行吗?)这个看他自己 的选择了,要是他喜欢,我会支持,若他喜欢做别的,我也一样 支持他。 子柳:你把TOP也当作自己的孩子,这是一种什么样的 心态? 放翁:开放平台正好与我的小孩出生的时间差不多,真的要 把自己的产品当小孩一样养,我们不能生完了就扔掉,要为他 的成长负责。不管小孩子有什么不好的地方,他的脾气会不好, 身体会出问题,但是我们要有责任去帮助他成长,帮他去解决问 题,不能用一种旁观者的心态去看。 作为美女的老公 子柳:作为一个技术男,你是怎么吸引到老婆的? 202 202 淘宝技术这十年 放翁:跟我老婆认识到结婚,也是一件蛮奇怪的事情。怎么 奇怪呢?就是在东方通信的时候,有人给我介绍女朋友,是一个 女孩子的同学,她帮我张罗,但我不喜欢她的同学,拒绝掉了。 后来反倒越来越喜欢帮我张罗这位,然后就……哈哈。我老婆脾 气很好,我很喜欢。要说他看中我的应该是我还比较实在一点, 感觉比较可靠吧。 子柳:工作这么忙,交给家庭的时间会比较少,怎么平衡工 作和生活? 放翁:平时家里有爸妈在帮着带孩子,所以减轻了很多压 力,晚上不想让父母太辛苦,会花一个小时左右的时间带孩子, 周末我会抽出一天的时间专门陪孩子玩。 子柳:老婆脾气这么好,会不会为琐事而争吵,怎么解决? 放翁:也会的,很多时候都是为了一些琐碎的事情而吵。我 想这也是一种磨合,只要不是太过分,慢慢就会产生默契。我有 一点不太好,生气的时候喜欢冷处理,就是不搭理人,时间久了 也就好了。 子柳:老婆是网购达人,你起到了什么作用? 放翁:其实我来阿里巴巴之前,帮我老婆开过店(2006年开 的),还帮她送过货,后来就不开了,所以这方面她比我还擅 203 203 第五部分:牛P列传 长,不用我培养,本身就很熟悉。(反对你老婆买太多的东西 吗?)其实她买自己的东西我没有什么意见,买家里用的有些东 西我会反对,本身家也不是很大,买很多东西太占地方。 业余生活丰富多彩 子柳:你是一个K歌达人,也喜欢户外运动,这与很多宅男程 序员不同。 放翁:以前读书的时候,没现在这么多娱乐项目,学校旁边 有小歌厅,15元包一个小桌子,喝茶唱歌,台下有很多张小桌 子,你唱一首,大家都鼓掌,这种感觉不错。很多程序员都比较 宅,我觉得大家最好是去做户外运动,天气不好的时候去唱唱 歌,也能够让你舒展身心,把压力也排解出来了。 子柳:作为土生土长的杭州人,给我们推荐点玩的地方吧。 放翁:在杭州,如果你不出去玩玩,就太可惜了。我推荐大 家去走走云栖竹径、虎跑后山、江洋畈,这些地方的人比较少, 很安静,能够让你放松身心。长一点的路线是从古荡上去到北高 峰,然后到宋城。 子柳:现在你的家庭美满,事业顺利,你后面的人生追求是 什么? 204 204 淘宝技术这十年 放翁:我曾经说过,如果有一天我离开淘宝,我会选择一个 小公司或一个创业团队,把一个东西从小做到大。这样什么都经 历过了,事业方面就满足了。然后我希望能到世界各地走走,这 辈子也比较完整了。 205 205 第五部分:牛P列传 吴翰清——阿里云集团信息安全中心高级安全 专家 吴翰清,人称小黑,毕业于西安交通大学少年班,从2000年 开始研究网络攻防技术。在大学期间创立了在中国安全圈内极具 影响力的组织“幻影”。从2009年起,加入阿里巴巴云计算有限 公司,负责云计算安全、反网络欺诈等工作,是阿里巴巴集团最 具价值的安全专家之一。 子柳:见到安全专家,我首先想到的就是我的电脑是否安 全,那么杀毒软件能保证客户端安全吗? 吴翰清:杀毒软件似乎是个人电脑的标配了,但这个只能做 到“看起来安全”,要真正的安全,其实是非常难的。像流行的 206 206 淘宝技术这十年 木马之类的病毒,它第一个对付的就是杀毒软件,它在实施一次 攻击之前,要看是不是通过了360诺顿、麦咖啡等各种杀毒软件, 然后才会拿出来实施攻击。 子柳:这两年出了不少互联网安全方面的问题,企业在面对 安全问题的时候都是非常害怕的,可能一下子就会被搞死,你认 为企业需要花多少成本在安全方面? 吴翰清:其实安全一直紧随业务发展,在你开展业务的过程 中,安全是一直要占一个比例的,但这个比例不能盲目扩张,要 先做最急迫的事情。另外也要看行业,有些行业就比较容易遭受 攻击,例如,那些卖假药的、网游私服之类的,这种是最容易被 竞争对手攻击的。像地方论坛这种无利可图的就很少会被攻击。 所以,要看你所处的行业和企业的规模来做安全方面的投入。安 全的投入又分很多方面,例如,招人、买设备、买安全服务、做 评估等。 子柳:安全方面的人才还很稀缺,有没有类似云存储一样的 “云安全”服务? 吴翰清:我们是希望做到这样一件事情,现在在阿里云上面 的多数是一些中小网站的站长,他们没有太多的钱投入到安全方 面,例如,防DDoS设备,最便宜的都要几十万元,可能他们的网 站一年的利润也就这么多,这个投入对他们来说就太不值。所以 207 207 第五部分:牛P列传 云计算有个好处,就是把这么大的一个资源的投入切分成很多小 份,然后按需分配。例如,如果你使用“云安全”的服务后,遭 受多少次攻击,我们就帮你清洗掉,事后按次数收费,这个成本 就降下来了,可能你只会“消费”掉几千元钱的攻击,我们把安 全服务做成一个可以消费的东西。 子柳:作为一个黑客,在成为“白帽子”之前,是否都会有 一段“黑帽子”的经历?(解释:简单地说,白帽子是做好事 的,黑帽子是做坏事的) 吴翰清:我不知道现在的人是怎么样的,对我们那个时代的 黑客来说,多多少少都会做一些攻击或入侵的事情,这个要看你 的出发点是什么,如果你是为了找到网站的漏洞,或者是为了做 技术尝试,进去之后不做破坏,这些我们认为是好的。(不过现 在刑法修正案有了明确规定,这种行为也是违法的,所以不能提 倡)另外一些人以利益为目的,这就涉及黑色产业链了,其实这 一类人并不一定要掌握多深的黑客技术,有些是猜别人的密码, 甚至先取得别人的信任,发给对方一个木马,这就不是黑客技术 了,而是骗术。 我们在招人的时候就很小心,要看他以前做过什么,历史不 清白的是不能要的。 子柳:前些年有中美黑客大战,有卖熊胆的网站被黑,有卖 208 208 淘宝技术这十年 良心药的网站也被黑,这些你都参与过吗? 吴翰清:我现在不太关注这些。往往是一些年轻人,他们比 较愤青,看到这些网站就顺手试试,不能说他们的技术水平有多 高,只是这些网站在安全方面做得太差了。 子柳:在阿里期间,你参与了哪些黑白帽子之间的较量? 吴翰清:很多人可能会认为黑客之间的较量很酷,大家你来 我往,刀光剑影。其实这都是电影给大家的误导,现实中看来很 简单,我对自家的网站做好各种防护,有人攻一下,进不来就走 了,或者他们进来了,看到点什么东西,走了。有朋友向我们报 告过漏洞,几个互联网公司的安全团队都是有交流的,有时候我 们也会告诉腾讯、百度,他们的网站有哪些漏洞。 其实最头疼的是那些做黑色产业链的,主要是钓鱼和欺诈, 这些人其实不能被称为真正的黑客,他们偶尔也会利用网站的一 些漏洞,或者用木马,他们用的是半骗半攻击的形式。我在这方 面一直投入了很大的精力在做,帮助淘宝和支付宝减少这些业务 方面的安全问题。以前一个钓鱼网站出来,可能它能够存活半个 月,没有人去管它。现在经过我们的努力,它出来几分钟就会被 我们嗅探到,甚至他在旺旺上发一次网址,这个网站就失效了, 他只能骗一次。 子柳:现在有没有比较令人头疼的水平比较高的黑帽子? 209 209 第五部分:牛P列传 吴翰清:比较少,这个圈子里的人就几个去向,要么去大一 点的互联网企业,要么去安全厂商,要么被国家队招去做国家安 全方面的工作。 子柳:对于白帽子黑客来说,有哪些信条或原则呢? 吴翰清:首先要有职业道德,然后要假设一切都是邪恶的, 我们自己的人也不能完全相信,要通过技术手段来保证,所有人 的操作都有记录,做审计,然后收权限,我们自己也只有很少几 个人有服务器的权限,保证我们自己也黑不掉公司。 子柳:在你的书《白帽子讲Web安全》中有很多攻防演示的 案例,会不会担心被人学去做坏事? 吴翰清:任何事物都有两面性。首先,我写的内容都是互联 网上公开的,我的每一个引用都能在互联网上找到。如果一个 人真的想去做坏事,他在互联网上很方便就能找到。另外,就如 同我们会说开源软件更安全,就是因为它的代码都公开了,我们 都能看到其中的内容。对于黑客技术也是一样的,这个武器放在 这里,攻击方案放在这里,你知道怎么去攻击,也就知道怎么去 防御。 子柳:每一个新技术的出现总会有人找到漏洞进行攻击,攻 与防似乎是自然界生态体系的基础,在互联网行业,这个生态平 衡吗? 210 210 淘宝技术这十年 吴翰清:只要技术在不断地发展,就会有新的安全问题出 来,这就像自然界一样,达到了一种生态平衡。(对于攻的人, 他只需要找到一两个漏洞,对于防的人,要找出所有的漏洞,把 它补上,这会不会很辛苦?)的确会很辛苦,而且有的时候必须 跟随攻的人,他们在研究哪些漏洞,你也要去研究它。例如,黑 帽子最近在研究手机,你就必须跟着去研究手机,等他研究云计 算了,你也得赶紧去研究云计算,而且还要比他们研究得更透 彻,赶在他们下手之前,把漏洞补上。 子柳:作为后台人员,系统出了问题才会想到你们,没有问 题似乎就不知道你们的存在,工作的成就感来自哪里?如何评价 自己的业绩? 吴翰清:我们确实为安全怎么量化这个问题头疼了很长时 间,后来我们引入了一些体系化的东西,把安全融入到整个开发 流程中。在软件研发流程中的每一个角色都要跟安全打交道,我 们去培训他们要怎么做、不能怎么做,这样可以让他们感觉到我 们的存在,呵呵。另外的一些量化手段包括今天我们发现了多少 安全漏洞;到下一个月这些漏洞是变多了还是变少了;工程师写 出来的代码是变好了还是变坏了。 我们的成就感主要体现在两方面,一是公司的产品是不是越 来越好了?二是我们在工作的过程中攻克了很多技术上的难题, 这个纯粹属于技术上的成就感。 211 211 第五部分:牛P列传 子柳:你给出了一整套的互联网安全解决方案,但需要很多 部门和角色参与,你怎么推广你们的安全技术? 吴翰清:也没有特别好的办法,我们专业的术语叫做SDL (安全开发流程),它依赖于整个公司的软件工程的成熟程度。 这个公司的软件工程做得越成熟,越容易推动这些东西,在B2B 有一些比较成功的实施经验,SQA会帮我们把每个环节都打通, 我们只需要告诉SQA每个环节做什么。在其他公司有些开发过程 还有点乱,就不太好推,我们培训所有的工程师,告诉他们在哪 个点做什么事,项目发布之前要给安全工程师签字。 子柳:大学上的是少年班,在阿里巴巴成为最年轻的专家 (23岁就是安全专家),在外人看来,你是一个天才,你怎么看 自己的成长之路? 吴翰清:上少年班的事情,我认为最好还是不要拔苗助长, 我在少年班的很多同学现在发展得并不是很好。那时候,周围 都是年龄比较大的同学,谈恋爱都找不到对象,呵呵。我们那个 年龄的学生都没有自制能力,到了学校之后就控制不了自己想去 玩的那种心态,所以这样并不好。后来做安全完全出于兴趣,我 觉得上少年班是为父母上的,而来阿里做安全确实是我自己想要 的,能做到今天这个样子,也说不上有多大成就,主要还是因为 我自己的兴趣。 212 212 淘宝技术这十年 子柳:在你的书中,你说过来阿里巴巴面试的时候,面试官 让你展示一下技术,你把公司的办公内网给黑了,这个是怎么做 到的? 吴翰清:这个不是公司的内网网站,是办公用的网络,当时 我和几个朋友基本上把浙江这边的网络提前控制了,这边主要都 是电信的网络。 子柳:给安全方面刚上路的技术人员一些建议吧? 吴翰清:从基本功做起,研究常见的漏洞,把它查出来,并 去分析它,不要用它来做坏事。另外,去看看公开的漏洞,研究 一下漏洞的利用技巧。 213 213 第五部分:牛P列传 云铮——数据平台与产品部资深技术专家 张清,淘宝花名为云铮。2002年毕业于浙江大学计算机 系,2003年初加入阿里巴巴,成功创建了阿里巴巴DW(数据仓 库),经历了阿里DW从创建到成熟运用。2005年,淘宝数据开 始启动,调任淘宝打造淘宝数据平台体系,推动商业智能体系建 设。对国内外最新数据技术狂热,在和国内外业界行家交流及在 阿里、淘宝的实战中,糅合所学所见,无门无派,注重实效,自 成一套淘宝数据体系建设和运用的实战方法。八年数据生涯的梦 想是能够推动集团数据统一体系架构,为数据化运营,推动实现 十年数据战略尽自己一份力。 214 214 淘宝技术这十年 子柳:恭喜你当选大淘宝技术委员会数据分会的新任会长, 今年数据分会有哪些工作计划? 云铮:今年(2012年)一个很重要的工作就是响应这个分会 成员的呼声,加入这里到底是干什么的?写Job Model(任职能力 模型)、参加晋升评审吗?不仅仅是这些,要让他们有引路人, 有方向感。数据领域有很多模块,不能说让大家做了几年还局限 在一个格子里,要把信息互通,把思维打开。 第二个就是数据技术的新趋势,这个是每年必做的,交流的 范围也会越来越广,越来越深入。 第三个是把整个集团的数据打通。整个集团的数据团队有很 多,B2B、支付宝、阿里云、阿里金融、淘宝都在做,这样力量 比较分散,现在来看有必要把这些打通,形成合力,然后几个公 司又各自有优势领域。如果我们拧成一股绳,阿里集团的数据在 业界就没有人能够撼动。 子柳:淘宝网数据平台是你们一手带起来的,请讲述一下这 个部门的发展历程。 云铮:我来的时候是一个数据分析部,那时侯有天宏、小龙 女等几位同事做数据分析,我和正德几个工程师提供支持,捣腾 数据库,建数据仓库。我们最初是先有业务,没有技术,根据业 务需求做技术。一开始用一个单机的Oracle,然后经过一次组织 215 215 第五部分:牛P列传 的调整之后,数据团队的几个工程师归七公带了,这个时候开始 步入正轨,从单机的Oracle到4个节点、16个节点、20个节点。 到20个节点的时候达到了Oracle集群的极限,这个时候已经是全 球最大的Oracle集群了(Amazon美国是17个节点)。这时我们也 发现商业的工具已经被我们用到了极限,接下来怎么办呢?我们 只好自己革自己的命,把Oracle逐步替换掉,目前已完成了这个 工作。 (子柳:这与在前台替换Oracle有什么不同吗?)这里面有很 多复杂的业务,它的数据从前台拉过来。我们本身的环境在变, 前台的环境也在变,新迁的环境是Hadoop平台,一开始我们对它 也不是很熟悉。这里有三个变量同时在变,如果能控制一个不变 的话,还好做一点,例如,等前台变完,我们再变,但这样业务 不允许,我们对时效性的要求非常高。在“五彩石”项目中,前 台上线的当天,我们跟着上线,必须保持步调一致。我们去找电 信行业、金融行业、世界500强企业学习,发现他们的前台业务做 变革时,后台数据的工作全停了,前台交付好后再做数据,“干 嘛要同步做?本身就不应该嘛”。没办法,只能自己去想办法解 决这样的问题,最后我们解决了这样的问题,这在业界是没人做 过的,这是一个非常宝贵的经验。 随着这些创造性的工作的成功,整个团队也被锻炼出来了, 再碰到什么新的问题不会害怕了,总有办法解决的。在发展的过 216 216 淘宝技术这十年 程中还有一个比较大的事件,就是阿里妈妈业务的合并。阿里妈 妈是一个独立的公司,它从前台到后台有一整套的系统,前端要 跟淘宝对接,后端所有的数据也都要整合。整合的细节很复杂, 最终是成功整合了,前端形成了量子统计和数据魔方两个产品, 后面数据的系统整合成Hadoop的一个集群。当时阿里妈妈有四五 个集群,数据捣腾来捣腾去,其时效性、运维的成本都非常高。 整合成一个集群以后统一管理、调度、维护、监控,慢慢地,报 警越来越少,大家集中力量做业务、平台,这在当时是一个非常 关键的工作,集中力量办了一件大事。 俗话说“分久必合,合久必分”。近两年,我们又孵化出了 一些团队和产品,并进驻到了各个子公司。今年(2012年)又要 在整个集团的范围内,和阿里云一起形成一个官方的组织,牵头促 成“数据分享第一平台”模式创新工作,就是现在的“冰火鸟” 项目。这里面汇集了集团里最大的两个数据系统——“飞天”和 Hadoop,这个团队也包含了集团里做数据的几乎所有高P级工程 师和核心架构师,是今年集中优势兵力协同做大事,相信这个项 目能锻炼出更优秀、更具备大局观视角的一批数据技术专家。 子柳:数据平台经过这么多年的投入,目前产生了什么样的 效益? 云铮:最简单的一个考量方式就是这些数据有没有变成价 值,数据魔方和量子统计是把数据变成钱的两个产品,现在收入 217 217 第五部分:牛P列传 还不错。但并不是说能赚到的钱就是它的价值,这些只是我们的 一些尝试,我们才刚刚开始探索数据的价值,它未来是什么我们 还不知道,它未来的价值更是不可考量。 子柳:我们的数据计算平台与Google、Amazon有什么异同? 云铮:从相同点看,这个级别的公司做数据,从宏观上看 都是分布式的。Google做得早一点,他们自己开发的Bigtable、 GFS,从分布式存储到分布式计算开发了一系列的产品,用在自 己的搜索中。Amazon和Google又不太一样,Amazon采用虚拟机的 方式,自己给别人搭OPS,用虚拟机租赁的方式做云计算,自己 也有一些业务数据放在上面。 淘宝采用在开源的分布式平台上面用Patch的方式来做,从 “云梯”到“飞天”这样的平台。分布式的理念是相通的,我们 拥有全套“飞天”系统的自主知识产权,有不少精妙的设计,自 主设计的后劲很足。 另外一个很重要的不同点是里面的数据是不同的,数据的价 值也是不同的。淘宝把中国电子商务从零开始到现在,几乎所有 的数据都包含了,有B2B、B2C和C2C的商品数据,以及交易数据 和支付数据。而Amazon只有B2C的数据,Google没有商业数据, 都是搜索的信息。淘宝的数据从量和质上面都非常高,而且更适 合中国的国情,这上面是中国人的消费数据。这些数据的价值需 218 218 淘宝技术这十年 要持续地创新和在更大的生态链中去寻找和挖掘。 子柳:我们的数据现在达到了一个什么样的规模? 云铮:我们的数据每日新增长达到100TB左右,通过极限存 储等创新的技术手段,控制净增量快速增长的势头。 子柳:作为一名互联网技术老鸟,你的成长之路是什么 样的? 云铮:理想主义,兴趣+执著,看准一个方向后,无论是顺境 还是逆境,都要不断地努力,不浪费时间和机会。 入职初期,我对数据非常有兴趣,然后就是马总在阿里巴巴 成立初期就请了前亚马逊首席科学家Dr. Andreas Weigend给公司 介绍了数据的价值和重要性。虽然当时没有完全理解,不过当时 凭着一股冲劲,就持续做下来了。随着公司的发展,从B2B DW 到淘宝数据平台,阿里云成立后,开始和阿里云一起看着飞天系 统从梦想逐步变成现实,经历数据系统发展的这些宝贵经历,有 机遇在里面,更需要持续的执著和努力,我庆幸的是我们有一批 在这个环境里成长起来的核心数据技术人员。 子柳:从2003年加入阿里巴巴到现在,在技术岗位上做了9年 (至2012年止),历经了多少次主动或被动的变迁?你怎么看待 这些变动? 219 219 第五部分:牛P列传 云铮:从DBA转型做DW,这个原因应该是公司开始启动搞 数据时,没有合适的人,当时和数据最相关的应该是DBA这个岗 位。因此,我有幸被抽到这个项目组,开始了Alibaba数据仓库的 第一步建设。 第二次是从B2B到淘宝,应该是2005年下半年,这次是主 动的,当时B2B的数据仓库已经投入使用,基本架构完成,业 务也跑顺了,我也成为B2B数据仓库建设的核心成员,基本上 很顺手了。当时的淘宝业务变化很大,从行业经验上讲,做数 据仓库失败的可能性很大,而且难度高,于是决定来淘宝从无 做起。 淘宝的数据发展的确很快,业务也在不断变化,不过这样的 环境正好促使了数据平台的快速发展,随着淘宝前台几次大的 重构、拆分、合并,数据基本上每年都会遇到以前完全没有遇到 过的问题和挑战,但每次都顺利过关。随着淘宝五彩石项目的成 功,以及广告数据平台和淘宝数据平台合并完成,业务开始迅速 发展,成为数据应用平台的原始驱动力,这个时间段的技术和业 务发展进入高峰期。 说到我对变动的看法,我一直是一个喜欢挑战的人,我认为 有变动是好事,这会让人经历更多,而且应该主动创造变化,比 如平台稳定了,系统理顺了,是不是就应该刀枪入库,马放南山 220 220 淘宝技术这十年 了?不是的,应该从更深、更全的角度去提出新的要求和新的梦 想,并进一步去实现。 子柳:给技术刚起步的人员一些技术成长的建议吧。 云铮:兴趣是最好的老师,坚持是达到梦想的唯一途径,当 然,在个人发展的不同阶段寻找到合适的导师很重要,看准方向 会事半功倍。在刚刚参加工作还没有形成自己的判断时,方向有 两个来源,一个是个人的兴趣,一个是找一个你非常佩服且能掌 握未来方向的人,当然,如果这两者正好重合,那么剩下的就是 脚踏实地坚持。 221 221 第五部分:牛P列传 小马——淘宝UED前端通用平台高级技术专家 赵泽欣,花名为小马,2006年10月加入淘宝网,加入淘宝之 前,基本上都在创业公司中度过,创业项目繁杂,角色兼顾产品 开发、售前咨询、售后支持、客户培训。加入淘宝后,他成了全 网第一位前端工程师,参与了旺铺、收藏夹、物流、Web旺旺和 P4P等重要产品的前端开发,对淘宝整个交易流程做了系统的前端 重构。先后主导并产出了最初的前端JavaScript类库TBra,组织虚 拟团队优化淘宝各关键页面的前端性能,负责技术委员会速度小 组的工作。2010年开始带领前端架构团队,负责前端通用框架的 研发与推广,UDC 核心业务支持和前端质量保障体系的建设。 222 222 淘宝技术这十年 子柳:作为D2(前端技术论坛)的早期主要发起人,当时举 办D2的初衷是什么?开始时举办的情况如何? 小马:当时的环境是这样的,前端的从业人员越来越多,行 业也越来越趋于成熟,而这种属于前端从业人员的会议却很少, 所以就想到是不是可以组织一场这样的活动让更多的同行聚在一 起呢?所以D2 就诞生了。算上今年(2012年)的ADC 技术嘉年 华,已经是D2 举办的第七届了,而回想第一届D2,当时我们的 会场等条件其实都是相对简陋的,我还记得第一届的参加人数也 就是70多人,发展到现在,D2 每次举办活动时参加的人数和业界 的知名度都让我们感到很欣慰。 子柳:今年(2012年)的“ADC 技术嘉年华”是第二届,去 年也是叫“淘宝技术嘉年华”,我们知道这个会议的主要组织者 之一有你,能不能谈谈目前你对“技术嘉年华”的一些评价和你 所期望的“技术嘉年华”未来可以发展成什么样子? 小马:其实说到咱们的嘉年华会议,我要说起一些国外的会 议活动,比如我们参加了Velocity大会,当时令我印象很深刻的 是,有一个嘉宾分享了一个观点:“性能更应该是功能……”, 这让我想到很多项目其实一开始都很关注功能,当功能通过后, 先草草上线,而后再逐步完善性能上的问题,这个嘉宾的说法让 我产生了强烈的共鸣,这种体会在这个大会上有很多。因此,当 参加完会议后,我们都是发自内心地感到受益了并佩服这种高质 223 223 第五部分:牛P列传 量会议的举办方,当时我们也是想能不能把这种会议引进中国来 举办,到现在我们也是“Velocity中国”大会的组织者。 说到我们自己的“技术嘉年华”,今年是第二届,就去年的 第一届看,当时在那么短的时间和人力紧张的情况下,活动的 组织方灵珊团队能够整合到这么多子品牌的力量,而会上的分享 内容也丝毫不逊色于国内很多门票非常昂贵的会议内容,第一届 的会议质量得到业界同仁的认同,这些完全都是超出预期的,因 此,我觉得活动举办得很成功。 而对于第二届的期望,我们当时也是借公司给的机会去了趟 美国,国外大会的展会展区给我留下了很多印象,比如,在国内 很多会议的展台前就发放一些礼品、资料,有些就是放个盒子让 参会者放入名片等,而在国外会议的展台前,我看到了更多的互 动部分,他们会在展位前搞很多游戏式的互动来收集参会者的信 息等,这种体验是很好的,让人觉得很舒服。所以,我当时体验 了每一个展台(笑)。  我想我们国内的大会除了分享高质量的内容外,是不是也能 在大会现场多一些这种轻松的互动元素?希望我们的“技术嘉年 华”活动让更多的技术人员聚在一起分享到高质量内容的同时, 是不是能够让他们感受到更多技术带来的快乐?本届“技术嘉年 华”也是租下了一层的空间布展,一种新的尝试,希望届时的活 动能让大家真正放下工作上的压力,得到轻松的体验,这样由 224 224 淘宝技术这十年 “精彩的主题”+“轻松快乐的气氛”组成的会议,才是名副其 实的“技术嘉年华”。 对于“ADC技术嘉年华”的未来,我希望我们能够继续保持 特色,坚持最初的想法,在节约公司资源的同时继续把握非商业 性会议的方向,为阿里的子公司和依赖于阿里生态圈生存的企业 技术人员提供一个平台,通过这个平台可以更加及时全面地了解 阿里,我们的会议成为业界风向标是基础,我们更要向业界的F8 会议、Google I/O看齐。 子柳:小马是淘宝网第一个做前端的,目前还在做前端,现 在有5年多了,给大家简单介绍一下淘宝前端的发展历程吧。 小马:先给大家说一下“前端”是怎么来的,我自己对前端 有一些思考。就以淘宝为例,一开始,淘宝就是一个社区,大家 发布信息给别人看。随着互联网的发展,大家不仅仅要看到一个 静态的页面,他们更需要有绚丽的页面,有更丰富的交互。也就 是说,对“体验”的要求越来越高。这样交互难免变得越来越复 杂,这个时候开发人员并不是很适合做这些事情,而是需要一个 细化的工种来做这件事情。我个人认为传统的开发人员更多的是 面向机器来开发的,更多的是考虑CPU的问题、内存的问题、数 据库的问题。实际上需要一些开发人员对“用户”有更敏锐的感 觉,他们来完成“界面”的问题,界面是互联网与用户交互的地 方,他需要对体验有一些认识,对“人”更关注。从另一方面来 225 225 第五部分:牛P列传 看,这几年下来,客户端越来越多,页面要适应很多客户端,这 也不是传统的开发人员擅长做的事情。基于这些原因,就产生了 这么一个新的工种。 进入淘宝网后,一开始要我做的就是“怎么让淘宝网的页面 动起来”,让页面展示更丰富的信息,让用户的体验更加流畅。 当时还没有前端工程师这个职位,我入职的职位是“Java工程 师”。 淘宝前端的工作就这样开始做了,我们刚开始做的工作就 是让页面动起来,做了很多JavaScript开发工作,让整个页面变得 更加活泼,这是第一阶段淘宝前端的状况。 到第二阶段,随着淘宝的业务变得越来越复杂,页面也变得 越来越多,前端开发的工作量就变得越来越大,这时就需要一个 很大的团队来做这个工作。与此同时,“AJAX”变得流行起来, 它改变了整个业界的开发模式,很多工作要通过前端来实现,这 也让前端的工作越来越多。这个阶段前端的团队迅速成长,你可 以理解为,第一阶段就是让页面动起来,第二阶段是前端和后端 合作,让页面的体验更加友好。 再往下一个阶段,我们发现越来越多的内容在浏览器中展 现,越来越多的浏览器出现了(Firefox、Chrome、IE 6~IE 8), 这让前端越来越重,就出现了性能的问题,我们又需要做一些框 架、规范和很多优化的工作。 226 226 淘宝技术这十年 到现在这两年来看,互联网经过这么多年的发展,开发模式 渐渐变得比较稳定和成熟了。传统的开发人员不擅长的事情现在 有了强大的框架,方便他们很快上手使用。从企业的成本看,原 来需要两个工种去做的事情,现在一个工种就可以完成。这样慢 慢出现了一个趋势,貌似不太需要把工种划分得这么明细,以后 对淘宝来说也会继续存在前端这个工种,但更多的是做一些架构 和统筹方面的工作。 子柳:现在很多团队都在经历着分分合合的变动,从前端团 队来看,是很典型的一个例子,你怎么看待这些变动? 小马:刚开始,我们的团队就四五个人,大家在一起按需做 页面。随着网站业务的拆分,开始有一些分工,例如,有人负 责商城的前端开发,有人负责主站的前端开发,虽然业务上有一 些分工,但团队还是一个。再往后面,随着淘宝主站的拆分,就 出现了“业务线”的概念,例如,商品线、店铺线等,这个时候 前端团队进行了一次拆分,分成几个小团队进入每个业务线。这 样拆分有利有弊,好处是能快速推动业务的发展,弊端是同一工 种之间缺少交流,会产生很多重复建设。分久必合,过了一段时 间,团队又合并到一起了。合久必分,没多久,整个公司也拆分 了,分成几个子公司,我们当然又得拆,团队分别拆分到几个子 公司。我觉得合和分的过程也不用特别看重,不同的阶段需要不 同的组织形式。 227 227 第五部分:牛P列传 到现在这个阶段,应该说是半分半合,为什么说是半分半 合?因为前端团队分成了两块,一块跟进业务方面的前端开发, 一块做通用产品的开发,这样保证了业务能够得到有效的支持。 另外,对于通用的产品,能够有效地管理起来,避免了大家开发 环境的不一致、标准的不统一等问题。 子柳:畅想一下前端未来的发展方向。 小马:我认为,未来的方向是前后端的界线越来越模糊,即 未来求开发工程师能够把前后端的工作衔接起来。我个人比较认 可一种说法:经过这几年开发模式的渐渐发展,未来前后端的开 发会融合起来,这样的岗位叫做“Web开发工程师”。 另外,这个岗位叫什么名字不重要,重要的是人们对于交互 和体验的要求越来越高,随着移动互联网的应用,会产生更多 的交互方式,如滑动和震动等。这就要求有人做这方面的开发工 作,同时还要推动前端技术的发展。 子柳:单从技术方向上看,HTML5是不是未来的一个大 趋势? 小马:HTML5不是“HTML4”的简单升级,很多人会认为 HTML5就是那些标签括号括起来的表示性的语言,其实HTML5 和HTML4不是一回事儿,我们现在所说的HTML5除了有HTML4 增加的一些语义性的标签之外,通常,我们把CSS3和很多新的 228 228 淘宝技术这十年 JavaScript(简称JS)的API都合起来统称为HTML5。为什么会有 这些变化?我觉得原来的HTML4和一些相关的技术并不能让Web 成为一个很好的开发平台,它只能让Web作为一个“界面”展现 一些内容,做一些简单的交互。而HTML5的目的是想让整个Web 真正成为一个开发平台,或者说是让浏览器成为一个适合开发大 型应用的平台。你看它的变化,首先HTML5标签的变化是让它 更具有语义化,然后CSS3把很多展现型的东西做了加强,最重要 的是新增的那些JS的API,你现在已经可以在浏览器本地连接数据 库、使用Socket、使用本地存储、获取地理位置等,很多我们以 前开发过程中需要从后台取得的信息,现在都可以在本地浏览器 中做。这使得浏览器变成一个适合做大型应用的平台,而不是像 以前一样只做内容的展示。 在淘宝的网站上,HTML5已经无处不在,淘宝是国内应用 HTML5最早的网站之一。 子柳:在发展的过程中,我们从业界获取了很多支持,描述 一下业界对我们的影响有哪些? 小马:有三家公司对我们影响非常大。 第一家是Yahoo(雅虎),“前端”岗位的定义就起源于雅 虎。当时雅虎的发展如日中天,他们有很多优秀的技术和人才, 并且最早提出前端的概念、框架和规范。我们最早使用的JS框架 229 229 第五部分:牛P列传 YUI就是雅虎创造的,我们的很多规范也是借鉴他们的,我们曾 遇到的性能问题就参照雅虎提供的优化方案和工具(YSlow)。 可以说,2007年至2009年,我们很多东西都是借鉴雅虎的。 第二家公司是Google,Google为什么对前端产生这么大的影 响呢?是因为AJAX实际上是被Google变成一个商业上很成功的 应用,它的Gmail、Docs等产品采用了大量的AJAX技术,AJAX 在Google的成功应用让很多前端和交互的工程师开始使用这种技 术,让前端的工作变得更加繁荣。 第三家就是Facebook,Facebook是把体验和技术结合得最完美 的公司。 其实看起来对我们影响最大的也就是硅谷历史上走在最前端 的上述三家公司。 子柳:这三家公司有两家都被“墙”了(即被屏蔽,无法 打开其网站),很多人知道“墙”阻碍了信息的交流,却不知 道“墙”对技术的发展影响很大,“翻墙”是技术人员必备的 技能。 小马:确实是的,最搞笑的是有个日本女优的名字就叫 YUI,有段时间搜索YUI,就会被屏蔽掉。 子柳:那回过头来说我们对业界的影响有哪些呢? 230 230 淘宝技术这十年 小马:我们通过博客、主办的D2和翻译的一些图书比较成功 地把“前端”岗位推到了业界,让很多公司知道这个工作的重要 性,也让很多技术人员知道自己从事的是前端的工作。 子柳:有了孩子之后,对你有什么影响? 小马:影响很大。其实不是从有了孩子开始,从知道老婆 怀孕就开始了。以前,我的工作时间相对比较自由,时间比较 充足,从老婆怀孕开始就要给她做饭,有了孩子又要陪孩子, 时间变得非常碎片化,必须更有效地利用自己的时间。另外, 责任感有了明显的提升,例如,我以前开车就很少系安全带, 有了孩子之后就不愿意冒任何风险了;以前感冒了就耗着,现 在怕生病传染给孩子,就开始关心和爱惜自己的身体;在孩 子面前也不敢说脏话了。其实孩子的成长也督促着我自己的 成长。 子柳:你和你的团队都翻译过好几本书了,有什么经验给大 家传播一下? 小马:翻译的都是有关前端方面的书,一开始是因为觉得我 们需要这方面的技术,这也可以推动前端技术在国内的发展。写 书也不像写博客那么随意,这是要变成铅字的,所以要很谨慎, 这就要求必须把后面的原理弄明白,对于已经掌握的东西也相当 于复习了一遍,这是一个很好的学习过程。关于团队一起写书, 231 231 第五部分:牛P列传 我发现这是一个很好的团队建设的方式,在写书的过程中,大 家要有很多交流,能够互相学习,互相督促,也增进了彼此的感 情。推荐其他同事也试试看。 另外一点经验是写书是不赚钱的,基本上可以说是公益性质 的,这要占用大量的时间。 子柳:说说你个人的成长经验,给起步阶段的同事一些建 议吧。 小马:现在回过头来看,其实成长最快的一段时间是刚进淘 宝的那几年,那个时候很单纯,就想着把工作做好,做完一个做 下一个,不管这个业务是不是重要,需求方是不是好打交道。有 个“一万个小时理论”,我觉得很正确,说的就是一个人必须经 过不断地练习,不断地遇到问题才能成长起来。当然,做的时候 要不断总结,写博客是一个很好的途径。 子柳:现在有很多人出去创业,作为一个曾经创过业的技术 人员,你有什么看法? 小马:很多人创业是因为公司变得越来越大,有很多流程和 规章制度的限制,这样自己发挥的空间越来越小。但是真的到 社会中创业时会发现限制同样很多,你同样要面临税务局、工商 局、商标、公司注册、股东关系、员工管理、同行竞争等问题, 232 232 淘宝技术这十年 这跟你在公司中工作并没有本质的不同。所以说创业其实是一种 心态,你用旺盛的精力、饱满的斗志和坚定的信念去克服一个又 一个的困难,这就是创业。到外面去创业和在一个大公司里创 业,我个人觉得并没有本质的区别。 当然,如果你不认可公司整体的方向,或者你不认可这个行 业,你有一个理想去打造一个新的天地,公司也应该有这种胸怀 鼓励你去创业。 233 233 第五部分:牛P列传 淘宝传奇工程师多隆的程序世界 多隆是淘宝的创始人之一,也是淘宝的第一个程序员,他奠 定了诸多淘宝重大软件项目的基础。有人说他是淘宝的“扫地 僧”,有人说他是“神”。在淘宝,他做到了既懂C/C++语言, 又懂Java和内核;既可以深入技术底层,又能切入到高层业务领 域,从前端到后端,知识既广又深。他就是核心系统部专家组的 多隆。 技术小二中流传一句话——“有困难,找多隆”。关于这 点,我深有体会,有一次,我们组解决一个Apache服务器无故崩 溃的诡异问题,搞了三天还没找出原因,于是请教多隆,他在 三分钟后就告诉了我答案。瞬间的秒杀,让我领教了“高级研究 员”的威力。 我和多隆在同一个部门,工位相邻。这个近水楼台先得月的 条件,让我平时有机会观察他,从他的一举一动中思索他如何以 非科班出身(生物系生命科学专业)成长为计算机牛人。 多隆说他知识经验的积累主要归功于在淘宝业务发展的过程 中,他遇到了各种各样的问题。这些问题促使他不断学习解决 问题的各种技术,他和淘宝一起成长。在我看来,他对技术始终 保持着谦卑的心态也很关键。他把自己当成海绵一样去吸收新知 识——在他的字典里,没有不值得去解决的问题,也没有不值得 234 234 淘宝技术这十年 去学习的技术。而且每学一个知识点,多隆都会写一段代码去验 证,一方面是练习,另一方面也让他加深理解,直到真正掌握这 个技术。  多隆还有一个常人难以做到的特质。当他沉浸在他的程序世 界时,外界的人和事很难干扰到他。一天的工作时间里,他绝大 部分都在座位上写代码。若他不在座位上,那基本上就在洗手间。 我还记得2010年公司的乒乓球比赛决赛是在创业10楼的休闲吧举行 的,比赛现场距离多隆只有20米远,锣鼓喧天,人声鼎沸,很多 人都被吸引过去了,整个办公区只有多隆一个人还“粘”在椅子 上。这大概就是《功夫熊猫2》里的最高武功心法“Inner Peace” (内心 平静)吧。有了这样的专注力,不成为高手也难。 多隆从2000年加入阿里巴巴,到现在已经十多年了,仍在淘宝 技术第一线写代码。我曾问他是如何坚持这么久且至今还这么有激 情。他回答说,很简单,因为他在做他喜欢的事情,解决问题和写 代码让他觉得很有成就感。有一次,我们在从庐山郊游回来的火 车上,他还在写代码,可见他对写代码喜欢到了什么程度。  在淘宝,多隆被从副总裁到普通的软件工程师等诸多同事衷 心佩服,广受爱戴。这里面既有大家对多隆技术上的认可,更有 大家对他默默付出和人格魅力的赞叹。2011年的公司年会上,那 个《淘宝的一年,亲》的视频曾感动了很多小二。很多工程师 为了淘宝线上的稳定,奉献了很多,也对亲人和家庭亏欠了很 235 235 第五部分:牛P列传 多。看视频的时候,坐在我旁边的多隆泪流满面。我想,他之所 以有如此深的感触,是因为视频里的故事正是他无数个类似不眠 之夜的写照——2009年之前,公司甚至还没有视频里提到的“消 防群”这个集体解决、承担故障的组织,即使是半夜,多隆都要 起来解决问题、排除故障。而求救过他的小二说他总是随叫随 到,没有架子,态度和蔼,任劳任怨。直到现在,很多消防群里 解决不了的问题,仍然会找多隆来解决,而他也会在第一时间 出现。 一个计算机工程师该以怎样的态度和方式来工作和学习?多 隆的一条朴素的建议或许可以很好地解答:“发现问题,解决问 题,不要绕开问题的本身;多做事情,不会吃亏,即使不是你的 事情。”这大概也是多隆最大的成功秘诀吧。看似容易的原则, 却不是每个人都能做到的。做到了,你也有希望成为“多隆”。  始终保持对代码的那份单纯的热爱,保持对技术的专注和钻 研;别人把工作当工作,他把工作当事业——这就是多隆的程序 世界。 (注:本篇作者为叔度)
还剩74页未读

继续阅读

下载pdf到电脑,查找使用更方便

pdf的实际排版效果,会与网站的显示效果略有不同!!

需要 5 金币 [ 分享pdf获得金币 ] 1 人已下载

下载pdf

pdf贡献者

mc54

贡献于2013-11-23

下载需要 5 金币 [金币充值 ]
亲,您也可以通过 分享原创pdf 来获得金币奖励!
下载pdf