开发敏捷高效 | 云原生应用开发与运维新范式
5 月 18 日,腾讯云举办了 Techo Day 腾讯技术开放日,以「开箱吧!腾讯云」为栏目,对外发布和升级了腾讯自研的一系列云原生产品和工具。其中,腾讯云开发者产品中心总经理刘毅围绕“开发敏捷高效”这一话题,分享了关于“云原生应用开发与运维新范式”的主题演讲。本次演讲将为大家分享,腾讯云是如何通过云上开发运维协作能力,支持多职能团队流畅协作,助力企业加速数字化敏捷转型,提升云原生架构的运维效率,受益云原生。
刘毅——腾讯云 CODING CEO、腾讯云开发者产品总经理。主要负责腾讯云开发者生态以及开发者工具和平台产品经营,带领团队把腾讯内部项目协同和研发效能提升过程中,大规模应用到的工具和平台以及相关的优秀实践输出和赋能给各行各业合作伙伴,帮助完成数字化转型和升级。2011 年加入腾讯,打造过社交产品 QQ 空间,也打造过办公协作产品腾讯文档。
云原生开发与运维领域新趋势
如今,在 VUCA(Volatility 易变性、Uncertainty 不确定性、Complexity 复杂性、Ambiguity 模糊性)环境下,每个企业都在探讨如何提升自己的核心竞争力,这也是近年来一直备受关注的话题。在寻找这个问题答案的过程中,腾讯云发现,深化研发协作、研运一体的核心能力,打造高效、快速的开发和运维新范式,能够为企业在数字化及云原生转型过程中持续赋能。通过多年来对云原生开发与运维领域的观察与思考,腾讯云得出 3 个关键,分别是:
开发云原生层面,呈现“资源服务化”趋势;
业务观测层面,需具备“数据和观测一体化”能力;
应用观测与协同排障结合,“协作能力进一步提升”。
开发云原生呈「资源服务化」趋势
随着云原生技术逐步发展为规模化实践,业界对于云原生的未来有了较为清晰的认知。除了具备初代的云原生 DevOps、容器、微服务这些必要元素外,进一步渗透到寻求资源配置和应用管理提效的最优解。
腾讯云对云原生具备完整的布局,覆盖基础设施、安全、计算、架构、数据等多个方面,其中开发云原生是腾讯云原生布局的重要一环。
首先,未来应用将“ 生于云、长于云”,开发云原生也会呈现“资源服务化” 特征。这意味着未来的资源管理和调度将变得更加高效,开发者可以从本地编码、离线交付、以及低效的资源管控中解放出来,在云端完成编码调试和应用部署,更大限度发挥云原生技术红利。
业务统一可观测层面需具备“数据和观测一体化”能力
其次,随着云原生的普及,业务复杂度也逐渐提升,传统的监控模式,数据分散不联通,不同业务层的监控也多是通过不同产品和工具完成。故监控到业务异常发生时,数据之间的下钻、联动分析效率低。
通过以业务为核心,将多种数据源集合在统一平台,覆盖指标、链路、日志、事件全数据类型,构建统一的数据采集、处理、观测平台,再配合一体化的故障预测、故障告警、故障定位工具,构建这样一个全链路、端到端的数据和观测的一体化平台,可以帮助大幅提升运维效率,从被动监控转为主动观测。
“监管控一体化”继续演进
系统可靠性和稳定性是企业竞争力的基石。一旦发生故障,需要迅速拉起多个职能角色参与其中,第一时间多方协同定位问题、恢复应用、解决问题。
在该过程中,排障人员会感受到观测工具和工程信息之间的割裂、上下文对齐异步、远程协作难同频的问题,排障效率仍有较大提升空间。
通过打通代码数据、工程数据和观测数据,提供故障信息对齐能力,增强多人线上协同排障场景,进一步提升运维协作能力,演进 DevOps 闭环,才能落到实处地帮助业务侧及时高效应对排障,保证系统可用性。
客户面临的严峻挑战
腾讯云成立以来多年,持续深耕云计算领域并以卓越的技术能力服务数百万开发者,积累了大量企业数字化管理经验,在实践中总结出客户在云原生应用开发和运维时普遍遇到的一些痛点,进一步映射了上述“趋势”观点:
开发调试到部署效率低,包括开发环境难以统一且重复配置、本地资源隔离弱且不稳定、持续构建与部署因环境管控复杂、效率有待提升。
数据分散问题定位低效,云原生架构复杂,业务的指标、链路、日志等数据分散,同时前后端存在孤岛问题,无法统一观测业务架构,当异常发生时,需要多系统、多数据调度以支持排障,影响运维效率。
异步多人排障信息难对齐,故障时多可用区、多时段告警信息、监控日志、操作、反馈等有效诊断信息分散在各个时段,且分散在各个排障人手上。排障专家互相之间无法快速共享和对齐排障上下文。事后复盘时也难以回溯故障处理的过程信息。
远程协同效率低,远程多职能协同排障存在资源权限、业务知识、工具和技术熟练度的差异。每个角色只掌握链路中的部分信息或工具。因此排障时产生不同角色间信息无法方便共享共识,导致排障效率降低。
腾讯云观点
观点一 “资源服务化”
针对上述痛点,腾讯云首先考虑的是开发调试与持续交付过程中实现“资源服务化”,为研发资源挑战提供解法。
于是我们有了云原生开发的云端开发+环境托管的概念雏形,提供基于服务的云上开发环境 (Cloud Development Environment),使得通过云端进行开发、编译与调试,解决传统开发资源管理难题,进一步推动开发云原生落地。
在资源服务化机制中,开发同学们可以各自开发自己的模块,互不干扰。必要时,他们之间又可以实施相互调用、甚至断点联调。
该流程在微服务场景能促使开发者左移联调,每个微服务可以快速启动对应的云端开发环境,云端构建、云端部署,通过流量调度方案,快速预览开发效果。开发集群还提供自动休眠等措施,进行成本控制。
观点二 “数据和观测一体化”
针对传统监控体系中的若干问题,我们推荐建设和使用“数据和观测一体化”可观测平台,并提供云上实践。
一体化的可观测平台将多来源、多类型的监控数据统一接入,依托强大的 DSL、实时/关联分析等能力进行数据处理,最终依托通用能力组件对不同用户角色提供整合展示、多维分析、预警通知及 AIOPS 能力。
从而解决因监控和告警数据分散、缺少全局视角所导致的监控规模扩展难、规范化管理难、关联分析和排障定位慢等问题。
观点三 “监管控一体化”
可观测能力结合 DevOps,我们认为“应用管理”可以与“应用可观测”深度结合,建立以应用为中心、以业务为视角的统一观测平台。
在 DevOps 的下游环节,提供涵盖针对应用的日常问题发现/定位/解决的核心能力,接入应用可观测能力如监控告警、链路追踪以及日志追踪,从应用视角打破各 APM 类工具间的信息屏障,将原本零散的信息建立关联、抹平不同环境之间的工具差异,建立以应用为中心、服务研发视角的一体化观测能力。
同时,基于一体化可观测能力,统一各类观测数据标准,实现可观测工具的可插拔性以及可扩展性,用户也可以进行自定义扩展。在此之上,创新性结合腾讯会议的实时共识属性,升级运维排障协同手段,将 DevOps 深度演进闭环。
重磅新品发布
一站式云上开发运维协作平台
作为国内领先的云平台,腾讯云一直坚持以客户为导向,不断创新和打磨贴近用户思考的产品和服务体验。现如今正式对外界推出一站式云上开发运维协作平台,支持多职能团队在同一平台上流畅便捷地协作,“高效、快速,打造新一代云原生应用开发与运维的新范式”。
一站式云上开发运维协作平台产品优势可以概括为以下三点:
开发资源托管:可在线集群调试、一键拉取仓库并加载云端开发环境、动态资源调配、便捷灵活联调。
应用观测:多协议监控、全产品覆盖、态势告警、无侵入式业务数据采集上报、全数据维度展示。
远程协同排障:一键拉起干系人同屏会议,抹平信息割裂与组织异步,线上聚焦协同排障、定位、以及修复上线。
该范式旨在覆盖云上从应用开发到应用运维的全生命周期。简单来说,用户可通过云端开发环境 Cloud Studio 进行多人编码协同,在线调试与服务部署;也可将代码推送到一站式研发效能管理平台 CODING DevOps 以完成持续交付的一系列工作。
当应用发布后,以应用为核心,接入可观测能力为业务提供应用环境全链路的故障预测、发生告警、定位支撑,在故障时拉起协同排障、解决问题,闭环 DevOps 中的最后一公里。
新品工具一
腾讯云可观测平台
为解决传统监控数据孤岛、管理复杂、数据间无法联动排障等问题,我们打造了腾讯云可观测平台,为用户提供一体化监控解决方案。
数据源层面,支持指标、链路、日志、事件的全类型监控数据,同时支持数据间的联动分析。同时腾讯云可观测平台支持灵活和丰富的告警场景配置,同时提供详细的告警大盘,全面洞察业务告警。除了具备基础的管理分析能力,我们还规划了智能异常检测、根因分析、自动化运维等高级能力。通过对云产品、前端性能、应用性能的监控,联动拨测、压测、可视化等多种观测能力,可以覆盖统一监控巡检、一站式排障、前后端联动排障、用户体验护航等多种监控场景。
腾讯云可观测平台支持多种主流语言和协议的全链路 Tracing 打通,将前后端数据打通效率提升 90% 以上,帮助开发运维快速实现前后端数据链路分析。我们在部分场景中实现了无侵入式数据采集,用户无需对业务做任何改动,即可上报数据。后续对 eBPF 的支持也会快速上线,为用户提供更强大的无侵入采集方式。
另外,腾讯云可观测平台全方位升级告警,可以为客户提供一体化的排障能力:从数据源到告警配置和告警通知处理,对多种数据源的指标和事件进行多维度的告警配置,告警条件也支持基于机器学习的动态阈值、复合告警等。对于重要的告警事件,可一键升级成故障管理,进行全生命周期的管理,包括对故障流程的上下文追溯、流程管理和故障复盘。
新品能力二
远程协同排障
创新性提升排障协同能力,腾讯云进一步推出远程协同排障解决方案,将 DevOps 和 Meeting 场景完美结合。
远程协同排障解决方案是腾讯云依托腾讯会议业界领先的远程实时协同能力,联合 CODING 开发者服务、云监控可观测平台,围绕「应用运维」打造业界领先的远程协同排障解决方案,补齐多人协同排障场景核心能力,强化可观测驱动开发理念,打通可观测与代码工程壁垒,提升远程排障效率。
收到告警拉起排障诊断时,从 ChatOps 通知或工单系统直接打开 CODING Orbit 的应用观测工具。观测工具无缝接入了腾讯云的 APM 观测产品,对观测信息进行了以应用为中心的聚合。从而用户以应用为中心视角,在同一工作台无缝切换查看故障调用链,日志,监控指标,基于所提供的全面观测信息,快速定位故障点,提高排查效率。
多人排障场景中,工作台支持一键拉起视频会议,多人同屏在错误堆栈中同步定位到引起故障的关键节点,迅速分派任务,制定方案,甚至修复缺陷。在确定为代码缺陷的场合,可迅速定位到相关代码仓库文件,拉起 IDE,进行代码修复和在线调试、再次发布。而多人同屏会议协同加速了整个过程的任务分派、职能监督、计划统筹到最终修复问题的协作速率。
客户解决方案成熟落地,多行业实践全面开花
目前,腾讯云开发者服务超过 300 万开发者和数万家企业,在多个行业实践均已全面开花。
例如,在金融行业,富途证券对服务稳定性要求高,且架构复杂,涉及混合云及多地域,真实客户的访问体验和页面异常的监测也是金融客户的可观测性建设中的重要关注点。通过腾讯云可观测平台,帮助客户快速测试海外网络情况,了解用户真实体验,从平台、ISP 等多个维度帮助客户定位问题,且支持监控数据的跨地域容灾,为客户构建一个统一的业务监控和可视化平台。
在零售行业,为全力赋能伊利集团主业发展、响应数字化转型战略,CODING 通过提供项目协同、CI/CD、制品仓库、研发度量、应用观测等主要功能模块,实现端到端 DevOps 平台建设,填补源代码与可用程序之间的开发运维鸿沟。目前,伊利集团事业部 20+ 小程序项目已完成敏捷研发流程的落地应用,小程序需求迭代效率提升 30% 以上,系统实现稳定运营。
尾声
数字化技术正在给各行各业带来巨大的变革,在云原生领域为用户提供更全面、更稳定、更安全的云原生服务,是腾讯云一直以来的追求。腾讯云将持续加大产品研发投入规模和技术创新力度,为百万开发者提供更完整的产品矩阵,助力开发者化繁为简,提高研发与运维效能。
评论