1996年,“云计算”的概念问世。2006年,亚马逊正式推出AWS,随后越来越多的企业开始逐渐接受“云计算”,逐渐将应用迁移到云端,享受这种新的计算方式带来的技术红利。
在云原生(cloud nativeness)这个概念出现之前,技术的发展和普及,对“云计算”的普遍理解是直接将旧的本地部署的应用程序迁移到云上。但正如Splunk首席技术顾问安迪曼(Andi Mann)所说:“你应该以新的方式开发新的东西,或者将新的云原生应用程序放入新的云基础设施,或者通过拆分现有的单片应用程序,使用云原生原则从头开始重建它们。”
云生成的根本目的是利用云上的便利和各种容器技术更高效、更稳定地开发和应用。如果应用本身没有基于“新”的云服务进行腾讯云控制台重构,而是继续采用“旧”的架构,那么即使业务运营没有问题,应用也无法充分利用“新”的云运行环境的能力。
只有升级这些架构以及围绕它们构建的技术栈、工具链和交付体系,依靠云技术栈进行重新部署、部分重构甚至完全重写,才能让应用成为“云原生”。
6月16日,腾讯宣布内部海量自研腾讯云控制台业务全面上线云端,打腾讯nba造国内最大规模的云原生实践。据统计,三年来,腾讯自研业务云规模超过5000万核,累计节约成本腾讯漫画超过腾讯漫画30亿元。
在这个过程中,腾讯的技术、运维、开发者都围绕云原生腾讯云官网首页开始了新一轮腾讯云服务器的技术迭代,重新适应云原生环境。对于技术人员本身来说,这也是他们学习、成长、蜕变的三年。
那些虐我的需求,后来都成为TKE的领先点
腾讯云团队专腾讯云服务器12元一年家工程师余广友
“这些人是故意整我吗?”“他们根本就不想要云原生改造!”201腾讯云游9年夏天,在腾讯云游被各种商家“乱七八糟”的需求轰炸后,余广友有时会在深夜下班回家的路上萌发这个念头。
当时的余光友还是一个纯腾讯云游戏在线玩粹的技术原教腾讯旨主义者。每当他谈到“神圣”的集装箱调度技术K8s(Kubernetes)时,他腾讯会议的眼腾讯云官网首页睛里常常闪现出一种基督教的光芒。然而腾讯体育,这种对K8s技术无比的热爱和信念,在带给余广友腾讯云盘快速成长的同时,却也一度让他寝食难安,失去了理智。
余广友于2015年通过校招进入腾讯。起初,他从事计算相关产品,负责腾讯云的底层虚拟化。2016年,社区大火的容器编舞K8s逐渐蔓延到业界,他的团队随即开始了容器项目。
没有任何犹豫,他直接跳入了容器技术的“海洋”。国内外社区论坛腾讯云服务器,各种技术大牛的博客,前沿技术交流会等。都成为了他获取云原生、容腾讯云游戏start手机版器、k8知识的入口。余广友在丰富的素材中“饱餐一顿”后,建立了自己曾经牢不可破的K8s哲学。
作为国内最早接触K8s的开发者,他伴随着腾讯先锋团队容器项目成长,搭建了国内最腾讯nba早的基腾讯云控制台于K8s的容器平台——腾讯Kubernet腾讯云游es引擎(TKE)。
2017年,TKE开始对外提供腾讯云游服务,但一个尴尬的“未成熟”场景也摆在了光游团队面前:一方面,需要腾讯会议为客户提供先进的云原生产品腾讯云服务器,但自己的研发& amp三维环境仍然是研究与开发的重点。传统物理机和非DevOps的d模式;另一方面,当客户询问腾讯体育腾讯自己的业务是否腾讯云使用TKE时,团队总是没有足够的信心做出回应。
所以,当余光友在2018年第一次听说公司要自己研究云的时候,他大呼“酷!我自己也可以用云技术。”“公司终于可以避免在‘技术沙漠’腾讯云服务器12元一年被吐槽了”。但腾讯的很多业务最初只是停留在云上使用云上的虚拟机,这让余光友很焦虑。因腾讯此,it部门无法充分享受云的核心优势,还会导致技术分散。
好在腾讯的技术和业务领导团腾讯地图队也深谙其中的道理。经过一次又一次充分扎实的沟通和讨论,腾讯自研云的计划终于在2019年初达成统一:不仅要上虚拟机,还要推进云原生。
随后,在腾讯运营管理大会上,于光友团队向腾讯所有BG汇报了基于TKE的云原生解决方案,并建议所有BG将其自研PaaS平台切至基于K8s的TKE。
余光友在兴奋之余没有意识到的是,自己即将进入一个“冰与火”的境地。一边是上百家商家在进行云的原始转型,一边是“乱七八糟”的需求接二连三地挑战他的K8s认知,让他几近崩溃:“你是故意整我吗?”
比如微信自研的调度平台叫院子。它与TKE的一个显著区别是,每个容器对应的IP是固定的,可以充分保证服务的稳定性。换到TKE,你能继续这样做吗?这就给广友让路了:“固定IP不是云原生的,违背了K腾讯课堂8腾讯云s中Pod应该是牛而不是宠物的基本原则。”
所谓“Pod应该是牛而不是宠物”,是指当出现业务问题时,容器应该腾讯客服像动物一样随时被丢弃(删除并重建),腾讯云盘而不是像物理机或虚拟机一样被腾讯体育当作宠物(改变配置)精心呵护。当腾讯云然,在和业务团队开了几十次会之后,他自然知道业腾讯先锋务方并不是故意为难。在物理机时代,IP本身就是设备的固有属性之一,一些业务系统依赖固定IP是很自然的。
当时于光友就“捏着鼻子”,把固定IP、原地改服等这些“非云原生”的功能都做完了。此外,TKE团队和游戏组
队一起,做了适合Windows的容器;和微信团队做了多地三园区的高可用容器调度腾讯体育架构等等,解决了一系列繁杂的问题。度过“痛苦”的2019年之后,回头再看,“原来之前虐我的那些东西,竟然都变成我们TKE最领先的技术点。”于广游说,他对云原生、对“业务定制化”需求有了全新的认识,一方面,所谓定制化需求其实都是业务切切实实存在的需求,不满足这些需求业务就无法便捷地迁移上来;另一方面,定制化需求很多时候是首次被提出的腾讯云服务器需求,其背后也具备普适性。
尤其是当酷狗音乐腾讯云控制台、微众银行等外部客户,也提出固定IP等需求的时候,更让腾讯nba于广游如梦初醒。内部海量业务的“定制化”需求腾讯云控制台,实际上成为TKE产品创新的原动力,由此也实现了内部自研业务上云反哺腾讯云的功能。
当然,在结合业务需求进行功能创新的过程中,于广腾讯云控制台游团队始终坚持不破坏K8s的核心本质,例如可以扩展K8s支持原地变更,腾讯云游戏但不能违背“不可变基础设施”原则。“就如同凳子,可以有三条腿、四条腿,也可以有靠背、有扶手,外腾讯云游戏形千变万化,但它的核心本质是凳子,是用来坐的。”
于广游牢不可腾讯会议破的技术哲学观在海量实践中获得刷新:腾讯漫画“原本我认为技术应该义无反顾地向前瞻腾讯视频下载的方向迈进。但事实上我们发现,任何一个技术被创造出来,首先会在最适合它的细分场景落地,并不断发展,相对成熟之后开始同时朝着普适化,也就是兼容旧架构腾讯云游戏、支持更多场景的方向去持续演进。”
于广游拿云计算演进技腾讯云服务器术举例,比如云计算已然提出虚拟机腾讯地图,可是行业也纷纷产出裸金属,看起来像是在开技术演进的倒车。“其实不是,任何技术都腾讯体育不是径直往前走的,而是同一个象限中的每项技术既要向前推进又要往后兼容。云原生技术也是如此,这才能焕发出更强的生命力。”
正如于腾讯云盘广游自己的豁然开朗一样,腾讯的自研上云进程也扬帆远航。2020年,腾讯各大业务基本都上到TKE,2021年后开始进一步解决业务使用质量的问题,为了帮助大家把云原生用得腾讯漫画更好,腾讯云团队、运营管理团队腾讯云服务器以及腾讯先锋TKE团队推出了云原生成熟度评估平台。
云原生上云促使云支撑环境跟公司的开发环境完全打通,整个开发流程都发生了腾讯云游戏变化,一切面向手工的工作,变成面腾讯地图向API的腾讯视频下载工作,从手工时代进入了自动化时代。之前研发需要自己去购腾讯云游戏买和腾讯课堂部署物理腾讯nba机、虚拟机,扩缩容需要再买机腾讯云游器、再部署,现在已全部自动化、DevOps化了。
经此一役,如醍醐灌顶,于广游从一个纯粹的技术原教旨主义者转变为一个更求真务实的人,对云技术演进的思考开始慢慢加深——任何一个云产品不单要给用户提供直接的使用价值,它更核心的演进方向是如何降低企业的上手门槛与腾讯迁移成本、如何让更多的企业腾讯视频下载在更多的场景用起来,也即从一个听起来很高大腾讯nba上的技术变成我们每个人都用得起来的、实实在在的身边的技术。
自研上云,“腾讯客服治愈”技术焦虑
腾讯课堂研发中心负责人王昂
“抛开QQ的光环,我们还有什么?”
多年以前,每参加一次外部的前沿技术分享,腾讯云年轻的QQ后台开发工程师王昂,就在心腾讯先锋里拷问自己一次。
那是他2013年毕业后进入腾讯的头几年,QQ上线十余腾讯nba年,腾讯云游戏在线玩月活超过8亿,如日中天。
而在业务这一庞然大物之下,王昂日日夜夜面对的腾讯先锋技术架构体系,正在被外部先进腾讯会议app下载的技术理念拉开距离。假以时日,这套技术架构必然会和前沿技术脱轨。腾讯云官网首页而他本人包括他所在的团队,也将被淹没在技术浪潮之中。
现实对他的失落报以冷漠。这套QQ的技术架构稳定地屹立在他面前,而且表现优异,它依然可以撑起高企的并发流量,依然可以撑起日益复杂的业务需求,毫无萎靡的迹象。
只是,外面明明还有更好的技术架构理念,有更好的开源组件,有更饱满的精神世界。
怀揣“可望不可及”的焦虑感,王腾讯nba昂迎来201腾讯课堂8年。腾讯在腾讯云控制台这一年进行“930变革”后开始摸索自研业务上云,CSIG(云与智慧产业事业群)成立后,他所在的团队也被划入其中,腾讯云盘开始做教育相关的产品,其中就包括知名的综合性在线学习平台腾讯课堂。
老团队,新腾讯云电脑业务。“这套技术架构体系怎么搭建?”团队每个人心中都泛起了涟漪,“省腾讯漫画点儿力气,继续沿用QQ成熟稳定的老技术栈?还是向落后的自己告别,靠向腾讯体育腾讯云的新技术栈?”
选择难而正确的路需要勇气,王昂坦言。从实用主义角度来看,老技术栈依然能用,而且足够稳定,不会对业务造成影响。如果向新技术栈靠拢,腾讯云服务器12元一年学习成本、工作量将会大幅增加,不仅会牺牲日常腾讯漫画产出,甚至会腾讯先锋因为组件不够成熟而被业务腾讯地图挑战。
没有人愿意选择止步不前,犹豫、纠结没有持续太久。不过业务的挑战也如约而至。在切云上新技术栈过程里,有一次腾讯课堂的腾讯云服务器12元一年很多用户评论出现乱码展示,在被业务挑战后,王昂团队马不停蹄地连日定位,最终发现是云上跟云下的数据库某一个配置没有对齐。
不过,王昂他们没有成为惊弓之腾讯云控制台鸟。于是我们看到这样一番景象:为了不因业务挑战而中断技术栈的“腾讯云控制台移髓换骨”,王昂他们小心翼翼地抠所有的细节,用更长的时间做灰度测试,在一个容器、一个Po腾讯云官网首页d网络不稳定的情况下,去反复做前端的重试和容灾,在前期使腾讯课堂用云数据库组件的时候,为防万一他们会多加一些缓存的Redis的C腾讯云atch……
当然在上云的过程中,王昂和团队不是孤军奋战。就上云组件的细节,他们和腾讯云的产品部门进行了大量磨合,一年下来共同腾讯课堂解决了近400个问题,双方就腾讯容器、运维、音视频等组件进行了持续交流,既完善了腾讯云的技术栈,也保障了腾讯课堂的上云过程。
于是,一年多后的2019年,从最初核心的直播、点播体系,到机器、网络等底层IaaS,腾讯云控制台以及跟业务逻辑相关的MySQL、Redis、MQ等组件,腾讯课堂已是彻底的腾讯云技术栈。腾讯云官网首页
紧接着,王昂团队腾讯云,又借助腾讯云的TKE平台,将技术架构进一步优化,实现容器化腾讯云游戏在线玩编排能力,拥有了云上自动扩缩容的能力,而这也为后来的故事埋下伏笔。
云上丰富的行业标杆组件能够带来很多益处。“举一个最简单的例子,老技术栈用CKV,Value只支持一种数据结构,完成业务逻辑必须要写一堆业务逻辑代码,然后把代码腾讯会议app下载序列化后再填到CKV的数据结构里去。但是如果用现在的KV系统Redis,它的数据结腾讯先锋构非常丰富,只需要写很少的代码就腾讯体育能实现相同的业务需求。”王昂说,这样能够有更多的时间聚焦在业务架构上,可以高效满足更多的业务需求。
2020年初,新冠肺炎疫情开始对经济社会造成持续影响。而腾讯课堂流量也随着疫情反复大幅度波动,高峰期访问量可以达到平时的100倍腾讯会议app下载。腾讯会议app下载
如果是之前的架构,一定是需要两三天提前申请资源后手动扩容运维,而在容器腾讯地图化部署与弹性腾讯地图扩缩容的支撑下,腾讯课堂可以自动流畅扩容,释放大批人力的同时,凭借稳定流畅的表现也得到了业务部腾讯云门的认可。
回忆2018年,“抛开腾讯的技术烟囱、重复造轮子不谈,仅仅从一个开发工程师个人成长而言,如果不去主动靠齐行业最领先的技术栈,不跟着云或者不跟着开源走,而是在腾讯云游戏腾讯内部‘闭门造车’,在老的技术栈上修修补补,那个人的价值将仅仅只是一名合格的腾讯开发工程师。”王腾讯漫画昂说。
推动自研上云的过程中,王昂和团队成员接触了大量优秀的开源组件,技术视野变得更加腾讯先锋开阔,并且能够将前腾讯先锋沿技术应腾讯云官网首页用在业务当中,“技术焦虑”的低气压从团队中慢慢散去,他们将推动上腾讯云服务器云的技术经验在腾讯内网分享,在行业技术大会上输出,获得了内外同行们的广泛认可。
2021年,王昂晋升腾讯课堂研发负责人。在工作9年后晋升到这个位置,速度堪称飞快。除了扎实的开发能力、对技术本身的热爱,推动自研上云的经验也是他受腾讯云官网首页到技术与业务部门两方面认可的重要原因。
说给(云原生)开发者的话
引用腾讯一名开发者的话作为收尾:
“云原生技术,是否会革了开发者的命?一个技术出来的时候,命是一定会被革的,区别就是你革命,还是别人革你的命,没的腾讯会议选择。我们没有办法做到来控制技术的发展,那我们先来革命好了,因为早晚会发生的。”