腾讯云的一场硬仗
来源 / ToB 行业头条 (ID:wwwqifu)
作者/ 海阳
上云规模突破 5000 万核,累计节省成本超过 30 亿,几天前腾讯正式对外宣布,内部海量自研业务已实现全面上云,完成了一场国内最大云原生实践。
这也意味着,腾讯过去分散在不同事业群的割裂技术栈,在云端实现了大一统。
2018 年,腾讯整体战略升级之时,提出“开源协同”和“自研上云”两大技术战略。
所谓“自研上云”,就是要将腾讯内部的社交、游戏等海量自研业务搬上云端。这对于一直追求“小步快跑”的腾讯来说,这是一个不小的挑战。
阻力是一定的。对于内部业务来说,自建的技术栈早已“用顺了手“,云原生虽能有效解决资源浪费的问题,但大多数人还是对于“上云”之后的技术稳定性和适配度仍然存疑。
另一边,面对外部客户“腾讯自建上云了吗?”的追问,腾讯也急需给出一个具有说服力的答案。
三年时间,腾讯完成了海量自研业务全面上云,在这个过程中,生在云端的新业务也成为腾讯自研技术进化的内在驱动力。
腾讯会议,就是其中一个。
从诞生的第一天起,生于云的腾讯会议基础架构便是基于云原生。
2020 年初,为了更好地应对疫情带来的用户规模激增,云原生升级成为腾讯会议的“必然选择”。
用腾讯云副总裁、腾讯会议技术负责人陈健生的话说,就像在一辆高速飞行的飞机上换引擎。
这个过程中,一方面,腾讯云多年的技术积累和沉淀支撑了腾讯会议的快速发展,在腾讯会议上得到了验证;另一方面,腾讯会议在云上成长的同时,进一步打磨了腾讯云的能力。
可以说,腾讯云铺的路,让腾讯会议奔跑起来更加自如。
01
一场“硬战”
起初,腾讯会议就是内部的一个创业项目,包括产品、技术人员在内,寥寥数十人,团队的目标是——上线一年内达到 5 万 DAU。
从开发效率和人员配置等角度考虑,这是一个现实的问题,然而却又遭遇了超乎现实的挑战。
2020 年初,国内疫情全面爆发,上线仅一个月的腾讯会议,迎来了它的第一场“硬仗”。
腾讯云副总裁、腾讯会议负责人吴祖榕对当时的情况记忆犹新:“1 月 22 日那天还是跟平常一样,但一天后,我们就意识到不对劲了,服务器的访问量就跟点了火药桶一样,成百上千倍的人同一时间涌进来。”
面对突增的流量,会议初创团队有些“力不胜任”了。就在这时,负责媒体传输的黄志海、媒体流控的薛笛、会议产品后台整体架构的王彬三个团队,组成了铁三角战队,对腾讯会议进行了一场“空降式救援”。
腾讯多个团队纷纷加入,支持会议的扩容之战
腾讯云架构平台部自研业务总监黄志海表示,当时运营商及网络提供方都无法提供扩容的帮助,团队只能在架构上做升级,让使用移动的用户进来移动,联通的用户进来联通,一一匹配,保证更大的空间对接其余用户。
但这远远不足以满足海量用户需求,扩容本质上是一个系统级工程。
“扩容不是简单的堆机器,各系统之间要形成配合,因此团队需要做的就是一边扩容一边进行系统优化”, 腾讯云专家工程师薛笛强调。
此刻,前所未有的“使命感”也在驱使着团队。
当时,腾讯会议面对的更多的是上课的老师和学生线上教学的需求,为了他们,腾讯会议也一定不能搞砸了。
憋着一口气,腾讯会议团队做好了持续作战的准备。
白天,持续大量的扩容,保障宽带资源、服务器资源;夜里,针对产品性能等问题做大量的开发、部署;凌晨,再对当天所有变更、代码优化做压力测试。
负责后台开发的王鹏直言,“刚开始一度很崩溃,每天就找机器,整个流程完全是人肉的”。
这个过程中,他们要解决千万级用户的需求,一度部署了十万台服务器,这样的速度和效率在全球范围内都实属罕见,换做任何一家初创公司,都是灾难性的。
腾讯会议之所以能够脱颖而出,恰恰是源于腾讯云过去在技术和资源上的积累,加上充裕的人才储备,以及成熟的组织结构,从而快速的解决问题。
02
“说干就干”的云原生升级
扛住后的腾讯会议,看似进入了一个稳定期,但从长远发展来看,大家都强烈地意识到一个必须做的事情——云原生升级。
这意味着扛过第一轮洪峰扩容之战的腾讯会议,还没有丝毫歇息的机会,就立马要奔赴另一个阵地。
说干就干。
2020 年 4 月,腾讯会议开始着手推进云原生升级。
“我们碰到了很多问题,一是当时整个技术架构并不完善,二是在云上资源的使用上面,比如 IaaS 层的东西很多都是虚拟机(CVM),外部的网关 TDW 这些东西,甚至媒体侧还有物理机”,薛笛说道。
事实正是如此,即便会议生于云,云原生升级并不像说起来那么简单,要知道,彼时的腾讯会议已经是一款千万用户量级的 App,更在复工复产中承当着不可缺失的作用。
技术团队要做的是,保证产品在用户端正常使用下,实现一场“无感升级”。
这就像汽车运行过程中,门坏了换一个可能比较容易,如果是要换发动机的某个部件,就很复杂。
负责后台研发的王彬把会议的云原生升级分为三个阶段,分别是:容器化和组件化的替换、架构的微服务化和 DevOps 研效、以及持续的精细化运营。
以组件替代为例,之前很多核心数据分布都在老的缓存系统上,有着非常多的业务耦合问题,后面要切换成云的不同业务缓存系统时,只能慢慢切、仔细切。
且至关重要的是,替换新组件的过程中,一点也不能影响用户的使用。
至于架构的微服务化,难度则更大。技术栈不统一和业务大量耦合的问题,导致做服务化的时候,如何拆、分几步拆、先拆什么都需要经过慎重考虑。
整个服务化改造和云原生升级,既是一个精细活,也是一个慢活。需要团队拿出百分之两百的注意力,一点点去打磨和提升。
最后,王彬总结道,腾讯会议从 2020 年三、四月开始筹划,五、六月启动实施,团队与腾讯云同事历经一年多的艰苦奋战,最终完成了云原生的改造升级。
生于云的腾讯会议,在云的支撑下,很好地成长起来了。
2022 年上海疫情期间,用户需求量激增的历史再一次重现。不过,面对这一次的考验,腾讯会议团队显得从容了许多。
此前经历了“扩容崩溃”的王鹏说道:“最近我们看到的用户需求,不亚于 2020 年的时候。从 3 月份到现在我们根据用户量的变化,进行了 10 多次的扩容,基于整个基础设施,这次扩容对于团队来说很轻松了,只需要告诉相关团队今天要准备多少流量上线,很快就可以落地。
几十万核心的扩容,一个按钮就能搞定。
对于云原生升级带来的横向伸缩能力和开发效率的提升,黄志海打了一个形象的比喻:“就像大家在疫情囤货的时候,如果这个补给是非常顺畅的,大家不用囤很多货,只要随时买就可以了,而且都是像罐头一样的标准化包装提供,会议现在就达到了这种级别”。
如今,腾讯会议已经从助力复工复产时的一个工具,成为了社会信息交流和沟通协作的重要平台,成为了企业“业务上云”背后的数字化沟通生产力。
03
腾讯云铺平了会议踩的坑
经历过扩容大战与云原生升级的腾讯会议,也凭借腾讯云的支撑趟平了很多“坑”。
从产品自身的迭代来看,陈健生说道:“完成云原生升级后,腾讯会议走向了体系化、标准化,从而在后续的迭代中大量的工作实现了自动化,大大提高了开发效率,产品稳定性也得到了极大提升”。
业务完全微服务化之后,很多细微业务形成了可自治的单点,有效减轻了服务间的互相依赖,减轻了后台系统故障的多米诺骨牌效应,极大程度减轻后期运维压力。
以 CICD DevOps 为例,以前腾讯会议的一个镜像很大,同步一个镜像大概需要几十分钟,这导致扩容要提前一个小时左右做准备,灵活性很差,需要运维的同事一直盯着。
而云原生升级后,现在同步一个镜像基本上一两分钟就搞定。
在薛笛看来,这些改变让腾讯会议团队在平时工作中,就如看直播时从 2G 网切到 5G 网,一键起飞。
从短期来看,云原生升级固然是一次极大时间和精力、技术投入,但是把它放到相对长的时间段来看,腾讯云的技术演进和长期服务客户的成熟经验,也带动了成本的压缩,经营效率和产品服务能力的提升。
王鹏回忆腾讯会议在云上研发、成长的过程中,团队陆续给云的兄弟团队提供了很多新的实践场景以及改进建议,甚至还帮抓了不少“虫(bug)”。
对此,薛笛感同深受,他用 TRTC 举例,“ TRTC 支持的会议场景,是一个相对新的应用领域,对云产品来说,可以拓宽应用场景,在各个角度会得到更完善的打磨,更好地服务公司里面像微信、QQ 等大部分产品”。
陈健生坦言,作为生于云、长于云的典型代表,腾讯会议一路以来也给云的技术部门出了不少难题,但其初衷是希望整个腾讯云能做得更好。
在他看来,技术是没有止境的,需要不断地迭代,腾讯会议作为一个试金石,伴随着腾讯云共生长,一起做到 90 分,再到 98 或者 99,甚至 100 分。
“相信未来不管是内部、还是外部的更多产品,都能放心地接入腾讯云,我们摸着石头过河,蹚出了一条行之有效的云原生之路”。
在「ToB 行业头条」看来,经验“复用”所带来的更大的意义在于,这个被蹚出来的“云端之路”,对于当下很多企业服务软件的厂商同样具有极高价值。
与此同时,云端模式的普及,也可以大幅节省设备、带宽、人员等一系列成本。
要知道,随着社会生活愈加多元,需求复杂度增加以及节奏加快,带动了供给侧在满足需求上也要多变多元。
也正是基于这一时代特点,SaaS 这种基于在线化的软件服务成为市场趋势,但是在线化只是第一步,让客户通过 SaaS 模式获取,才能真正满足企业客户简化、灵活、开放、松耦合的需求。
这意味着,云原生才是 SaaS 天然之路,也是必经之路。
正如当代经济学家樊纲先生所说:“新技术的应用能提高生产力,是促进发展、推动经济增长的一个途径,所以一定要重视新技术的出现与应用。”
云原生技术作为如今数字化时代最关键的趋势和技术体系之一,腾讯云能够在腾讯会议身上应用的如此炉火纯青,对于无数企业服务软件厂商的“转云、上云及重生于云、长于云”,属于漆黑海域上的一个闪亮灯塔,指引着前进的方向。
评论