2010 年 3Q 大战之后,腾讯进入到了一个新的起始点。站在前沿技术层面,腾讯的格局和视野越来越大。
今天更为强调的微信小程序云开发、腾讯音视频、腾讯数据库、腾讯大数据与 AI、腾讯安全等相关领域的技术生态,很大程度上也源自于贯穿腾讯过去十年的关键词——拥抱云原生与开源。
消除内部的技术孤岛
2018 年 930 变革中,腾讯除了新成立 CSIG、PCG 两大事业群之外,还有一个重要举措是成立技术委员会,实际上承担了腾讯内部当时一段时间里 " 开源协同 " 和 " 自研上云 " 两大战略的实施。
在此之前,腾讯内部开源文化匮乏,各部门之间缺乏技术合作,代码也互不开放。与此同时,在业务层面也存在类似烟囱式的问题,各个业务从逻辑层、数据层到后端的容器或虚拟机,技术框架和体系各自独立,重复造轮子现象明显,用最近的流行词 " 内卷化 " 来描述毫不为过。
对此,腾讯针对自研业务上云曾给到非常详细的推动方案,根据腾讯云资深运维专家周小军披露的腾讯自研业务上云历程一文中所指出的:" 腾讯自研业务上云有三个阶段,分别是直播类业务上云、沙箱云、整个业务上公有云。"
自研上云的过程,实质是验证云原生架构、部分甚至全部拥抱云原生体系的过程。
雷锋网所看到的是,从技术角度讲,无论通过容器交付业务,还是基于微服务框架研发升级,自研上云其实也就是需要将业务切换成基于公有云模式研发,同时将配套的一些列组件框架上云,成为云服务的一部分。最后,通过客户(包括内部 QQ、微信等团队,以及外部客户)的不断 POC 过程中,形成一套腾讯云原生赋能的方法论。
目前,QQ 产品体系已经全部搬到腾讯云上。明年,腾讯将实现所有新增自研业务上云。
腾讯云副总裁王慧星告诉雷锋网:" 说实话,还是超出了我们的预期。原计划三年实现增量业务全部上云,实际上只用了两年,这个进程的加速主要还是源于我们所采取的战略和路线,执行团队能够将具体的事情落地。这不仅仅是说将资源进行了容器化改造,而是更多的实现了资源的集中、研发模式的统一和标准化、管理的便利性,且最终能带来服务和产品的稳定性。"
腾讯会议,已是检验云原生的关键先生。据公开数据显示,上线仅 2 个月,其活跃用户数就超 1000 万,上线仅一年,其用户数就已突破 1 亿,成为在中国使用人数最多的视频会议产品。
腾讯云副总裁、腾讯会议负责人吴祖榕透露,腾讯会议的核心技术就来自腾讯云原生的一系列技术组件,使得业务人员只需要关注上层业务逻辑,无需关心底层基础设施。
可以说,腾讯自身就是云原生实践的最大客户。
云原生初显红利
目前,腾讯云原生产品体系和架构已经非常完善,涵盖软件研发流程、计算资源、架构框架、数据存储和处理、安全等五大领域的多个场景。腾讯云原生注册用户规模已达 100 万 ,覆盖政府、金融、文体、教育、能源、电商、互联网、游戏、LBS、IM、媒体、交通、影视等主流行业。
实际上,基于腾讯云原生能力的实践案例已经有很多。例如,大量开发者已经通过小程序云开发进行实践;作业帮在 3 个月内实现从 0 到 1 的全面容器化;南方电网从传统技术转型,实现升级改造;以及更多互联网公司全面拥抱云原生,实现云原生应用的开发。
为此,腾讯云发布了企业云原生路线图,按照企业云原生化改造的过程,把云原生实践的过程抽象为 " 开发云原生、计算云原生、架构云原生、数据云原生、安全云原生 " 五个层面,帮助开发者从整体角度模型部署云原生的关键脉络。
其中," 开发云原生 " 聚焦如何提升软件研发运维流程效率;" 计算云原生 " 聚焦如何利用容器服务、函数服务等技术; " 架构云原生 " 则深入到软件开发架构层面,对架构重新梳理和微服务化改造;" 数据云原生 " 聚焦大数据、数据库等数据类服务,融合 k8s、无服务等技术理念,以实现弹性伸缩和资源成本的降低。此外,在云原生建设的同时,安全能力贯穿整个生命周期,这称之为 " 安全云原生 "。
除了发布云原生全景图外,腾讯云还升级发布八款云原生系列产品,包括:开源云原生开发环境 Nacalhost、首款金融级云原生 Serverless 消息队列 TDMQ、国内首款全 Serverless 云原生 MySQL 数据库 TDSQL Serverless、云开发 CloudBase、Serverless FaaS 计算平台 SCF、企业级微服务技术中台 TSF 2.0、基于云原生的泛 Hadoop 大数据框架 EMR、流计算 Oceanus。
据悉,腾讯云原生产品 API 每日调用量已经超过 100 亿次,云开发、CODING 的开发者用户分别超过 100 万。
云原生背后的开源 insight
与之相辅相成的是,上云让腾讯内部可以方便调用云上成熟优秀的产品和服务,也让腾讯有机会加快拥抱开源生态。
聚焦前沿技术领域,腾讯发布了三大开源项目,分别是云原生一体化部署开源工具 Cloudbase Framework、边缘计算开源项目 SuperEdge、以及定制化高性能开源 KV 数据库 Tendis。
在主动开源方面,截止目前,腾讯在 Github 上发布了超过 110 个开源项目,覆盖云原生、大数据、AI、移动开发、Web 开发五大技术领域,获得了超过 33 万名开发者的关注和 Star,稳居全球开源企业贡献榜前十。
在社区参与方面,从 2018 年起,腾讯接连向 Linux 基金会、Apache 基金会、开放原子开源基金会等捐赠了 TARS、TSeer、Angel、TubeMQ、TencentOS Tiny、TKEStack 等 6 个开源项目。
腾讯开源联盟主席单致豪指出,从 2010 年 " 拥抱开放 " 战略至今已经十年,从内部的代码复用到外部开源,腾讯逐渐形成了自己的代码文化和开源策略。2015 年,腾讯成立开源联盟(TOSA)后,关于开源这件事儿腾讯进入了快节奏时代,一年内爆发式输出超过 20 个高质量的开源项目。
2018 年 930 变革后,由于开源项目比较多,腾讯还成立了开源管理办公室来引导开源项目的对外发布和管理。同时,腾讯也加强了与顶级开源基金会的合作,逐步形成了腾讯特色开源路线。
2019 年的智博会上,马化腾首谈对腾讯开源的态度,也正式明确了腾讯对拥抱开源的决心和意图。
经过十年的实践和探索,腾讯已经形成了 " 代码开源协同作基础,产品社区商业促进步,打通内外开源‘双循环’ " 的开源战略模式。
" 内部开源内循环 ",是通过内部代码开源、开源协同的方式,减少重复投入、提升研发效率、降低运营成本。通过 " 开源内循环 ",孵化出的新秀项目以及毕业优秀的开源项目,然后可以输送至外部开源社区。
" 外部开源外循环 ",则是以产品、社区、商业的形式进一步创造社会价值及商业价值、促进技术发展及科技创新、提高研发质量和降本增效。通过 " 开源外循环 ",引入外部优秀的开源项目,通过外部的新鲜血液促进内部技术持续的创新。
着眼于未来
实际上,拥抱开源并不与自研相矛盾。开源本身是一种构建技术体系和商业影响力的方法论,中国当下 IT 产业包括云计算在内的发展也得益于开源技术的红利。在这个过程中,企业也在不断加强自身核心技术的自研能力。这其中也包括过去十年飞速成长中的腾讯。
例如,作为一款基于实时音视频技术的产品,腾讯会议的技术积累可以最早追溯到 QQ 时代。2011 年腾讯开始自研出了第一代音频引擎 TRAE,同年替换掉了 GIPS,成功搭载在为几个亿用户使用的 QQ 上。到了 2016 年,腾讯开始向外开放第二代引擎 OpenSDK;结果到了 2017 年,腾讯又开发了第三代引擎 XCast,在该引擎之上,诞生出如今的腾讯会议。
而在数据库方面,腾讯发布了两款自研新品:云原生数据库 CynosDB 的无服务器架构版 CynosDB Serverless,和兼容 Redis 的 KV 存储解决方案 Tendis。
多媒体技术方面,自 2018 年参与 H.266/VVC 标准制定以来,腾讯多媒体实验室约有 100 项技术被标准采纳;为积极推动 AV1 商业化,腾讯云于 2019 年 11 月率先成为中国第一家支持 AV1 转码的云服务商;今年 10 月,腾讯在国内率先发布了 H.266 高清 / 超高清实时播放器。
过去一年,从发布自研第四代数据中心 T-block、自研 H265 硬件编码器,到如今的星星海首款自研 GPU 服务器和星星海新一代自研双路服务器,腾讯云正更加侧重对底层基础设施产品矩阵的自研投入。
不难发现,在外界眼中腾讯打破内部技术孤岛、实现自研上云、拥抱开源生态、自研创新持续投入等一系列组合拳下来,至少让自己不再是十年前的自己。