猎云网注:在去年发起“9·30”变革,将内部业务进行重新排列组合后,腾讯在技术领域也适时进化,掀起了一场“开源协同”的变革之战,即打破组织间原有的技术壁垒,真正将公司全体研发人员汇成一盘棋,劲往一处使。文章来源:砺石商业评论(ID:libusiness),作者:华生。
“如果腾讯技术是需要动手术的病人,开源协同就是板蓝根,看着有用,实际没大用。”与敦厚和善的外形并不相符,身着黑衣的张佳佳攻势凌厉,言辞如刀。
“开源协同未必是灵丹妙药,但它是必要条件!”年轻的白衣赵小俊不甘示弱,立即举例反驳。
6月20日,深圳滨海大厦25楼一间可容纳百人的会议室里,围观者挤挤挨挨,台上正反方成黑白两队,激战正酣。反方组张佳佳和正方组赵小俊,是腾讯的程序员。时不时掌声、笑声四起,室外的盛夏高温似乎也敌不过这里的热烈气氛。
腾讯技术委员会PMO成员、开源协同项目负责人郑亚峰更是全程记录了七八十条吐槽,并代表技术委员会跟现场几十名程序员进行了长达四个小时不休息的激烈讨论。
“技术委员会喊你来吐槽!”这场主题为“开源协同是否提高研发效率”的辩论赛,举办的节点,正是外界“腾讯技术行不行”言论流散之时。有说腾讯的技术是“手工作坊”,缺乏码农心心念念的“中台”;有说腾讯内部技术壁垒丛生,无法协同作战,效率低下……
真相是什么?身经百战的互联网巨头,该如何打赢开源协同这一战?
1、离开时如果留下断壁残垣,内心会不会痛
吐槽大会开始前,主持人给大家播放了一段视频:
视频中,腾讯技术工程事业群(TEG)总裁卢山坦率直言:“我们走了20年,可能各个BG强的团队是很强,但是我们基本感觉不到他们的存在……有一天,我们离开腾讯,回头一看我们留下的东西,都是扎了一堆烟囱的残垣断壁,我们内心会不会痛啊?”
问题其实源于腾讯一直以来的内部赛马文化和安全至上原则——“内部赛马”让腾讯总能“赛”出好产品,但也造成一个又一个的产品闭环和技术壁垒;“安全至上”则保障了用户数据信息的安全,但也人为设置了研发障碍。
曾利用赛马文化和安全原则打出许多胜仗的腾讯,在面对短视频等领域的失利时突然意识到,急剧变化的互联网环境也许要尝试新的打法。如腾讯公司首席运营官任宇昕所说:“今天,每一家成功的公司,基本上都是一个产品集群一起发力。要赢得未来的竞争,一定需要各个团队在一起协同工作。”
于是,腾讯在去年发起“9·30”变革,将内部架构重新排列组合,也提出一个集团层面的战略目标——开源协同,即打破原有的技术壁垒,真正将研发人员汇成一盘棋,劲往一处使。
这相当于一次全面升级,若成功,20岁的腾讯或许会焕发新的青春。
这就不难理解腾讯员工在研发效率的吐槽上为何充满热情,期望越大,才会吐槽越多。但变革不可能一蹴而就,开源协同这条路,腾讯走对了吗?
2、做法没错,时代变了
把时针调回到以前。客观说,腾讯的技术特别是安全技术,非但不“Low”,而且很多时候都是行业的领先者。
数年前,黑客入侵了腾讯的海外合作伙伴系统,再通过该系统账号“摸”到了腾讯的一台服务器,尝试下手拉取某款亿级用户应用的代码,但最终没有成功。腾讯自研多年的安全系统,及时发现并阻断了黑客,同时由于做了严密的网络隔离,所以黑客无法突破。腾讯提出的“网络隔离、划区治理、层层布防、纵深检测”的安全防御体系一直被互联网行业学习。
“腾讯之前技术线相对统一,基本上可以覆盖全部研发,而且很少用到外部开源组件,这在10年前的简单开发环境下,没什么太大问题。”王军是一只腾讯“10+老鹅”,曾先后在腾讯QQ空间、微信等不同团队参与过程序开发。
世易时移。到了现在,同样是曾经合适的网络隔离措施,却成了被腾讯程序员们吐槽的对象——在开发网工作状态下,程序师无法便捷的访问外网、难以获取一些开源信息,一定程度上就影响了工作效率。
因为,云时代以及开源文化到来,研发技术从封闭转向开放,开源组件大规模被使用,这致使开发编译环境对公网访问便利性、开源软件源的及时更新、编译和发布流程自动化等方面的要求,都和过去完全不一样了。这的确给腾讯的研发体系带来了一定影响。
腾讯内部的新人也在吐槽:不久前,一名新员工在腾讯内网上抱怨代码相互不开放,“来到腾讯就像来到技术沙漠一样”。
“我看到这个帖子后,深深被触动了。”卢山意识到:只要代码不开放,各团队难免各自造“轮子”,研发效率低下的问题就解决不了。他开始在腾讯的各种场合,都讲这个“技术沙漠”的帖子。
3、齐心形成默契:下面来找问题,上面来解决问题
倘若翻阅腾讯的历史,再挑剔的看客们也会承认:这是一家具有极强进化能力的企业。
一直以来,和听起来更朝气蓬勃的“创新”特别是“颠覆式创新”相比,“进化”这词显得缓慢艰难且老成持重,但实际上,“从0到1”只是故事的开始,而能从1到100、到1000……才是不断挑战自我的勇者之路。
特别是在迅速迭代的互联网产业中,“进化”要比“创新”更具备竞争的本质,它包涵了为此要做出的文化培养、技术改进、组织架构调整等一系列配套支撑。
2018年9月底,腾讯向外界宣布启动战略升级。很快,技术委员会应势而生,牵头人正是卢山和汤道生。这个技术委员会只做两件事:开源协同和自研上云。腾讯希望在未来发力内部代码的开源和协同,并推动业务在云上全面整合,解决研发效率问题。
作为开源协同的具体执行负责人之一,许海荔全程参与了开源协同。谈到最初工作开展的感受,她只评价一个字:难!
“腾讯各BG都有自己多年开发设计运营的‘云服务’,开始对于开源协同计划,大家是有一些担心的,比如是否能够稳定的支撑业务、是否会效率变差。”回忆起计划执行的最初,各BG团队的忧虑,许海荔感觉犹在眼前。
初起难以协同的,还有人心。腾讯内部一直存在赛马机制,多个相似项目在不同的团队运作,开源协同意味着核心部分大家协同开发。
因此,开源协同计划在最初的一段时间里举步艰难。甚至有员工质疑,各大BG会不会出现“抢”t字头的公司级项目,名曰开源协同,实则先让别的已有轮子无路可走。
卢山负责掌舵的技术工程事业群率先试点,但效果也是不佳。后来,卢山亦坦言,在早期的一些项目上,由于自上而下强力推行的方式,伤了一部分同事的积极性。
正视现状,技术委员会迅速改变策略,在后续项目中吸取了之前教训,既在内网收集需求,也公示技术方案与进度。
以卢山、公司副总裁曾宇、姚星为代表的大批公司高层,更是“亲自上阵”,纷纷在内网积极回答员工的问题。
高层的积极回应和表态很快传导至员工侧。感觉到被重视,于是员工们陆陆续续在内网上提问和建议。
员工问:为什么要搞那么复杂的网络环境配置?于是,在技术委员会主导下,相应IT部门就去征集大家对网络这块的问题,并在保证安全的前提下,持续的进行网络环境优化改革,当中例如利用零信任的手段,让员工的终端在不被信任的网络下,能够安全便捷的访问企业网,从而减少终端网络的隔离;在安全加固的前提下,通过联动终端、网络、应用等海量行为数据,并利用前沿的分析手段,让员工的互联网访问更加安全、方便。
又有员工问:为什么没有一个技术讨论平台?大家可以更聚焦的互帮互助、解决实际码农工作中的各种疑难杂症。于是,在技术委员会推动下,腾讯“码客”交流平台诞生了。
接着,问题变成了建议:这么多CI为什么不解决掉?这么多配置中心,为什么不统一一下?……
再后来,建议变成了想要:我们想要与某团队协同一起做一个项目,可否帮忙拉通?
“渐渐地,大家似乎不约而同形成了一种默契:下面来找问题,上面来解决问题。”许海荔说,“公司就形成了这样的一种技术协同氛围,刚开始是对自己影响最大的问题,慢慢演变成大家一起对技术开源协同的大讨论。”
人心齐了。许海荔突然觉得,不难了。
郑亚峰说:“开源协同本质就是为了改善腾讯的研发氛围,提高腾讯的研发运营效率,开源是我们的一种心态,是一种文化。”看来,这种氛围渐渐有了。
目前,技术委员会推进的建设技术图谱、新代码文化等多项措施都在有条不紊的进行中。K8S、CI、镜像、大数据等技术协同项目亦由技术委员会牵头启动。
4、基础平台开源率从19%一跃至67%
自我进化渐入正轨,效果已然显现。
姜明是腾讯的一名“一年新鹅”,主要做程序开发工作。刚刚加入腾讯时,他有点不习惯:公司的代码库只能在单位进入,因此下班后,突然开发碰到一些问题,也没有办法在家里远程处理,这让他很郁闷。
技术委员会成立后,姜明和其他同事在内网反映了这一问题。未曾想,很快技术委员会就成立了一个子项目,专门进行技术研发环境优化,在保证信息安全的情况下,优先解决了这个问题。
无独有偶。技术委员会促进腾讯四个团队在某项服务器端编码器的开源协同,并将协同版本应用在某款公司核心产品上,这最终将为公司节约过亿的成本。
“一个项目就节约上亿的成本啊!”这事让许海荔印象深刻并分外感慨,开源协同的价值开始体现。
目前在技术开源上,腾讯已经从TEG试点转为全面在各BG铺开。基础平台的代码先进行开源,开源率已从19%提升到了67%。此外,目前正式代码协同的也已有20个项目,还有一些正在孵化中。
此外,腾讯自研上云业务部署的服务器CPU核数已超过50万核,公司主要的QQ、微信、空间、看点、游戏等数十个业务均在云上部署,并计划到今年年底部署超过150万核、100P存储。
技术开源协同解决了,研发效率上来了,安全至上原则就舍弃了吗?并没有。
马化腾说,腾讯平台的数据远比其他平台更加具有用户个人隐私性,因此反而要强调的是如何加强数据保护,而不是打通数据和唯算法论。
按照腾讯的开源计划,原则上设定为默认开源,尽可能多地开源,但涉及用户信息安全等敏感代码技术VP审批后仍可不开源。
此外,开源协同后的安全保障是会提供安全工具和安全服务,确保消除开源、协同产生的一些安全问题,比如代码里面的漏洞、系统的漏洞,以及流程中不出现安全漏洞。
一位腾讯高管亦透露,过去安全更关注自研IDC,自研上云推进后,腾讯安全平台部早就联合运营管理部制订了自研上云安全规范,同时把安全系统集成到自研上云的流程中,实现了自研体系安全系统也自动化覆盖到了自研上云这部分业务。
“开源协同也罢,亦或是云之道,腾讯人从来没有怕过困难,腾讯的技术人员更不会怕。腾讯过去的研发走过很多路,有过去值得骄傲的,也有现在值得反思的。”作为腾讯技术委员会六大决策委员之一的腾讯公司副总裁姚星如是说,“但不管如何,我们对腾讯未来的技术能力有信心。”
(文中张佳佳、赵小俊、王军、许海荔、姜明为化名)