以下文章来源于InfoQ ,作者InfoQ
发展十余年,腾讯云技术演进的底层变迁逻辑是什么?低代码会不会是云计算下一个风口?未来十年,开发者面对的技术世界是什么样子?
本期 C 位面对面,我们有幸邀请到了腾讯云高级副总裁、腾讯云 CTO 王慧星。他加入腾讯十七年,从腾讯 QQ、QQ 空间等社交平台后台海量技术架构的重要设计者到今天的腾讯云 CTO,他在腾讯这些年经历了太多次技术变迁。如今面对上述业内焦点问题,他的理解又是什么呢?
十年激荡,腾讯云技术变迁史
从2010年腾讯推出开放战略,同年成立云平台部,也就是腾讯云雏形至今,腾讯云已经稳定服务超过10年。在此期间,又以2018年的9月30日的腾讯组织架构调整影响最为深远,腾讯方面曾把这次调整定义为一次面向未来的进化,迈向下一个20年的主动革新与升级迭代。自然,这场变革产生的影响时至今日都受到外界的强烈关注。
从产业端看,这场变革让腾讯将未来的战略焦点正式从消费互联网转向产业互联网。至今,已经过去1000余天,这场风久吹未落。
从海量之道到云上生长
腾讯在消费互联网层面的积累,大家有目共睹,海量业务群雄并起,以QQ空间、Qzone、开心农场等为代表的亿级应用比比皆是。
曾经负责过Qzone架构设计的王慧星很早就经历过了存储爆炸式增长,如果把微信和QQ聊天中日均产生的图片计算在内,腾讯可能是中国最早达到EB级存储的企业。微信和QQ多年来的稳定运行得益于腾讯在PC时代积累的海量服务之道,这样的技术理念不仅支撑了腾讯内部众多的业务从0到1再到亿的突破,也为腾讯在PC互联网时代的发展提供了强大的技术保障。
但是,当腾讯满心欢喜得将这些经验应用到产业中时却遇到了各种各样的挑战。
首先,海量服务之道的基础是腾讯在业务的底层和前端配备了强大的研发力量,这些研发团队与腾讯云产品团队互相提供合理性的设计建议,从而保证腾讯的业务能够小步快跑,快速迭代。
回到产业之后,腾讯云立刻感受到了不同企业技术团队规模上的巨大差异,很多企业缺乏稳定且庞大的技术团队进行支撑。同时,随着移动互联网的大潮兴起,企业对于业务的创新和研发效率都提出了更高的诉求,企业需要一套适应移动互联网、云计算时代的技术体系,开发者也需要借助云端的基础设施和基础服务,来加速业务的成长。
因此,当企业在选择云厂商过程中,自然而然对云厂商提出了更多诉求,并会下意识地询问腾讯内部是否在使用该技术,他们希望自己所用的技术经历过腾讯海量业务的打磨。
“我们肯定还是得回到产业现状,根据企业的平均研发投入情况以及开源社区中的反馈进行调整并尽量靠近。只有这样,做出来的产品和服务才能更加符合客户的需求。”
从消费互联网到产业互联网,变化的不止于整个公司的战略方向,腾讯云背后的整体技术理念也在悄悄改变,原来的“海量之道”逐渐往“云上生长”演进。
因此,腾讯在930变革之后,启动了影响深远的“开源协同和自研上云”战略。
在开源协同方面,因为在腾讯内部,类似微信这样单体业务量庞大的应用有很多,不同的业务板块背后都有各自的研发团队,这些研发团队针对不同的业务场景又开发了一些与自有场景深度绑定的能力,但通用性及泛化能力上可能存在不足。
如果回归到技术本质,未必所有业务都需要一套单独的架构进行设计,不同的业务背后可能存在60%到80%的相似需求,既然存在相似性,就可以通过开源协同减少重复造轮子。腾讯云对此的主要思路是集中技术力量将“单个轮子”造得尽可能好,让其可以同时服务微信、QQ、视频号等核心业务,同时这些技术被拿到产业里面用的时候也可以适合产业界的需求。
目前,针对AI、大数据、音视频等核心技术板块,腾讯内部设置了专门的技术委员会,对内希望可以将这些技术服务好各大核心业务,对外则与全球顶级的技术社区协同合作,形成更好的参与和互动机制,为中国技术走向全球提供助力。
在过去三年的时间里,腾讯内部共组建和孵化了117个开源协同小组,涵盖计算、存储、大数据等技术领域,涉及微信、QQ、腾讯云等核心业务板块,全公司内部代码开源率达到85%;对外,腾讯也开源了130多个开源项目,累计获得star数38万+,包括云原生、操作系统、数据库、大数据、AI等越来越多的自研核心技术逐步对外开源。
在自研上云方面,从2019年开始,腾讯启动上云,以主机上云为主夯实云基础设施能力;次年,腾讯启动云化改造,鼓励业务收归自建PaaS到云上,各BG容器平台以云原生为基座,完成上云改造;今年,大力发展云原生。数据显示,自研上云三年来,腾讯云云上总核心数达到4500万,公司已实现21年增量100%上云,存量资源66%已在云上。
“腾讯云上的所有服务只有通过内部率先使用、检验,经历腾讯内部真正的海量业务打磨,才真正具备更好的推动产业上云的能力,这是腾讯自研上云背后所传递的核心理念之一。”王慧星表示。
国产化不意味着封闭
“封闭的国产自研其实对产业来说会带来很大的消耗,国产化也应该追求开源和开放”。
但是,想让全球开发者意识到中国技术还是非常优秀的最终还得靠产品来证明,这个任务无疑是艰巨的。况且很多技术已经形成了事实上的开源标准,比如机器学习领域很多优秀的项目源自北美,国内短期内想做出与之功能类似且更好的项目挑战非常巨大,王慧星认为开发者可以秉承着务实和创新意识先参与进去。
“参与其中并持续地贡献代码,不仅是技术担当和自信的表现,也是实现技术自主可控的主要途径之一。”
比如在KVM领域,作为云计算的底层技术,腾讯云坚持一方面通过持续创新解决腾讯云线上遇到的各种挑战并将产出反馈给社区,另一方面探索云计算领域的新技术,做好前沿技术的预演和积累,持续为KVM开源社区做出贡献。目前,腾讯云在该社区的历史贡献累计超过200项,其中累计“核心突破”贡献达到9项,并连续五年进入贡献值最高的中国企业。
王慧星同时表示,国内开发者在参与国外开源社区的同时,还要寻找机会突破。
以数据库来说,国产化有着非常大的空间和机会。今天的数据库大都是基于80年代的硬件所构建出的架构体系,因为数据库本身对业务的侵入比较深,导致业务粘性极高,恰恰是这种粘性阻碍了数据库技术的发展,比如如何提升SQL的解析效率,如何更好地与硬件技术结合,如何更好地落地新的存储介质等方面有着巨大的提升空间。可以预测,数据库领域未来将诞生全新的技术架构。
具体到国产数据库建设层面,从底层到上层应用的兼容性是腾讯云希望可以做出更大突破和投入的,尤其是软硬一体化,腾讯云将坚定在这些领域持续投入和布局,推动国产化技术在国际前沿崭露头角。
全球云技术发展焦点观察
云计算技术发展至今,全球市场开始将更多注意力放在容器、微服务、Serverless、低代码等趋势上。这些技术屏蔽了底层细节和调度难题,让开发者更聚焦业务逻辑,提升研发效率,因而备受开发者欢迎。
Serverless需要与企业已有研发体系结合
在基础设施层面,云平台的出现已经帮助我们解决了稳定性,屏蔽了部分复杂性,但在完整的开发链路中,前后端开发人员依然需要进行大量沟通来完成一个项目。Serverless的出现极大解放了开发人员花费在底层基础设施层面的精力,通过将部分工作Serverless化进一步实现按需使用和按量付费,降低人力成本和开发成本,让开发层次越来越高,过程越来越简单。
同时,Serverless的出现还将促进国内SaaS产业的发展,这一点从Adobe转型后市值大涨便可窥见一二。在国内,大企业可能偏向定制,但中小企业由于技术能力有限,更关心如何经营好自己的业务,从而倾向于按需使用、按量付费的模式,从而大幅降低运营成本。Serverless的出现将很多原本复杂的功能函数化,SaaS企业可以更好地做创新。
在Serverless层面,腾讯云早有布局,并于该技术发展早期就与Serverless.com 达成全球战略合作,并在函数冷启动等方面做了很多优化。“小程序·云开发”就是腾讯云和微信合作的标杆产品。传统开发模式下,小程序前端对应一个后端,后端又对接了很多其它子系统,比如数据库、存储、负载均衡、网络、容灾等,但是用云开发,就可以大大简化整个架构,前端页面到微信后台,微信后台通过走专线的形式,将用户请求转到 Tencent Cloud Base 组件(简称 TCB),TCB 后边挂接了数据库、存储、网络、容灾等系统,工程师们因此不用考虑复杂的后端操作,通过TCB就可以直接进行对接,小程序开发变得更加简单。
为了更好地服务这批开发者,目前,腾讯云与微信联合将“小程序·云开发”品牌升级为“微信云开发”,在小程序开发的基础上,将进一步支持公众号H5等开发场景,实现微信生态的全面覆盖。这意味着腾讯云技术能力与微信生态的结合将进入一个新阶段,也意味着腾讯对云端一体化的战略加码。
随着逐渐深入产业,未来,腾讯云也会继续优化技术的底层能力并进一步降低成本。采访中,王慧星提到,对于已有一定研发积累的团队,切入Serverless时还需要考虑与已有研发流程体系如何结合,这个确实需要一些时间。此外,今天业界对于在Serverless层面的投资还不够,未来将会有很大的增强空间,腾讯云已经考虑将数据库、GPU算力等服务Serverless化,虽然虚拟化已经带来了很大改进,但Serverless会进一步优化整个过程。
低代码的“用武之地”在传统行业
随着云计算一系列技术的发展,最近这四五年,低代码热度持续攀升。
去年,Gartner曾预判,到 2023 年, 50% 的大中型企业将采用低代码平台作为其战略应用平台之一,到 2024 年,全球将有 65% 的应用程序都将涉及低代码开发。
但很多人对这轮低代码的盛行颇有异议,有人认为低代码是伪需求并无实质用处,有人认为低代码平台的变革成本巨大,并不能如预期般降本增效,也有人认为这是企业业务快速扩展的直通车......
“我觉得低代码这一趋势是对的,它符合整个技术往前演进的规律,当开发的层次越来越高,像低代码这样能让开发变得简单的技术,将有利于促进企业业务创新,进一步降低成本”,王慧星说。
正是看到了低代码开发庞大的市场需求和行业前景,腾讯云在低代码开发领域加大布局。今年 1 月,腾讯云微搭 WeDa 低代码平台开启公测,并于3月正式上线。
利用微搭WeDa 低代码平台,开发者通过行业化模板、拖放式组件和可视化配置,能快速构建出小程序、H5、Web 等多端应用。即便是编码水平较低的用户,也可快速打造一个小程序/H5/网页。
值得注意的是,低代码的预设群体从来不是那些拥有庞大研发工程师的企业,在整个产业中,更多的业务团队没有那么大的精力、人力和财力投入到研发中。相反,传统企业更需要低代码平台来帮助他们解决数字化管理类问题,提升人效和数据流转效率。
王慧星认为,在这些企业中,低代码实现的前提来源于整个业务的场景化以及标准化,因为过于个性化的需求很难在组织和研发层面实现复用。低代码对那些技术团队规模较小的企业意义更大,企业在上面简单开发便可实现应用落地,既能实现开发者人力的节约,也可实现软件层面的进一步复用”。
因此,腾讯云将低代码的“用武之地”更多投向了传统领域。他表示,腾讯云开发和低代码的重点是从小程序走向更多企业,走向政府领域的开发者。
疫情期间,健康码应用成为人们进行高效信息互通的重要载体。
为四川全省8000多万人提供服务的“天府健康通”就是基于微搭构建出来的。通过微搭上的身份识别,地图组件、二维码引擎等组件和模版,开发者很方便地构建起了疫情健康码小程序、疫情防控表单等业务系统。
目前,腾讯云接触到的传统企业大多认为低代码会帮助企业更便捷的搭建应用,业务人员可以简单拖拉拽一个轻应用,通过阶段性培训,IT人员可以自主搭建企业内部OA办公应用,加快数字化进程。
而对于广大的开发者群体来说,低代码能让他们从繁复的开发工作中解放出来,从而把更多精力投入到更有价值的底层创新上去。
“有很多底层技术整体演进的趋势是越来越往上层走,从汇编到C到今天演进到低代码,是以云编程的模式往上走。作为开发者,一方面要看到这样的技术变化所带来的整个社会创新成本的节约;另一方面,还应该站到应用端去思考底层的问题及发展,愿意参与到底层技术的创新与深度探索中去”。
王慧星希望,未来Serverless与低代码技术能够作为云原生2.0技术,普惠数百万开发者,为他们提供更多创新的空间。
分布式云是云计算的未来
一朵云?混合云?多云?每种方式都可以在企业中找到原型,云越多带来的复杂性越高,到底什么方式才能更好地解决企业面对的问题呢?
出于数据合规和担心被单一供应商绑定等各种原因,国内很多企业内部不止一朵云。回到多云本身,这就和今天的CDN竞价测速类似,只要符合标准,哪边的CDN速度快,企业就可以自动化调度到哪边,只是对应到算力、存储等技术的实现上还是面临一定挑战的。
在王慧星看来,容器技术客观上为算力的可迁移带来了巨大可能,腾讯云已经在和滴滴探讨共建这样的容器技术,实现类似CDN的平滑调度。而在私有云构建层面,国内企业很容易忽略私有云的综合运营和运维成本,腾讯云也在和一些企业共建,希望可以将这些企业在私有云运营方面的经验对外输出,以期对行业产生价值。
此外,腾讯过往一直提倡不要全部依赖基础设施,企业需要考虑基础设施在某些极端条件下可能会出现的问题,这时,业务的可容灾性就变得非常重要。今天,腾讯内部不同事业部的计算引擎基本都已经实现容器化了,腾讯云也希望可以和业界一起统一容器方面的标准,让用户可以更方便地实现跨云部署。
值得一提的是,针对混合云混而不合的痛点,腾讯云在不久前也正式公布了自身的分布式云战略,并发布云原生操作系统遨驰,该战略旨在为用户在多云/混合云场景下提供一致的产品服务和体验,通过集中管控,统一管理位于不同位置的云资源和业务应用,帮助用户在任意位置获取需要的云资源与云服务,让云无处不在。
分布式云不仅延伸了云的范围,还保留了云的优势,让企业在本地或边缘享有公有云同等的服务。
未来十年,全真互联的时代
今天,云给社会带来的变化已显而易见,遥想未来十年,又将是怎样的技术改变世界?腾讯认为,全真互联技术或将定义下一个十年。
全真互联时代的技术雏形已具备
全真互联网究竟是一个怎样的世界?
王慧星表示,现在的直播、云游戏都可认为是这一世界的简单雏形,但要想达到理想中的全真互联网时代还需要长时间的探索,腾讯云正在围绕全真互联有关的技术进行布局和投入。
具体在算力层面,腾讯云基于自研芯片和服务器硬件,借助遨驰云原生操作系统遨驰,构建无处不在,触手可及的云服务,夯实全真互联世界的根基。遨驰也是目前业界唯一一个支持服务器、容器、函数混合调度的云原生操作系统,单集群支持10万级服务器、百万级容器规模。管理的CPU核数超过1亿。
在实时分析层面,面对全真互联将带来新一轮数据大爆发,针对不同业务场景的数据需求,腾讯云在海量数据存储方面,推出了首款可以容纳百EB级别的对象存储COS,对于低延迟、高吞吐的数据访问,推出了首款10微秒的极速型云硬盘CBS,以及⾸款突破百GB吞吐的⽂件存储服务;腾讯云的高性能数据库可以支持 10P 存储空间,单机 QPS 达到每秒1亿以上。通过存储、数据库、大数据技术在云上的融合发展,腾讯云的日实时计算次数做到了业界第一,超过200万亿。
此外,全真互联时代的数据传输势必要更进一步打破时空的限制,实现更接近面对面体验的线上交互,在相关技术领域,腾讯云也实现了多个行业第一。
例如,为了更高效地传输视频,腾讯云拥有领先的视频压缩技术。在今年的MSU视频编解码大赛上,腾讯云在多个主流赛道取得了全部指标第一的佳绩。基于这种技术能力,腾讯明眸极速高清解决方案压缩率提升了50%。
在用户侧,为了更好地带来沉浸式效果,腾讯云实时云渲染率先支持一秒钟渲染144帧8K画质的超高清视频流。为了让更多用户能够实时参与线上互动,腾讯云实时音视频(TRTC)单集群目前支持1000万互动用户同时在线。
王慧星表示,实现全真互联时代的基础技术雏形均已具备,但应用端创新以及底层技术的持续演进还有很长的路要走。
技术发展不应只着眼于眼前的商业
对于未来的世界,技术所承载的价值不应仅仅限于商业世界,还应当着眼于环境、环保等更宏大的命题中去。
2021年,“碳达峰”、“碳中和”成为热词,其中原因除了政策推动外,另一方面也说明,国内的科技公司的意识在积极转变。
采访中,王慧星谈到,腾讯在提倡的“推动可持续社会价值创新”理念与碳中和战略十分契合,在这个方面,科技公司可做的事情非常多,如通过AI和云计算技术全方位推进节能减排,降低数据中心的整体能耗、并推动材料物理向着对环境污染更小、性能更强的方向逐步演进等。
他表示,作为云厂商,腾讯云希望基于自身技术优势,做对社会、民生、经济发展有益的事情。据了解,腾讯云目前已经在碳中和战略、节能减排等方面做了系列重点投入,并收到积极的反馈。
写在最后
作为腾讯云技术的负责人,谈到云计算技术的未来,王慧星表示:“作为云服务商来说,底层技术的变化最好的状态是不要打扰用户,未来云技术应该要安安静静地站在最底层,安全稳定的支持客户的业务创新。
“工程师的使命就是将复杂度留给自己”,从QQ的架构师到腾讯云的CTO,17年时间里,王慧星见证了云计算等技术的数次变迁,但他认为,无论潮流如何更迭,开发者都不应改变脚踏实地的本色。
“开发者只有深入到产业中去,深入到场景中去,才能让技术越来越好,做世界运转背后的坚实支撑者”。
时代的年轮在滚滚向前,从移动互联网再到即将到来的全真互联时代,不仅仅是应用交互方式的变革,背后更是一次次技术颠覆与被颠覆的历程。
或许等到变革真正到来的那一天,再回想起当年移动互联网所掀起的风雨,亲历其中的万千开发者们又会有一番怎样的感慨呢?