从 0 开始到海量业务,从 PC 互联网到云计算时代,腾讯日均 30 万亿实时计算次数的背后,离不开腾讯云的支撑。

11 月 6 日,在首届 Techo 开发者大会上,腾讯云首次完整介绍了自身多年来在基础设施和大数据计算方面的实践成果,向外界郑重回答了一个问题:腾讯有 To B 的能力,也有将 To B 贯彻到底的决心。这是自去年腾讯第三次组织架构调整之后,腾讯云首次登台做正式的「自我介绍」。

2018 年 9 月 30 日,在成立 20 周年之际,腾讯宣布将原七大事业群分拆重组,生成新的六大事业群。在保留原有的企业发展事业群(CDG)、互动娱乐事业群(IEG)、技术工程事业群(TEG)、微信事业群(WXG)的基础上,新成立了云与智慧产业事业群(CSIG)和平台与内容事业群(PCG)。腾讯云从原社交网络事业群(SNG)转入新成立的云与智慧产业事业群 (CSIG),自此从幕后走到了台前。除了腾讯云之外,CSIG 还整合了智慧零售、腾讯地图、安全产品等核心业务线,主要面向云和产业互联网,被视为腾讯 To B 战略的对外窗口。在「扎根消费互联网,拥抱产业互联网」的前进方向上,腾讯云的战略重要性不言而喻。

11 月 6 日,在首届 Techo 开发者大会上,腾讯云副总裁、云架构平台部总经理谢明和腾讯云副总裁、数据平台部总经理蒋杰分别对腾讯云在基础架构与大数据 AI 领域的探索实践进行了回顾性总结,腾讯 20 年来的技术演进之路得以完整披露。

30 万亿实时计算幕后的支撑力量

在 Techo 开发者大会的现场,蒋杰展示了一组数据:腾讯每天需要处理的分析任务数量为 1500 万,接入数据数量为 35 万亿条,日均实时计算次数达 30 万亿。目前,微信活跃用户超过 11 亿,QQ 超过 8 亿,腾讯游戏超过 7 亿,此外腾讯旗下还有腾讯视频等多个亿级 APP。

移动互联网的爆炸式发展,为腾讯带来的业务数据量在五六年间增长了几千倍。可以说,腾讯已经成为中国实时数据计算量最大的公司。支撑起这种量级的计算背后,是腾讯在基础设施和大数据能力上的不断演进。从使用通用服务器到不久前发布的「星星海」,从传统电信解决方案到第四代 T-block 产品家族,十年间,腾讯完成了基础设施领域的自主创新之路。在经过海量数据计算的实际验证之后,这些基础能力也正在通过腾讯云开放给整个产业互联网。

从通用服务器到自研「星星海」

「拥抱产业互联网」一年后,腾讯首次完整披露20年技术演进之路-建智汇

最早的时候,与大多数科技公司一样,腾讯使用的是通用服务器。为了匹配早期业务量增长的需求,同时严格控制服务器成本,腾讯在 2007 年定制了第一款 Twins 服务器。

之后,腾讯开发了一套大规模上架管理系统,可有效支持一天内交付 1000 台以上设备。靠着这套系统,腾讯度过了业务洪峰期。经历了从「通用」、「定制」到「运营」的阶段演化,腾讯走上了服务器「自研」之路。

「拥抱产业互联网」一年后,腾讯首次完整披露20年技术演进之路-建智汇
腾讯自研服务器「星星海」

在上个月的腾讯全球数字生态大会成都峰会上,腾讯推出了自研服务器「星星海」——面对云时代客户对服务器性能、成本和安全性的更高要求,这款服务器对云端的计算、存储、网络等场景进行了重点优化,能够有效满足腾讯云 98% 应用场景的需求。此外,星星海服务器采用了腾讯云与 AMD 在其最新 ROME 平台下深度定制的 CPU,实现了行业最优单核性能和最优单核 TCO,使得云服务实例综合性能提升 35% 以上,最大负载能效提高 50%。

同时,谢明在 Techo 开发者大会现场表示,今年五月份,腾讯全网服务器总量已超过 100 万台,成为了国内首家服务器超过百万台的互联网公司。

腾讯数据中心:全面智能化

「拥抱产业互联网」一年后,腾讯首次完整披露20年技术演进之路-建智汇

腾讯数据中心的整体演化路线可以概括为「高速化、规模化、集约化、智能化」。事实上,很早之前,腾讯就开始部署自己的绿色数据中心,包括上海青浦数据中心、深圳光明数据中心等。

在最新的第四代数据中心 T-Block 建设中,腾讯通过将 IT、电力、空调的产品化,结合腾讯数据中心最佳模型及建设方法论,按照搭积木的方式,实现了全数据中心的模块化配置及快速建设。相比于传统大规模数据中心,T-Block 现场施工周期减少了 50% 以上,交付周期缩减至 12 个月;同时,由于率先在行业内采用更高效率的制冷和供配电架构,使得系统能源使用效率得到有效提升。此外,PUE 已经能够降低至 1.2 以下,如果在一个拥有 30 万台服务器的园区投入使用,一年可节省 2.5 亿度电。

跨越移动互联网和云时代

从服务器和数据中心的进化案例中不难观察出,腾讯在技术上的演进与自身的发展规模和时代背景密不可分。一是 2012 年移动互联网的爆发,二是近年云计算的飞速发展。

在基础网络架构、计算、存储、数据库等层面,腾讯的能力进化路线均有着相似的节奏:腾讯的前两代网络架构基本上都是依赖商用路由器,通过人工的方法来运营和变更。这种方式很难满足互联网业务快速发展及永不断线的要求。到了第三代网络架构中,腾讯实现了独立的集中式路由控制器来统一管理,进行全局流量调度。在云时代以及 5G 商用化的背景下,腾讯开始思考网络架构该如何应对管理和弹性能力等问题:10 万级别商业网络设备有上百种型号,每种型号设备管理接口不一致,致使管理起来极其复杂,无法高效运转;其次,商业路由器无法满足 IPV6 亿级别路由表项需求;此外,当前的网络质量也无法满足用户在更精细的租户粒度调度能力方面提出的要求。

在这个背景下,腾讯基于自研设备和 SDN 分布式网络构建了第四代网络架构。走上自研之路后,腾讯的网络设备总拥有成本(TCO)下降了 20%+。

腾讯在存储技术进化中的一个标志性事件是 2006 年 Qzone 和相册业务的突然爆发,用户每天上传的图片数量多达上亿张,以致于必须在业务高峰期采取限流措施。为了解燃眉之急,腾讯开发了分布式存储 TFS。

十多年后,腾讯云的对象存储引擎 YottaStore 已经实现了单集群管理百万节点,并且做到了真正的按需扩容,磁盘利用率达到 90% 以上,也大大降低了运维的人工成本。

计算方面,目前腾讯通过虚拟网络 VPC 和软件定义存储 SDS,实现了内外网 IP 随意漂移和云盘的灵活挂载,加上虚拟机的热迁移技术,做到虚拟机在物理母机间的无感迁移,有效满足物理资源升级容错的需求。腾讯云主机管控平台 VStation 做到了每分钟交付千台虚拟机的能力,使得一个中等规模公司的计算需求可以快速得到满足。

腾讯在数据库上的发展也经过了几个阶段,在敏捷开发的 web 时代,LAMP 技术架构非常流行,以 MySQL 为代表的开源数据库成为首选。在社交业务已形成庞大规模和云时代的条件下,腾讯通过开源托管、商业合作、自研三线齐发,提供超过 20 种数据库产品,以及数据备份、SQL 审计、数据管理、数据迁移等服务等生态工具,让用户获取最佳的上云体验。

十年间三次迭代,细数腾讯大数据演进轨迹

从 0 到 30 万亿日均实时计算,腾讯用十年多完成了大数据计算的三次更迭。

「拥抱产业互联网」一年后,腾讯首次完整披露20年技术演进之路-建智汇

离线计算阶段(2009 年-2012 年):以 Hadoop 为核心的离线计算时代,直接用社区的版本计算,再做一些局部优化,腾讯第一代大数据平台由此构建。从关系型数据库到自建大数据平台的全面迁移,腾讯用了三年。

实时计算阶段(2012 年-2015 年):这一阶段的背景是 PC 互联网向移动互联网的进化,对业务计算能力也提出了更高的要求。这个阶段的腾讯从 hadoop 转向以 Spark、Storm 为核心进行流式计算,从之前的天、小时、分钟迈进到秒级、毫秒级的时代,开始支持在线分析和实时计算场景。这个阶段也是三年。

机器学习&深度学习阶段(2015 年-至今):这一阶段主要完成了从数据分析到数据挖掘的转变,可归纳为「智能化」。之后,腾讯研发了分布式的机器学习引擎 Angel 和一站式 AI 开发平台智能钛 TI,专攻复杂计算场景,可进行大规模的数据训练,支撑内容推荐、广告推荐等 AI 应用场景。

面向未来,腾讯也在做下一代的计算平台,发力点主要在数据湖、联邦学习、批流融合、ABC 融合四个主要方向。

蒋杰认为,下一代计算平台必须具备混合部署的能力,能够同时管理好公有云、私有云等不同的集群,同时要具备跨越不同区域、机房、云的数据共享能力和边缘计算能力。同时,蒋杰也用一张图完整展示了腾讯「大数据+AI」的双引擎架构。

「拥抱产业互联网」一年后,腾讯首次完整披露20年技术演进之路-建智汇

最底层是分布式的存储,用来存储结构化的数据,还有海量文本、语音、图像、视频等非结构化数据;往上一层是资源调度层,用来做 CPU、GPU 和 FPGA 的管理。再之上是计算层、分析层、数据采集层,最顶层才是大众熟悉的各业务应用层,比如 QQ、微信、游戏、广点通等等。

当初「管理几百个节点都很困难」的腾讯,在十年间交出了几份满分答卷:

在解决离线计算大规模集群问题上,腾讯云通过自研调度器,将调度性能提升了 150 倍,在 2016 年打破了 Sort Benchmark 四项世界纪录,证明了自身在算力方面的世界领先水准。

离线业务混合部署方面,腾讯云与业务相结合,将几十万乃至上百万的集群管理起来,形成了资源池以提高整体利用率,目前算力资源池的规模为 20 万台。

「拥抱产业互联网」一年后,腾讯首次完整披露20年技术演进之路-建智汇
腾讯数据体量增长折线图,短短几年间增长了五六千倍。

解决了计算能力的问题以后,还需要解决数据接入的问题,为了应对数据的爆炸式增长,同时打破不同数据中心之间的使用壁垒,腾讯自研了漂移计算引擎 SuperSQL,作为统一的数据分析入口,通过智能 CBO 优化器(基于成本的优化),将计算下推到分布在各地的异构数据源,数据分析性能提高很多倍,并且它还有一个优点:数据量越大优势越明显。

机器学习平台 AngelAngel 是腾讯云的首个 AI 开源项目。2015 年,腾讯推出了 Angel 的初代版本,用来代替 Spark 进行数据训练,目前已迭代到 3.0 版本。Angel 在 QQ、微信支付、腾讯广告、腾讯视频等腾讯旗下产品中广泛应用,并向微众银行等行业合作伙伴全面开放,普遍适用于智能推荐、金融风险评估等图计算业务场景。

作为全栈式机器学习平台,Angel 的代码行数总共超过 50 万,功能特性涵盖了机器学习的各个阶段,尤其在稀疏数据高维模型的训练上具有独特优势,擅长推荐模型和图网络模型相关领域。同时兼容 Spark、PyTorch、TensorFlow 等生态,为用户降低了使用门槛。在大模型处理之外,腾讯为 Angel 新增了深度学习、图计算等支持功能,Angel 3.0 今年 8 月也已在 GitHub 上开源。

腾讯为「云」而生

「拥抱产业互联网」一年后,腾讯首次完整披露20年技术演进之路-建智汇

为「云」而生,这是腾讯近期频繁提及的一个概念。

谢明在 Techo 开发者大会主题演讲中表示,云计算时代正在发生着巨大的变革,正在步入到一个「极致弹性」的时代。这对一个平台的资源管理粒度、资源调度能力、资源隔离能力以及计算/存储解耦的架构都产生了更强的依赖。

目前,腾讯已经将自身在网络、存储、数据库等 IaaS 的能力和大数据、机器学习等 PaaS 的能力,以及上层很多图像、语音、NLP、BI 等 SaaS 能力,通过腾讯云对外开放。「极致弹性」就是腾讯云的努力方向。

「拥抱产业互联网」一年后,腾讯首次完整披露20年技术演进之路-建智汇

腾讯公司副总裁、腾讯云总裁邱跃鹏表示,随着云计算承载的业务规模越来越大,软件和硬件的结合成为刚需。软硬件一体化技术会进一步发展,为开发者提供更强壮的基础设施平台,提升云计算的性能、提高资源利用率,最终为开发者提供稳定、更具性价比的服务。他指出,云计算未来有三大趋势,即软硬件一体化(Cloud Native Hardware)、无服务器计算(Serverless)和智能化(Smart)。

自 2014 年开始,腾讯就在逐步推动基础设施和大数据能力方面的开源,目前开源项目共 86 个,累计在 GitHub 获得超过 25 万个星标。第一代平台的核心腾讯版 Hive 是腾讯首个开源的产品。2017 年,腾讯将第三代平台的核心 Angel 开源,并贡献给 Linux 基金会 (LFAI)。今年 9 月,腾讯开源了实时数据采集平台 TubeMQ,捐献给了 Apache 社区。

蒋杰也在大会上正式宣布将腾讯资源管理平台的核心 TKE 和腾讯分布式数据库 TBase 正式开源。在内部推开源协同的战略推动下,当前未开源的 SuperSQL 等技术和产品,也将陆续开源。

下一步,恰好满 21 岁的腾讯希望成为中国大数据领域开源最全面的厂商,并用云计算结合更多的智能来提供更好的服务。在宣布「拥抱产业互联网」一年后,腾讯的 To B 之路刚刚开始,但看得出步伐坚定。