生于云,长于云,开发者如何更好地吃透云原生?

共 14733字,需浏览 30分钟

 ·

2022-05-10 09:04


引言



这个时代的企业与开发者,生于云,长于云。传统云计算产业走向成熟,新兴技术百花齐放,云原生开始从概念普及走向规模化落地,已成不可逆的大势所趋。Gartner预测到2025年,95%数字化运维将通过云原生平台进行支撑。


一方面是互联网企业对云原生的领先探索,另一方面是传统行业对云原生价值认知的模糊、企业云原生技术能力参差不齐、云原生化IT架构改造面临沉重历史包袱等现实问题。如何让企业、开发者真正地享受到云原生的技术红利?


第四届 Techo TVP 开发者峰会以「云以致用,智效合一」为主题,为行业、企业与开发者们带来了前沿的云原生技术趋势与实践总结。在这为期两天的技术盛宴中,从如何理解、应用、落地云原生不断深入,带着开发者们探索云原生的最佳落地实践。


                    Day1:
云原生落地现状与未来趋势分析


(一)云原生在企业落地的现状与趋势


Linux基金会亚太地区战略总监、CNCF中国区总监,腾讯云TVP Keith Chan带来了题为《云原生在企业落地的现状与趋势》的演讲。


“云原生无处不在”,是Keith老师在分享开始的阶段给参会者的输入。他表示,从2015年CNCF成立至今,云原生这项技术已经走向了主流,不论是互联网企业还是传统企业,都在拥抱云原生化的技术栈。究其原因,主要是在于云原生技术的几大优势:


  • 更佳的资源效率使你可以用更少的服务器运行同样数量的服务;


  • 云原生基础设施提高了开发速度、服务速度的同时,降低了风险;


  • 云原生允许多种云 (包括公有云之间的转换或在多个云上运行) 以及混合云 (在您的数据中心和公有云上切换任务);


  • 云原生架构使得更快速地部署成为可能。


Keith老师介绍道,云原生技术加速应用开发、高度容错、易于扩展、开放技术等优势特点,让企业没有考虑的时间,现在就需要去主动拥抱云原生。下图中的企业,都是云原生这项技术的最终用户,不难看出云原生技术被广泛应用在各行各业中,成为新一代的基础设施——未来就在这里,它建立在云原生之上。



CNCF近几年在云原生技术方向持续加大投入,目前已有超过120多个项目,全球contributor人数也已经超过13万人,有186个国家和地区一起在云原生领域做贡献。2021年CNCF发布了云原生调查报告,数据显示Kubernetes的使用率持续增长,达到了有史以来的最高水平,96%的组织在使用或评估这项技术。Kubernetes已被大型企业完全接受,甚至在新兴技术中心也在发展,比如非洲,73%的受访者在生产中使用Kubernetes。



云原生技术走向底层的趋势,本身就赋能了其他技术的发展。比如量子计算、5G、区块链、AI等等,而这其中,云原生技术对边缘计算的影响尤为突出。到2025年,Gartner预测,四分之三的企业级数据将在边缘创建和处理——这将会发生在传统数据中心或云之外,更接近最终用户。


Keith老师表示,在边缘场景使用云原生的好处有以下几点:


  • 能够完成更快的回滚: 出现故障或存在错误的边缘部署可以迅速恢复到工作状态;


  • 更细化、分层的容器支持: 我们不需要更新整个容器,云原生微服务提供了一种极其灵活的方式来开发和交付细粒度的服务和控制;


  • 采取云原生路径也有经济利益: 云原生提供的带宽减少和流线型数据可以降低成本,使其成为一种非常有效的企业工具。可以允许基于消费的边缘计算定价方法,而无需大量的前期资本支出。


随后,Keith老师也重点介绍了CNCF旗下的典型开源项目SuperEdge、Nocalhost在各个行业的应用案例。他也表示,中国在云原生技术的投入非常大,也有了很多具有代表性的国人驱动的开源项目。


分享最后,Keith老师总结道,未来云原生技术的发展将在云原生安全、边缘计算、服务网格、WebAssembly、混沌工程等方向有更多机会和发展。



(二)聚焦FinOps,成本大师助力云原生降本


腾讯云容器技术专家孟凡杰带来了题为《聚焦FinOps,成本大师助力云原生降本》的主题演讲。


“在云原生无处不在的现状背后,隐藏着云成本存在较大浪费的另一个问题”。孟凡杰老师在开场之初,给出了另一个输入。根据Flexera发布的《2021 云计算市场发展状态报告》,数据显示30%-35%的云支出被浪费了,没有产生任何价值。腾讯云通过客户数据分析和调研发现,客户集群中资源成本浪费非常严重,有众多客户提出关于提高资源利用率的诉求。



孟凡杰老师分析表示,容器技术的资源调配能力可以显著降低成本,但云客户的实际使用率却相当低,这个现象的背后体现出了当前Kubernetes原生能力不足的现状,在资源配置、弹性及业务稳定性方面,都给业务人员带来了“不会配、不敢配、不能配”的挑战,影响了容器的使用率。


企业在运营的过程中,创造利润的核心需求来自于降本增效的两条腿走路。孟凡杰老师提到,增效一直是技术迭代的主要方向,无论是云原生类型的轻量化框架,还是研发效能、流程和工具等链路上的理念与轮子,都已经非常成熟。但在降本这个维度上,大部分企业做得还远远不够。在向云原生技术栈迁移的过程中,对资源效能的优化做得还不够到位。来自IDC中国的预测报告指出,到2023(中国2024)年,80%(中国50%)使用云服务的组织将建立专门的FinOps功能用于自动化检测和优化云资源,以实现价值最大化。


孟凡杰老师介绍道,FinOps定义了一系列云财务管理规则和最佳实践,通过助力工程和财务团队、技术和业务团队彼此合作,进行数据驱动的成本决策,使组织能够获得最大收益。腾讯在去年,作为国内首家顶级会员加入了FinOps基金会,深度认同FinOps的理论和实践模型,内部也遵循FinOps的理论和指导。



近日,腾讯云正式发布了国内首个云原生FinOps开源项目—— Crane。Crane严格以FinOps能力规划作为指导,实现了从成本展示、浪费识别、成熟度评估、资源优化、费率优化为一体的一站式解决方案。

Crane :https://github.com/gocrane/crane


Crane架构如下图所示:



基于Crane开源底座,腾讯云推出了云原生资源优化产品成本大师,其理念与Crane一脉相承:


  • 让产品更易用:成本可视化、灵活的汇聚维度、成本优化;


  • 让业务更省钱:资源配置更简单,用智能的方式推荐资源、弹性,保业务稳定性;


  • 让平台资源利用更高效:面向资源运营的高层API,让平台侧可以将节点分类并定义水位线;节点水位定义和水位控制;闲置资源再分配,提升资源利用率;业务分级控制,确保高优业务稳定性;


  • 让负载更均衡:底层依赖Prometheus采集真实负载,代替Request值;引入节点历史负载指标 (1h内最大利用率,1天内最大利用率),感知业务波峰;


  • 让显卡更强大:全新升级云原生调度框架;重磅推出在离线混合部署;全面覆盖主流操作系统。


分享最后,孟凡杰老师也介绍了成本挑战下的腾讯云原生战略升级规划,并引出了FinOps产业联盟成立仪式的历史性时刻。




(三)FinOps产业联盟成立仪式


FinOps产业联盟成立仪式上,中国产业互联网发展联盟常务副秘书长陈胜喜;腾讯云容器产品中心总经理邹辉;腾讯标准事物中心高级总监梅述家;腾讯开源联盟主席、FinOps基金会董事单致豪;Linux基金会亚太区总监杨轩;招商局集团有限公司数字化中心技术专家、腾讯云TVP 山金孝、 Thoughtworks中国区生态合作总监李铸等众多行业大咖献上了自己对 FinOps产业联盟的美好寄语,并期待FinOps产业联盟在未来的云财务发展规划、数字化转型过程中发挥更大作用与价值。



(四)降本增效利器:分布式云+FinOps,释放云原生技术红利


腾讯云容器产品中心总监于广游带来了题为《降本增效利器:分布式云+FinOps,释放云原生技术红利》的主题演讲。


“云原生领域有三个趋势,环境更复杂,运维更困难,应用更多样”。这是于广游老师在云原生领域工作多年后观察到的发展脉络。在这样的发展趋势下,腾讯云对旗下容器产品进行了全新升级,带来了云边新演进、运维新范式和性能新高度等重磅优化,且技术能力全栈开源。



在云边新演进层面,腾讯云推出了TKE Anywhere系列能力,将TKE延伸到任意环境,帮助企业、用户无时无地无差异的获得腾讯云原生能力。不论是IDC的上云,还是云边一体、边缘自洽,还是混合多云的场景,腾讯云原生分布式云都可以实现全覆盖,真正地解决了云原生领域环境复杂的难题。



在运维新范式层面,腾讯云自研了Serverless容器(EKS)底层技术的heeler,这其中包括自研Serverless容器调度器、高性能安全容器等关键技术。在完全兼容k8s api的基础上,无需关心任何节点运维问题,可高效支撑业务渐进式的Serverless迁移和业务高低峰不同阶段的弹性扩容,是云原生运维的新范式。



此外,腾讯云还推出了一种全新的K8S集群模式: TKE Housekeeper,能够让用户像管理Workload一样声明式管理Node节点。


针对云原生服务场景进行优化的etcd托管解决方案,全面支持开源的etcd 分布式存储能力,为用户提供高稳定、可观测、免运维的云原生etcd服务,这里同样包括开源行业首个etcd一站式治理平台Kstone。


在性能方面,腾讯云原生分布式云也达到了新的高度。无论是自研的高性能服务器、芯片、网卡等硬件基础设施,还是虚拟化技术和智能网卡及AI加速等软件水平,都是腾讯云容器计算加速能力的典型代表。



分享最后,于广游老师还介绍了腾讯云【燎原社】的生态合作计划,借助于【燎原社】这个企业云原生应用助力平台,将以简单化、标准化、一站式的方式,助力解决企业云原生应用问题。



(五)云原生在腾讯集团业务落地及降本增效实践


腾讯集团云原生规划架构师杨远洲带来了题为《云原生在腾讯集团业务落地及降本增效实践》的主题演讲。


“腾讯集团早在2009年就开始使用容器技术,在腾讯云推出TKE产品后,业务也已迁移到TKE技术栈之上。在这么多年的云原生化实践背后,腾讯集团结合自身业务特点,沉淀了云原生技术的理念思考与落地总结。”


杨远洲老师介绍道,腾讯集团有着业务种类多、差异大,各业务按峰值备资源的特点,对腾讯而言单纯的上云远远不够,要让资源在业务之间动态流动才是降本增效的核心,而这正是云原生技术的特点和优势。


业界对于云原生落地的模型有很多,在腾讯集团看来,可量化、可落地才是其中的关键。具体而言,可量化有云原生监控数据自动化采集、去除业务间的指标差异性、聚焦核心指标三条标准,可落地同样有业务之间可对齐、公示排行榜、奖惩措施三条原则。



腾讯云原生的落地方法是“从下往上”和“从上往下”两条路并举的方式,前者通过底层技术基础设施的构建,提供云原生化底座,后者通过设立研发效能、资源效能两项指标的方式推动业务的降本增效。



在这样的原则驱使下,腾讯制定了一套云原生成熟度模型,成熟度得分主要分为平台得分和业务得分两个方面,其核心目标是横向量化评估集团业务云原生能力,推动云原生落地。这套成熟度模型针对平台和业务分别进行量化评估考核,得分情况从workload、产品、部门维度层层汇总,按核心数加权计分,最终计算出整个部门和整个公司的成熟度得分,来监测集团内云原生成熟度的进展。



随后,杨远洲老师也用内部某业务 HPA 的案例,详细解释了腾讯云原生成熟度模型的评分方式。他表示,腾讯集团内部实践效果比较好的降本增效措施有以下几条:


  • 共享集群:共享集群资源buffer,业务混布,错峰使用增强调度能力;


  • 业务容器使用规范:限制CPU Request/Limit过大、限制CPU/内存比、限制Static绑核/独占节点等;


  • over commit:让业务在容器节点资源空闲的时候能够用到更多资源;


  • 业务可调度&HPA:业务无状态弹性伸缩和有状态的优雅退出的能力建设;平台保障业务的资源和隔离性;


  • 平台重调度&CA:平台在业务可调度基础上,进行重调度;重调度出来的闲置节点,优先销毁退回到CA资源池;各个业务、共享集群共享资源池;


  • 在离线混布:针对在线业务波谷利用离线资源填补,提升资源利用率。


分享最后,杨远洲老师表示腾讯集团云原生的未来展望主要分为落地和技术两大块。在落地方面,继续推动云原生在腾讯集团的落地,持续让业务对云原生架构进行升级,加速资源在业务间的流转,按需取用,用完就退,实现真正的降本增效。在技术方面,继续探索腾讯集团业务在Serverless的应用,在离线混部Caelus混部方案的探索。




(六)圆桌对话:企业用云成本优化的发展趋势探讨


圆桌环节,腾讯云容器产品中心总经理邹辉老师;Linux基金会亚太区总监杨轩老师;微众银行资深技术专家、Apache EventMesh创始人陈广胜老师;Thoughtworks中国区生态合作总监李铸老师;招商局集团有限公司数字化中心技术专家、腾讯云TVP 山金孝老师等大咖围绕企业用云成本优化的发展趋势探讨做了深入讨论,此处节选了大咖们所分享的FinOps在企业内的实践案例,分析了各自的成功经验与面临的挑战。


邹辉:前面环节FinOps技术方面的经验已经分享比较多了,我想分享下一些非技术层面的经验。


腾讯内部很早之前就在探索FinOps,每年都会规划成本优化这块的策略和目标。这些策略的制定和目标的达成,有一个虚拟组织在推进;这个组织包含了多个团队,比如有些团队负责资源的采购和业务资源的增长规划,有些团队负责成本策略,有些团队负责平台和技术方案,有些团队负责业务落地。每年都会有一些定期的管理措施,把大家拉在一起,协同推进成本优化这个事。


除了组织之外,在成本优化过程中;我们也需要有配套的平台或者流程,来保障目标的落地。


平台上聚合了我们在成本优化过程中所需要的所有信息,比如资源利用率、空闲资源分布、业务实时成本等,让组织里的所有参与方都能很方便了解到各自需要的信息。而流程能够确保我们策略正确地被执行,比如在腾讯内部,为了让大家更好的去利用云原生技术降低成本,我们建立了云原生成熟度模型,定期将业务和平台方 “是否用好云原生” 打分量化出来,来推动大家真正用好。


杨轩:我们可以参考腾讯内部千锤百炼得出来的FinOps经验,可以发现这些组织、技术和流程的事情对很多中小型企业而言可能都是一种负担。这正是 FinOps产业联盟成立的价值,将这些有价值的思考、实践给沉淀下来,通过平台协作,建立基本的认知以推动FinOps理念的落地。如何建设组织架构以推动FinOps落地,合规流程上有何建议,云资源使用如何衡量利用效能等,这些最基本的单元都可以通过FinOps产业联盟来进行一些定义,让企业少踩很多坑。


另外,也希望像腾讯云这样大体量的公有云厂商,未来会在云平台上推出更多 FinOps友好的工具,让更多FinOps产业联盟的会员单位能够接入云平台,更好地服务。通过云平台工具,帮助企业快速搭建FinOps体系,在企业内形成机制,也许可以加速这个过程。希望以后也能通过Linux基金会、通过平台沟通,能在中国有更好的体系化FinOps落地经验出来。


陈广胜:成本优化这个事情主要分两方面来看。第一个方面,要看目标是什么,是只降成本还是要提高效率,还是两者兼得。从我们的角度看比较清晰的业务目标是户均成本不能超过一个阈值,一旦超过了要从各个方面去优化,降低成本空间。实际优化过程中,不仅仅是把资源利用率优化就完了,还会涉及到架构优化、设计开发的问题,要让优化的过程能够保证业务的连续性、稳定性。


第二个方面,目标确定后,最难的是怎么推动事情落地。因为这些优化的工作,会在当下的业务工作中造成额外的成本,时间也会较长,不一定能够马上完成。微众银行内部是通过多个部门去配合推动,一个是架构管理办公室,从整体上看产品架构设计是否合理,另一个是运营部门同事跟踪实际落地的效果。成本优化不是一蹴而就的,而是一个持续不断迭代的过程,企业应该根据自己的实际情况来评估,怎样达到最好的效果。


李铸:我们服务的企业很多都是非原生的数字化企业,很多还在学习DevOps怎么用,微服务怎么做,还在做非常基础的事情,跟原生数字化企业之间的认知差距比较大。这里面临的问题是,在先进的新理念出来时,非原生数字化企业如何在学习成本偏高的情况下快速的跟上。其次,传统企业的组织架构调整往往阻力很大,如何在不做大调整的前提下,优化方法论、优化流程,制定一套合适的定制化方案,仍需要花很多时间去尝试。


目前在金融行业的头部企业中,类似FinOps的应用相对较多,最开始不叫FinOps,叫业务与IT的融合。实际上这个模式有FinOps的影子在,通过把相关部门、业务引入进来,做了一个新的业务模块之后,发现对业务的感知比较强,便渐渐形成FinOps实践落地。目前国内传统企业实践相对较少,北美那边的实践会比较多,后续有机会的话,希望可以引入一些外部的实践案例做一些分享。


山金孝:我们以前推广一些技术理念,比如DevOps的时候,更多注重于技术的先进性,如何提升工作效率等维度。这些话术很难打动企业里的业务负责人,或者财务负责人。FinOps这个理念,不再是用纯粹的技术因素去做推广,而是用业务负责人能够理解的方式来做布道,这是非常有想象空间的点。


另一方面,FinOps的落地可以很清晰地计算出投入产出比,不管是传统企业还是数字化企业,都能比较清晰地看到FinOps推行成功后的成本节省效果,那这个前期的投入是可以得到业务方支持的。从这个角度看,我认为FinOps前途无量。


此外,各位嘉宾还在FinOps产业联盟的行业标准等话题上展开了精彩的论述。



          Day2:
云原生最佳实践巡礼


(一)蔚来汽车对腾讯云原生技术的实践


蔚来汽车数字化发展集群运维总监周莹带来了《蔚来汽车对腾讯云原生技术的实践》主题演讲。


周莹老师介绍道,新能源汽车是一个新兴的、有特殊需求的行业,以蔚来为代表的新能源汽车行业的IT需求里面融合了生产制造、互联网服务、物联网、人工智能和大数据处理、边缘计算、跨国境数据交互等大量交叉场景。


  • 在新能源汽车的设计部分,蔚来汽车在全球有数千人规模的整车设计团队。在电机,电池电控,车身材料和工艺,智能网关,智能座舱,自动辅助驾驶,甚至座椅,空调系统,内饰,音响系统都有自主研发团队;


  • 在工业制造方面,蔚来是工业互联网概念的实践者之一。蔚来的制造模式是基于订单的定制化,制造工厂的物流、组装、工艺、测试等系统全部数字化实现;


  • 在车联网方面,蔚来汽车的智能座舱是一个典型互联网终端,背后的车联车控是典型的物联网终端;


  • 在基础设施建设方面,蔚来汽车的充电桩建设也在持续发力;


  • 在自动辅助驾驶方面,蔚来汽车IT成本投入也非常大;


  • 在用户运营体系方面,线上App下单和线下体验相结合有别于传统车企。


下图是蔚来汽车对腾讯云原生技术实践的时间路径,从2015年起蔚来就开始了混合云的建设,到2017年接入工业互联网建设,充分利用云原生基础设施能力,2018年起云原生的数据产品开始大量应用在蔚来的IT环境,预计到 2022年后,将以边缘云的模式重建车联网。



腾讯智慧出行汽车云架构总监贺天明接棒周莹老师深入讲解了在这个过程中腾讯云的一些观察与实践经验。


贺天明老师首先向与会者介绍了汽车行业的现状,一个车企往往包括300个以上的业务系统,类似于蔚来这种新能源车企会更多。在传统车企转型的过程中,也引入了非常多的IT新技术,对云原生技术能力的需求日趋增长。腾讯云与蔚来的合作非常深入,在每一个创新业务上都有腾讯云的智慧技术的深度参与。



当前汽车产业技术发展的趋势主要可以概括为“新四化”,即电动化、智能化、网联化、共享化。在这个过程中,车联网是万里长征的第一步,腾讯云在车联网方向提供了一个通用的业务架构能力,利用分布式云的模式实现B端、C端的全连接。



在车联网分布式云的架构方面,腾讯云也提供了从车端/物联等设备接入到边缘节点/物联网网元接入点再到中心云的体系化方案,既能给车企以不同维度的分布式云产品,也能通过腾讯的音视频等能力做好人与车之间更佳的互动。



贺天明老师介绍道,腾讯云在出行行业多类项目中云架构经过多年的迭代发展,已经补足了很多产品能力上的缺失,当前的车联网云架构已经实现了云原生化的改造,具体架构参考下图。



分享最后,贺天明老师也举了云原生服务网格TCM的实践案例,当前在车企业务中有广泛的落地,对研发链路上无论是开发还是测试人员,都非常友好。



(二)欢乐游戏Service Mesh演进实践


腾讯欢乐工作室公共后台技术负责人陈智伟带来了题为《欢乐游戏Service Mesh演进实践》的主题演讲。


陈智伟老师介绍道,欢乐工作室的后台架构是分布式微服务架构,分为接入层、业务层、中转层、存储层四大块,支撑着数百万在线和数千万DAU,实现了不停服平稳运行近十年。但随着业务的快速发展,缺乏一套成熟的微服务管理系统的挑战越来越大。



在做微服务改造以前,原有架构的痛点主要体现在以下几个方面:


  • 架构的服务治理能力不足;


  • 服务部署能力较弱;


  • 多套开发框架的服务模型成熟度不高;


  • 繁多的业务服务维护困难。


陈智伟老师表示,在现有架构上继续打补丁优化,或者使用成熟的开发架构重构两套方案都不可行,结合当今上云的趋势,将服务管理和服务治理能力下沉,将现有框架逐渐蜕变为业务的逻辑驱动层和胶水层成了最佳方案。在调研了Istio等服务网格技术后,最终选择了使用腾讯服务网格TCM去改造现有架构。


第一,增加适配代理网关MeshGate,实现网格内外互通。这带来的好处是网格内外服务可互通,新服务可以直接部署在网格内,网格内服务之间可用gRPC原生协议,充分利用了Istio的流量管理能力。


第二,存量业务搬迁方面,在原有代码框架增加了gRPC通信能力,定义gRPC Wrapper包装私有协议,使存量业务代码重编即适配gRPC。全量后实现了业务使用层无感知,网格内使用gRPC Wrapper适配的效果。



为解决由此引入的时延及性能损耗问题,腾讯自研了接入集群Lotus,提供给终端客户端使用私有协议的TCP长链接或者WebSocket链接接入的服务,具备大规模用户鉴权,长链接管理,协议加解密,消息转发等等能力。将Lotus直接部署至网格中的方案,并没有根本性地解决成本和时延问题。经过综合考虑,最终选择通过Envoy的filter机制支持私有协议,并支持原有接入层的业务能力,完成接入服上云。


最终实现了在保证性能开销的前提之下,最大限度融入Istio,享受服务网格带来的流量治理能力;整体部署效率大幅提升,运维更加便捷,节省运维人力;支持自动伸缩,无需预留过多资源,资源利用率高,CPU及内存节省了50%以上的效果。



对于游戏场景下,强状态核心对局的GameSvr上云问题,也相应地做了架构分离、单局调度、部署管理等改造。实现了强状态GameSvr一键式更新和上下架,大幅节省运维人力以及降低上手成本;实现可靠均衡的调度和自动伸缩能力,资源利用率高,云上仅为云下的1/3的显著效果。



此外,在存储服务方面,也实现了将存储迁移至TcaplusDB(腾讯互娱存储服务),交给专职团队维护的方案。同时,在Apache CGI网格化方面,也较快实现网格化,CPU以及内存资源节省了近70%,服务可维护性也获得大幅提升。另外,还将Istio托管给TCM(腾讯云服务网格),并使用TCM提供Istio的多集群网格能力。


通过以上的各项改造,完成了整体架构的平稳平滑上云以及网格化;提升资源利用率,提高研运效率,沉淀了游戏各类业务场景上云经验。




(三)云原生PaaS平台的混合云演进之路 


好未来AI中台PaaS平台负责人苏珂带来了题为《云原生PaaS平台的混合云演进之路》的主题演讲。


苏珂老师介绍道,好未来PaaS平台当前的总调用量已经达到上千亿,周调用量超20亿,日调用量超6亿,规模十分庞大。服务架构层面,是经典的基于SpringCloud全家桶和Kubernetes构建的云原生化PaaS平台。



这样的单集群架构,随着业务的发展,逐渐滋生了很多技术债,比如:服务负载不均衡、注册SDK使用不规范、定位问题复杂耗时等问题。另一方面,单集群的架构也很快遭遇了瓶颈,Node、Pod数量接近上限、服务注册频繁,数量多、VPC中IP资源耗尽、APIServer性能达到上限等。另一方面,缺乏灾备集群、议价及服务质量的主动权不在自己手中、集群升级困难、无法规避人为错误、完全依赖云厂商SLA等问题也是业务所不能接受的。在这样的痛点背景下,引出了混合云双集群架构建设的急切需求。


苏珂老师解释道,双集群建设的优化主要涵盖四个方面:注册中心注册治理数量优化、服务负载不均衡优化、服务注册方式优化、集群拆分


在优化注册中心方面,前期调研了成熟的开源产品,最终选择了腾讯云的 TSE(Polaris)作为原生Eureka的替代,改造过程涉及8万服务治理注册容量测试、1000个服务增量注册测试、Eureka开源接口规范兼容、长时间稳定性测试等方面,最终实现了服务治理容量提升、注册中心服务成本降低的收益。


在优化负载均衡方面,通过根据InstanceId轮询选择服务、gateway作为client发起请求、根据host作为key创建连接池的方式,优化了service注册。另一方面,在IP注册上也做了相应的优化,最终实现了资源成本的降低。



除此以外,在集成Istio-envoy,多活集群互备等关键节点上,也都做了相应的优化措施。苏珂老师表示,通过这些技术手段的优化改造,实现了工期缩短三分之二,修改期间无事故发生的显著效果。


在准备做双集群改造的过程中,技术团队做了两套方案,最终选择了周期较长、成本较高,但能保障稳定性和故障域小的方案,并且对其做了补充升级,使之更符合业务的实际需求。



迁移落地的架构示意图参考下图。外部流量首先流入接入层网关,由上层网关做统一集群之间的流量调度。然后走到集群内部业务API网关,由其做业务流量负载。紧接着所有业务容器都被注入相关的SDCAR,帮助完成POD IP的注册。



苏珂老师最后表示,双集群的建设带来了以下几个方面的收益:


  • 安全:分区部署、隔离故障、高可用性;


  • 灾备:同城多活、快速切换;


  • 业务:快速扩容、统一平台管理、服务迁移;


  • 稳定:高于云厂商SLA;


  • 成本:议价优势、服务质量、业务共创。


未来,好未来PaaS平台还将在流控模块分集群拆分、注册信息双向同步、逐步引入mesh的inbound/outbound流量的各种治理能力、拆分网关、完善监控等方面做进一步的优化升级。



(四)腾讯在云原生可观测领域的探索与实践 


腾讯云可观测平台技术总监罗嘉黎带来了题为《腾讯在云原生可观测领域的探索与实践》主题演讲。


分享伊始,罗嘉黎老师为我们介绍了可观测的发展史,他表示,可观测是随着服务架构的演变而演变的,从早期单体应用时期的手动日志排查,到分布式服务的基础指标+日志检索方式,再到无服务器/服务网格时代的Metric+logging+Tracing。



罗嘉黎老师从最传统的日志出发,详细介绍了从日志到自定义指标的过程中,怎么样从指标和维度两个概念上抽象出来,形成一个告警检测的机制。腾讯在近十年前就有了类似的系统,能够做到每一个网络调用都能够被监控起来,这种单体应用的时期定位是比较高效的。


随着K8S架构成为主流,服务数量开始爆发式增长,对可观测能力也提出了更高要求,架构也变得更加复杂。加上云原生应用的特点,对效率要求越来越高,系统更加复杂,环境动态性增强,上下游依赖也变得更多,如何帮助云原生应用实现可观测变得更加具有挑战性。


在这样的背景下,罗嘉黎老师详细分析了Metric、Logging、Tracing三大模块在实际使用中的痛点与所遇到的问题。此外,在可观测性领域的开源协议过去也一直未曾统一,直到2019年成立的OpenTelemetry项目,其具备统一Metric、Tracing、Logging标准,三者拥有相同的元数据结构,可以轻松实现互通;使用一个Agent就能够完成可观测性数据的采集和传输,不需要安装各种各样的Agent,降低系统的资源占用;诞生于CNCF,对于各种云原生可观测性系统具有非常好的兼容性等特性。



可观测性的发展史,就是从1.0的Logging 时代,手动排查日志;到2.0的Metric+Logging时代,延时,流量,饱和度,错误指标告警,通过Logging人工串起全链路;再到3.0的可观测一体化时代,Metric+Logging+Tracing,将traceID注入gRPC metadata或http header,进行分布式追踪、全链路监控。


随后,罗嘉黎老师重点介绍了腾讯云在可观测领域的一些经典案例分享,包括前端监控、前后端打通、后台可用性分析、数据库性能分析、服务治理、拨测等全局点位。整体架构图如下图所示:



分享最后,罗嘉黎老师也向与会者毫无保留地分享了构建全链路可观测性的To do list


  • 后台/前端调用指标告警—无侵入接入 


  • Mysql/Redis等存储层指标告警—无侵入接入


  • 自定义指标告警—业务侧埋点


  • 日志类数据通过中间件打印清楚上下文信息(比如appID,ip,返回码等等)


  • 开源日志库自动将traceID注入日志—无侵入接入


  • OpenTelemetry/Skywalking等开源协议分布式追踪能力—无侵入接入


  • 通过压测工具去观测以上Metric、logging、Tracing数据的情况


值得一提的是,这其中只有3、4两点需要业务上报数据,其他均可通过云服务或开源产品无侵入接入。



(五)腾讯日流千亿的云原生网关探索和实践 


API7.ai CEO,Apache APISIX PMC主席,腾讯云TVP 温铭带来了题为《日流量千亿的云原生网关探索和实践》的主题演讲。


在开始演讲前,温铭老师带我们回顾了API的背景,他表示开发模式已经从代码优先转变为了API优先的模式。这个趋势背后引发了一些开发模型的转变,涉及到前端、后端、测试等方方面面的问题,这是他创办APISIX的原因。


APISIX作为一个Apache顶级开源项目,除了社区活跃、反馈及时,生态扩展丰富,同样具备领先的技术能力,无论是顺应潮流的云原生架构,还是全动态设计,运维方便,亦或是插件模块化管理、配置可插拔、内置高可用和无状态设计等技术特性,都给予用户以最大的便利性。


温铭老师解释道,随着IT技术的高速发展,云原生技术的进一步下沉,也对API网关带来了不小的挑战,总结下来基本上有以下几个方面:


  • 多语言与低代码:降低了开发者入门成本,丰富用户选择,同时提升产品交付与协作效率;


  • 流量统一:统一流量即统一技术栈,降低公司运营成本,加速企业数字化转型;


  • 数据安全:API网关作为内外输送点,在对隐私信息的数据把控上应该做到更加地安全与防护。


在这样的挑战下,APISIX凭借强悍的技术实力,也帮助国内多个互联网大厂实现了云原生网关的升级改造工作,其中的典型代表就是新浪微博和爱奇艺。


新浪微博原架构痛点是升级步骤长、对服务进行增、删、改或跟踪问题时,不够灵活且难以排查问题。通过迁移到APISIX,借助全动态、高性能等特性,加上定制化的开发,深度融合进入了新浪微博的业务系统中。



爱奇艺的原架构痛点是部署臃肿、同步效率低、高可用难度大。随着用户对视频内容的需求持续增长,爱奇艺对APISIX满足大流量、性能稳定的需求凸显出来,满足了其日渐增长的业务需求。



除以上两个企业案例以外,温铭老师还提到了WPS的用例,以上三家企业与APISIX形成了良性的互补,一方面APISIX满足了其业务需求,另一方面三家企业也为APISIX社区回馈了诸多应用场景与使用反馈。


温铭老师最后表示,APISIX未来将顺应云时代的发展潮流,推出与云厂商的集成版本。未来将会有APISIX在腾讯云上的托管版本,如果用户的服务在云上,可以省去安装、运维、升级等步骤,只需直接使用云上服务即可满足业务需求。



(六)圆桌对话:云原生会让我们失业吗?


腾讯开源联盟主席、FinOps基金会董事单致豪老师;金蝶我家云技术总监金向平老师;腾讯云容器技术专家孟凡杰老师;API7.ai CEO,Apache APISIX PMC主席,腾讯云TVP 温铭老师;招商局集团有限公司数字化中心技术专家、腾讯云TVP 山金孝老师等大咖围绕云原生会让我们失业吗的话题进行了深入探讨。


单致豪:云原生技术降低了开发者的工作量和难度,抽象掉了很多底层的技术,我觉得不仅不会让整体的岗位减少,反而会随着难度的降低让更多的人参与进来,成为开发者。去年GitHub的数据显示,全球开发者数量已经达到了7300多万,一年间增加了1600万。CNCF也有类似的报告,云原生开发人员的数量也在持续上升,过去一年增加了30多万达到680万的规模。


我个人觉得云原生和开发者的关系是一个良性的互动,共同促进的关系。另外,Linux基金会的下一代架构基金会成立云开发这样的技术组,构建低代码和无代码的框架、平台和标准,通过这样的方式让更多的人成为开发者。随着更多的开发者融入进来,我觉得越是资深的开发者越不会失业。


金向平:我们在新的方式下工作,无论开发还是运维都跟以前不太一样,但岗位不但没有减少,反而增加了。以前的开发者像建筑工人,是码代码的。现在的开发者像装修房子的,房子越建越多,开发者岗位也就越来越丰富。


新形势下,业务开发人员要更加钻研业务的处理,才能给客户创造更多价值,就能创造更多好用的企业产品。云原生技术的出现,使得开发者站在了巨人的肩膀上,我们可以看得更远,去研究物联网、生态、信息系统,利用这些技术帮助客户快速搭建安全可靠的IT服务,技术人员也要在这种新形势下提升自我能力,实现转型。


孟凡杰:汽车出来之前,主要的交通工具是马车。大家担心的是原来这些赶马车的人会不会失业,这跟今天的处境是一样的。我觉得任何一次的技术迭代,都会引发类似的讨论。我们不能以一种静态的眼光看待这个世界,自动化能力的提高,并不一定意味着人员的减少。我们所面临的的场景,所要解决的问题已经完全不一样了。我们追求效率的水平在不断膨胀,要解决的问题也在变得更加复杂,这背后的需求是在持续增长的,任何技术的迭代让我们完成了一些以前不敢想象的工作,也就自然会带来一些新的岗位。


云原生技术现在的大行其道,会创造更多岗位,比如过去你是一个运维,只做一些工单处理的操作工作。有了自动化能力以后,你就转变成了一个DevOps人员,就是一样的道理。我们都说产业升级,其实个人也需要去做升级来适应新的时代。


温铭:其实大家从一个更长的角度来看,数字化进程是在加速的。越来越多的东西都放到了互联网上,部署方式也从私有机房搬到了公有云上,面临着更多样的场景和需求,这并不因为基础设施的便利性就会减少。恰恰相反的是,随着基础设施的便利性,越来越多的企业会加快数字化和云原生的进程。


很多企业已经是云原生的架构了,但更大部分的公司还没有完成自己的核心业务迁移上云的进程,在这个历史的潮流趋势下,必然会带动一些新的商业机会,也会衍生出更多的开发者岗位需求。我觉得云原生恰恰只是一个开始,而非盖棺定论对开发者的终结之时。



结语


云原生领域在过去的几年间,经历了喧嚣的炒作,经受了疫情的洗礼,经过了技术的蛰伏,终于迎来了走向规模化落地的进程。不管是互联网企业对云原生技术应用的花样百出,还是传统企业对云原生技术人才的求知若渴,都让云原生从理念变为了现实。


云原生向来是一个事实标准说话的行业,TVP希望在行业标准形成的过程中, 能够给国内企业、开发者带来先进的云原生技术趋势解读,也能将国内具有代表性的云原生技术实践案例通过开源社区、基金会、TVP们带出国去。


第四届 Techo TVP 开发者峰会「云以致用,智效合一」顺利落下了帷幕,但关于云原生的思考却仍在每个开发者的心头燃烧着。



浏览 25
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报