陈其亮作者

底层技术收入写进财报:一家互联网公司的变革

开源与协同,腾讯的这条路走得并不平凡!

担任腾讯技术运营副总监好几年,徐海丽的风格一向稳健,可今年十月底申报预算时却特别紧张,因为她打算为一项工作连续第三次「狮子大开口」,向公司申请一大笔钱,「公司还会批吗?」

何况批预算的总裁刘炽平是出了名地「火眼金睛」,在预算会上审项目,要么一言不发直接过,要么随时打断提问题。轮到自己,徐海丽惴惴不安地看着老板,只见刘炽平点点头,竟自言自语地说「这个钱花得值」——预算通过了。

而这样的意料之外,在短短几个月里,已是第二次发生在她身上了。

另一次发生徐海丽休假时的大半夜,家人的手机响了,竟然是团队同事找来,声音紧张又兴奋。徐海丽一惊:出了什么事?原来,CEO 马化腾刚刚回复了团队的一封邮件,要求修改邮件的内容格式,让手机上看起来更方便。而这封邮件,不过是徐海丽团队发给全员的例行工作进展邮件。

让刘炽平如此大方、让马化腾如此仔细的工作,究竟是什么?

1、151 秒识别 128 万张图,底层技术收入写进财报

答案是四个字:开源协同。

简单说,开源协同就是腾讯内部源代码全部开放,不同团队协同开发,共建腾讯基础技术平台。

外部人可能了解的少,实际上,开源协同已在腾讯推进两年。目前,腾讯内部代码开源率已超过 80%,组建和孵化了 151 个 Oteam(开源协同小组的简称),涵盖了计算、存储、数据等所有互联网技术基石,涉及了微信、QQ、腾讯云等所有腾讯核心业务板块。

开源协同不仅给腾讯省下了数亿元的成本,更通过研发效能的提升,技术辅助腾讯自己的产品、腾讯云上的广大产业客户、乃至全球技术共同体。

以云帆 Oteam 为例,这个小组已有 70 多位程序员参与贡献代码,主攻深度学习框架,集结了腾讯所有事业群的相关技术高手,成立半年后,小组成功刷新图像处理领域著名的 ImageNet 训练速度世界记录,只需 2 分 31 秒就能识别出 ImageNet 内 128 万张图片内容,Top5 精度达到 93%。

在编程语言 java 的 openJDK 国际开源社区里,腾讯是迄今为止唯一一家因显著贡献被点名致谢的中国公司,在社区最近发布的 JDK15 版本中,JDK Oteam 向主分支贡献的代码名列中国公司第一。

12 月 2-3 日 国际内源基金会 ISC 首次举行亚太区峰会, 对腾讯开源协同大加赞赏。

在全球最大的代码托管平台——Github 上,腾讯也已经悄悄地贡献了超过 100 个开源项目,累计获得超过 30 万个星标,开源贡献度居全球科技企业头部。

底层技术收入甚至写进了刚刚出炉的腾讯 2020 年第三季度财报。

企业级技术优势被认为是腾讯发力产业互联网的新亮点,今年前九个月,基础架构安全产品收入同比增长 178%,云原生安全产品客户规模超过一万家。

这还是那个被坊间笑称只会做产品没有技术标签的腾讯么?

开源协同正在悄悄地重构着腾讯的肌理。腾讯向来以赛马文化知名,但开放协同恰恰是封闭赛马的反面。

两年来,腾讯究竟经历了什么,不惜在技术上告别「赛马」转向「协同」?

但可以肯定的是,无论是取得共识,还是推行实践,只要对自己「动刀」,就注定了开源协同会历经艰辛。

2、哪个能代表腾讯,哪个看上去都不够强

作为推动开源协同落地的项目经理,徐海丽目睹了这个艰辛的过程,也看到了她在腾讯十三年所不曾看过的景象,比如两个程序员互吹整瓶红酒。

张青林酒量平平,但在 2018 年底一个晚上,却主动干掉了一整瓶红酒,对于低调平实的程序员来说堪称罕见。

更稀奇的是,他竟然是向一直以来的「对头」——另一个程序员雷海林敬酒。俩人的团队同在腾讯技术工程事业群(简称 TEG)做数据库技术,关系却很僵。用雷海林的话说,曾认为彼此「老死不相往来」。

「互撕」在腾讯内部并不稀奇。

多年来赛马机制催生出许多业务相似的团队,产品侧在赛马,技术侧也在赛马。优点是产品的需求能在自己的技术团队里闭环,得到最快速的支持;而缺点是,重复技术自然造成资源浪费,尤其是研发效能低下,劲儿没法往一处使。

能推出微信、QQ 这种十几亿用户级别的产品,腾讯存储、计算、数据等支撑产品的技术家底一定不薄。但伴随产品取胜,留下一根根技术大烟囱,好比强大的水和电被分散在一个个独立运转的工厂里。

「我们梳理过公司内部重复的技术团队,有 150 个之多,向 Martin(刘炽平的英文名)汇报时,他都惊呆了。」TEG 运营管理部总经理郑亚峰回忆。

2018 年 9 月 30 日,腾讯宣布战略调整(简称 930 变革),树起产业互联网大旗,专门成立了云与智慧产业事业群(简称 CSIG)。而要向其他产业提供互联网的水和电,腾讯云需要输出的,恰恰是公司级的技术能力。

但分散的技术能力显然既缺少说服力,也缺少竞争力。这些烟囱在内部谁也不服谁,单拿出来又都没法跟外面整体比较,简言之,就是「不强」。

「拿数据库来说,光是关系型数据库就有三个技术产品放在腾讯云上,客户一看都懵了,究竟哪个能代表腾讯?哪个看上去都不够强。」郑亚峰说。

数据库只是腾讯几百个技术烟囱之一。不破不立,腾讯高级执行副总裁兼 TEG 总裁卢山给出的答案十分直接:敲掉烟囱,拉通技术。

930 变革后,腾讯在各事业群之上专门成立技术委员会,卢山牵头。数据库是技术委员会点名「必须拉通」的首批技术之一。

腾讯技术委员会与各事业群程序员合影。

在 2018 年底双方宣布合作的晚宴上,看着张青林一瓶红酒喝完,雷海林没示弱,也干了一瓶。酒精的刺激下,也许是回顾过往的感触,也许是多年心防的释放,放下成见的两人抱头痛哭。

两瓶酒和男人的眼泪,成了团队合作前夜最好的「破冰」仪式。

在技术拉通的大势之下,还有多少个醉倒的「雷张」无从知晓。接下来的问题是:该怎么把散落在公司各处的技术拧成一股绳?

3、走出条新路,就得先革自己的命

压力漩涡中心的卢山陷入焦虑:拉通技术意味着打破封闭,可封闭正是过去腾讯胜利的法宝。

革自己的命,谈何容易?!

郑亚峰能理解这种复杂心情,他见证过腾讯技术打过的大大小小无数硬仗。在中国互联网公司里,腾讯服务面最广、场景最多、用户时常最长,「海量」是腾讯技术最重要的标签之一。

海量时代讲究技术专有、敏捷开发,一个功能的实现要经过从需求到开发、测试、运营上线等各环节的串联路线,每个环节把自己的能力做到极致,专有的同时也是封闭。

但随着开源和云化成为最大的两个技术趋势,持续开发持续集成,大量开源组件可以直接用,测试运营等则交给研发效能工具,一行代码可以很快让用户看到效果。

曾经的先进变成如今的落后,封闭是病根,那开放就是解药。

卢山想明白了。他说服腾讯最高决策层「总办」,借势 930 变革,用「开源协同」的方式拉通技术。

但期待中的「大干一场」,并未立刻出现:从 2018 年底提出到 2019 年 5 月,腾讯的「开源协同」在半年里,几乎毫无进展。

「原因特别简单,大家都觉得开源协同是好事,但不是我的事。」在腾讯技术委员会负责开源协同项目的郑亚峰说。甚至有技术团队不理解地问:「我们靠本事打下的阵地,凭什么别人来抢地盘?」

2019 年 6 月,腾讯技术委员会的会议上,卢山下决心拍板「全面开源」。

不光是底层的共同代码开源,所有专门为产品服务的业务代码也要内部开放,否则总有人说是业务代码藏起来。

说到感慨处,卢山在会上红了眼眶,对着各事业群的技术副总裁们说:「等多年后我们都离开了腾讯,回头看留下的东西都是一堆烟囱这种残垣断壁,心里会不会痛?」

技术委员会开启自上而下的强推,决定从最重要的底层技术「山头」开始动刀,「不同意开源协同的就上总办」。

六大事业群技术负责人齐聚腾讯技术委员会 linktime 活动,卢山(左四)与一线程序员交流开源协同。

基础的名字服务(一种对 IP 地址进行名字编码以方便后台调用的技术)被点到。TEG 基础架构部组长王洪智受命做名字服务 Oteam,才发现公司里竟然有 cl5、织云 l5 等眼花缭乱的九个名字服务系统。

怎么把九个砍成一个?王洪智懵了,「当时我们团队在维护其中最大的一个,另外八个里我只认识两个,还不太熟。」

平台与内容事业群(简称 PCG)的内部合并让 Oteam 找到一个契机。930 变革时,PCG 由原先三个事业部合并而成,大量类似的技术服务亟待整合,九个名字服务里有三个都在 PCG。

「我们首先找到 PCG 的团队,提出了统一全公司名字服务的方案,经过四轮讨论和修改,统一方案得到了双方的认可。」王洪智先把 PCG 的「三合一」团队拉了进来。

这让王洪智信心倍增,他带着统一方案又成功说服 CSIG 的第五个团队,接着剩下四个团队也顺理成章地都加入了。Oteam 给公司级的名字服务取了一个响亮的名字——北极星。

截至 2020 年 9 月底,北极星已更新至第 12 个版本,整合了腾讯全公司 90% 以上的服务,有 110 个部门、140 万节点接入了北极星,接口的日调用量超过 2.5 万亿,调用成功率超过 99.999%,曾经的 cl5 和织云 l5 在 10 月 20 日正式下线。

从大学毕业进入腾讯,王洪智做「码农」五年,从没想过有机会做一个公司级的技术产品。

「我们九个团队第一次见面时还畅想过,将来提到腾讯的名字服务就是北极星了,我们再完善些也会贡献到开源社区。」王洪智嘿嘿笑说。

从海量到云,新时代提出新的技术要求,敲烟囱的人终于跑通了一条自己的新路。

「全行业只有腾讯选择了开源协同这条路,这是腾讯的创新。」郑亚峰认为,这条路以开放和协同为抓手,提供了一种新技术中台的虚拟组织形式,提升研发效能,促进技术进步。

4、趟进深水区,反而不焦虑了

「新鹅」杨晓峰,虽然在 JDK(编程语言 java 的开发工具技术)领域很资深,却一直觉得:「谁会关注我们这些做基础技术的?」

刚入职三个月,他就代表 JDK Oteam 在腾讯深圳总部滨海大厦领了个大奖——2019 年度开源协同优秀奖。

腾讯招我来牵头 JDK 开发的时候就说了,要用开源协同的方式做,我其实就是冲着‘协同’两个字来的。」杨晓峰认为,把基础软件开发和全公司的产品需求融合在了一起,Oteam 的方式很难得。

10 月,JDK Oteam 在滨海大厦举办生态开放日。杨晓峰没想到,业务总经理都亲自来参加活动;更没想到,当看到 Oteam 成员沉醉于讨论技术细节、以致于超时了都没发现,他忽然被感动了。

腾讯 JDK Oteam 项目管理委员会在开源协同生态日活动上留影纪念。

杨晓峰不再认为自己的工作在腾讯是「无人关注」的:「开源协同这事,给了对基础技术有兴趣的人一个舞台。」

这正是徐海丽期望看到的。生态开放日活动是她今年推动开源协同的一个重要抓手,帮助 Oteam 在公司内外打造技术影响力,鼓励程序员们找到更多存在感和荣誉感。

「我们叫培育新代码文化,让开放和协同的文化深入人心。」徐海丽说。从当初旁观雷海林和张青林的「红酒泯恩仇」,她就隐隐感觉到某种精神被激发,只要有合适的技术土壤和技术氛围,腾讯的技术还能「干出更大的事」。

程序员的热情被点燃。仅 2019 年,腾讯新增的代码行数就高达 12.9 亿,新增研发项目超过 3500 个。

今年 6 月,集合了腾讯各事业群数据库内核开发精英力量,数据库 Oteam 正式发布首个开源协同版本的数据库内核 TXSQL-8.0,这是腾讯历史上第一个公司级 MySQL 内核统一版本,可为腾讯自研业务以及广大云客户提供更强大的支持。

码客(腾讯内部的技术社区)中「数据库技术」圈子的成员已超过 2800 人,一个置顶帖子问:腾讯云和友商的数据库产品有何差距?

获赞最多的回答来自一位数据库产品总监。他写道,腾讯云和所有兄弟团队「已经不止是开源协同,而是全面合作开发」,腾讯数据库的未来「砥砺前行,大有可为」。

腾讯 CI Oteam 第一个举办了生态开放日,数千名员工观看了内部直播,并在满分 5 分的内部直播评价中打出了 4.9 分;天穹大数据 Oteam 在内网分享技术心得,获赞上百个,员工留言「大厂表率」「非常支持这种有意义的事情」;数据库 Oteam 的内部分享也被员工表白「强大,慕名而来点赞」……

腾讯 tRPC Oteam 开源协同生态日活动,主题是:「来吧,留下代码」。

所有这一切被卢山归纳为开源协同的「深水区」。尽管腾讯在短时间内内部开源的比率让行业内惊讶,但开源率和 Oteam 数量都已不是腾讯的重点。

10 月 30 日,腾讯技术委员会面向全员的活动上,卢山说:「2020 年我们的重点是 Oteam 质量、是开源治理,往深水区走了。」

当然还是会有不一致的声音。

比如开源治理所发布的代码规范,为了代码缩进两格还是四格,腾讯内网里程序员们吵个不停,卢山笑说这是好事,「大家互相争吵,代码越写越好」。比如经过激烈 PK 后,依然有类似的团队协同不了,特别是涉及到一些业务核心利益时,郑亚峰仍旧耐心地密切观察,保持沟通。

但无论是卢山,还是郑亚峰,都不再焦虑。

「开源协同,没有里程碑也没有终点,最终开放和协同会化为无形,成为腾讯的一部分。」郑亚峰说,「我们一直在路上。」

卢山更看重的,是开源协同背后的信任。当时代对腾讯提出新的要求,只有敏锐地自我革新,用开放协同的文化打破烟囱林立,找回信任,才能勇立潮头,静观风雨。

「技术的开放协同培养了信任,信任才能产生更长远的创新和影响。」卢山说。

本文来源 36 氪,原标题为《推倒 “烟囱” 这两年:腾讯正进行一场自我革命》

本文为机器之心转载,二次转载请联系原公众号获得授权

工程代码开源与协同腾讯
相关数据
数据库技术

数据库,简而言之可视为电子化的文件柜——存储电子文件的处所,用户可以对文件中的数据运行新增、截取、更新、删除等操作。 所谓“数据库”系以一定方式储存在一起、能予多个用户共享、具有尽可能小的冗余度、与应用程序彼此独立的数据集合。

腾讯机构

腾讯,1998年11月诞生于中国深圳,是一家以互联网为基础的科技与文化公司。我们的使命是“通过互联网服务提升人类生活品质”。腾讯秉承着 “一切以用户价值为依归”的经营理念,为亿万网民提供优质的互联网综合服务。 腾讯的战略目标是“连接一切”,我们长期致力于社交平台与数字内容两大核心业务:一方面通过微信与QQ等社交平台,实现人与人、服务及设备的智慧连接;另一方面为数以亿计的用户提供优质的新闻、视频、游戏、音乐、文学、动漫、影业等数字内容产品及相关服务。我们还积极推动金融科技的发展,通过普及移动支付等技术能力,为智慧交通、智慧零售、智慧城市等领域提供有力支持。 腾讯希望成为各行各业的数字化助手,助力数字中国建设。在工业、医疗、零售、教育等各个领域,腾讯为传统行业的数字化转型升级提供“数字接口”和“数字工具箱”。我们秉持数字工匠精神,希望用数字创新提升每个人的生活品质。随着“互联网+”战略实施和数字经济的发展,我们通过战略合作与开放平台,与合作伙伴共建数字生态共同体,推进云计算、大数据、人工智能等前沿科技与各行各业的融合发展及创新共赢。多年来,腾讯的开放生态带动社会创业就业人次达数千万,相关创业企业估值已达数千亿元。 腾讯的愿景是成为“最受尊敬的互联网企业”。我们始终坚守“科技向善”的初心,运用科技手段助力公益事业发展,并将社会责任融入每一个产品。2007年,腾讯倡导并发起了中国互联网第一家在民政部注册的全国性非公募基金会——腾讯公益慈善基金会。腾讯公益致力于成为“人人可公益的创连者”,以互联网核心能力推动公益行业的长远发展为己任。腾讯公益联合多方发起了中国首个互联网公益日——99公益日,帮助公益组织和广大爱心网友、企业之间形成良好的公益生态,让透明化的“指尖公益”融入亿万网民的生活。

http://www.tencent.com/
暂无评论
暂无评论~