Auto Byte

专注未来出行及智能汽车科技

微信扫一扫获取更多资讯

Science AI

关注人工智能与其他前沿技术、基础学科的交叉研究与融合发展

微信扫一扫获取更多资讯

陈其亮作者

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

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

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

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

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

另一次发生徐海丽休假时的大半夜,家人的手机响了,竟然是团队同事找来,声音紧张又兴奋。徐海丽一惊:出了什么事?原来,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等社交平台,实现人与人、服务及设备的智慧连接;另一方面为数以亿计的用户提供优质的新闻、视频、游戏、音乐、文学、动漫、影业等数字内容产品及相关服务。我们还积极推动金融科技的发展,通过普及移动支付等技术能力,为智慧交通、智慧零售、智慧城市等领域提供有力支持。

http://www.tencent.com/
相关技术
暂无评论
暂无评论~