首页 > 其他分享 >建设一站式DevOps平台,腾讯云研发效能提升实践

建设一站式DevOps平台,腾讯云研发效能提升实践

时间:2023-05-22 18:45:25浏览次数:46  
标签:一站式 平台 DevOps 研发 提升 研效 腾讯 我们

本文作者:张渝

导语 | 近年来,研发效能提升越来越受到业界重视,许多厂商都在不断探索研发效能提升之路,从而实现研发效率和质量的持续优化,以应对日趋复杂的产品开发。那么腾讯云的研发效能相关工作是如何开展和落地的呢?今天我们特邀了腾讯云研发效能工作组负责人、腾讯健康副总裁 张渝老师,他将带大家深入了解腾讯云研发效能提升之路,同时也给大家解读未来腾讯云研效的发展方向。

img

探析腾讯云研效痛点和解决思路

近几年,腾讯云在整个研发过程中遇到的痛点,在我看来主要可以归结为三点:标准规范、工具平台、文化宣传。具体而言,首先,由于腾讯云业务涉及的研发人员和业务产品数量庞大,而每个团队都有自己的规范和研发模式,但从整体上看,无论是在代码层还是工具层,我们都缺乏更高层次的统一标准和规范。

其次,此前腾讯云的工具平台并不完善,各种工具从需求到代码到 CI、CD 到线上部署都有,但是工具与平台之间互相割裂,没有形成统一整体,需求对接、代码管理、构建发布和运营数据监控都在不同平台上完成,从而导致效率降低。此外,腾讯云发展多年,一些工具平台年久失修,缺乏维护,且出现了重复建设的情况。对于新员工而言,面对众多平台和工具他们也有些不知所措。因此,我们必须尽快将这些平台纳入统一维护。

第三方面是文化宣传。我们希望在腾讯云内部,所有人都能认识到提高研发效能的重要性,并愿意投入更多精力共同建设。因此,在推进研发效能提升方面,我们采取三种方式:第一,制定统一的标准规范,使大家逐渐采用我们推荐的主流标准;第二,把工具平台做成一站式串联,形成一个统一的整个腾讯云共享的研效平台;第三,加强宣传引导,让大家共同关注和参与。可以说,研效的建设是研发管理、工具建设和文化宣传三者的共同作用结果。

针对上述存在的问题,我们主要的建设思路是采用金字塔模型,最终目标是在研效平台上实现从需求到最终运维的一体式全过程,提高一线研发和运维的幸福感。金字塔的底层是各种工具的完善,我们将挑选已有的主流工具加强自动化能力。第二阶段通过一站式门户将工具串联整合到平台上,实现从需求到最终监控的全过程。第三阶段将实践 DevOps 理念,尤其是从应用视角贯穿整个流程。最上层是价值体现,通过数据度量跟踪,来体现所有的研效提升工作是否符合预期,如果符合设想的轨道再往前推进。下图是腾讯云研效平台的理念和思路。

img

接下来将具体分解研效平台的各个层次和我们所做的工作。下图中左侧的导航栏集成了主要的研发过程和使用的工具,不仅仅是将入口统一在一起,更重要的是将各系统与腾讯云进行深度结合和打通,这是研效工作的基本要求。

img

第二个层级是 DevOps 信息集成。我们立项时就制定了与腾讯云原生的合作标准,与自研业务的云原生化并行,一方面是容器化云原生搬移,另一方面是研效工作的提升,帮助提高腾讯云自研产品的效率和质量。在 DevOps 中,强调了从应用管理的角度来看整个生命周期,以提高操作效率。从微服务代码框架到配置、后端云函数调用、协议管理、集成发布等,都通过平台完成,构建并发布到云上,支持公有和私有部署。

img

第三个层级是自动化。我们极力推崇自动化执行理念,并且在整个过程中,以底层为基础,尽可能实现状态流转之间的自动化操作。通过各种消息,触发各角色制订标准的工作流,从而实现持续的开发、测试和部署。

img

最后是价值度量。我们定义了几个核心指标来观测和跟踪,长期度量我们的价值,指引研效工作的持续改进和提升。我们订立了四个指标:部署频率、变更前置时间、变更失败率和服务恢复时间,这些指标直接反映了研发工作效率和质量。

img

腾讯医疗研效提升最佳落地实践

腾讯云在研效工作方面遇到的一些挑战和痛点,在推动具体业务落地实践上也存在。以腾讯医疗业务为例,我们发现在研发过程中,业务快速增长和复杂的业务逻辑导致了研发效率下降和问题定位困难等问题。

为了解决这些问题,我们采用了按域划分问题和分域解决的思路。具体来说,我们将研发团队分为开发域、构建域、测试域、部署域和运营域,并根据整个研发流程的生命周期,按域划分和解决问题。我们的解决方案包括统一代码规范、标准开发模式、自动化工具、持续集成、自动化回归测试、减少人工介入、建立可观测体系等。同时,我们也着重加强团队文化建设和技术交流,提升团队协作和合作效率,共同推动研效提升。

img

在具体业务落地实践研效提升方面,我们需要根据具体业务场景制定相应的研效提升策略,并结合团队实际情况和行业最佳实践,进行持续优化和升级。此外,我们发现研效提升需要全员参与和共同推动,而不仅仅是技术人员的责任和工作。因此,我们还需要加强团队培训和技术普及,提高团队整体水平,形成良好的研发文化和协作机制,以保证持续的研效提升和创新驱动。

在开发领域,缺乏统一的开发流程会导致测试阶段容易受到相互影响,出现测试环境覆盖等问题。此外,由于需求没有与分支形成绑定关系,代码追溯变更或问题排查会变得困难。团队刚刚成立时,因配合默契度不高也会导致协作效率低。为此,我们采取了三个措施:统一开发模式-分支开发、主干提测;将 TAPD 需求与分支绑定,解决追溯问题;引入特性开关以支持并行开发,从而提高效率并解决以前相互干扰的问题。

在服务治理方面,我们确立了一系列标准,如统一模块目录结构、为服务增加 DevOps 能力、以及统一组件等。我们还开发了标准组件,并将这些标准传达给团队,从而实现服务标准化。通过引入脚手架,我们实现了开发流程自动化并提高了效率,同时保证了质量和统一规范的目标。

img

在整个开发过程中,团队也在持续倡导和实践测试左移的概念,主要依靠单元测试和代码评审 CODING。通过 CODING 插件自建自动化流水线,将单元测试视为质量门禁。同时,我们在团队内部建立文化氛围,与员工激励相结合,以提高参与度。

在测试领域,我们主要面临环境管理方面的问题。为此,我们采用了增量复制和路由管理等改进措施来优化资源消耗和降低对业务的侵入。另外,在部署方面,我们提高了自动化运营覆盖率,通过流水日志自动生成测试用例,并借助公司工具平台实现了流量回放。在运营方面,我们使用腾讯云可观测以后,能够快速定位和解决问题,从而提高效率并降低复杂度。

综上所述,我们通过统一开发模式、规范、自动化脚手架、完善 CI/CD、强化单元测试、完善持续发布和构建流程等措施,在开发、构建、测试、部署和运营等领域不断创新,进而提高效率、降低成本,并优化了团队文化和运营管理体系。

腾讯云研效工作未来规划

目前,鉴于腾讯云已经实现了各工具域之间的互联互通,但在项目内部的互通以及项目之间的互通方面仍然存在一些缺失。因此,未来腾讯云的研效工作,我们的重点是致力于持续强化项目内部的互联互通,并在跨 BG 方面实现更多的效率提升。

此外,另一个维度则是扩展视角。目前,平台主要以应用为视角来组织连接各功能模块,那么我们的下一步计划是在此基础上扩展到项目视角,以了解各应用之间的关系。甚至我们可以从产品业务视角来看待多个项目之间的关联关系,探索进一步提升的空间。

简言之,只有抓住研发效能实践、平台、以及度量这三点,才能有效提升研效工作。我们整个研效的核心思路是通过研效实现,平台在此基础上输出核心研效指标,以推动业务方提高研效性能,最后使得正向增强回路。

毋庸置疑,研效提升是一项持续性工作,我们也十分期待通过研效提升,赋能腾讯云业务的进一步发展。

点击此处链接,助力企业研发效能提升

img

标签:一站式,平台,DevOps,研发,提升,研效,腾讯,我们
From: https://www.cnblogs.com/codingdevops/p/17421428.html

相关文章

  • 今天买了腾讯云服务器, 99一年!
    今天买了腾讯云服务器,99一年!1.在哪买的在百度随便搜索了优惠页面,随便找了一个人的点了进去,2核2GB3M40GB,2024年5月19日到期.2.为什么要买seven给的电脑已经不堪重负了,连看视频都热的一批,开一个WSL+vscode就要爆炸了!!!3.在微软商店下载了Termius很不......
  • 双模齐下,提质增效:CODING 携手知微共创 BizDevOps 体系新篇章
    为了提升工作和管理效率,工具建设是许多企业不得不面对的现实,然而在工具建设落地过程中,往往存在一系列的问题。如不同组织、部门之间互不相通,各自为政,工具流程与实际工作所需不符,导致工具建设的结果是人去适应工具而不是工具来辅助人。由此可见,工具体系若建设不佳,非但无法起到提......
  • 专精特新 ︱ 腾讯云 CODING 助力消费电子类企业高速发展期的研运一体化
    ......
  • IntelliJ IDEA一站式配置【全】(提高开发效率)
    IDEA常用设置(提高开发效率)本人也是IDEA编译器的忠实用户了,但是有时出于各种原因,比如更换设备等等,IDEA总是需要重新安装配置。这就让我比较苦恼,因为总是记不全自己之前都修改了哪些地方(原谅脑子不好使hh),所以就以此篇文章记录一下目前我的IDEA的设置情况。可能依旧不太全(后续会持......
  • 阿里云、腾讯云相继降价!多家云服务巨头价格战打响,面对这场变局,你怎么看?
    随着互联网技术的不断发展,云计算市场成为了各大企业争相布局的重要领域。而最近国内市场的云巨头们,也开始集中发力云计算,试图在这个领域获得更多市场份额。就在昨天5月16日,腾讯云宣布对多款核心云产品降价,降价政策将在6月1日正式生效,就此国内的云服务价格战彻底打响。腾讯云的这一......
  • IDP 与 DevOps平台:相似之处与关键差异
    软件开发是一个复杂而动态的过程,涉及许多工具、技术和实践。为了更快、更好地交付软件,开发人员需要有效地协作,自动执行任务,并管理环境。然而,由于软件架构的日益复杂,工具和平台的多样性,以及对安全和合规性的要求越来越高,软件开发变得极具挑战。 为了更好地应对开发挑战,企业根据......
  • 软件测试人员必须了解的DevOps
    软件测试人员必须了解的DevOps前言什么是DevOps工作原则方法如何着手DevOps变更流程管理技巧挑战总结参考前言对很多软件测试人员而言,可能尚未接触到DevOps,本文的内容基于笔者日常学习,针对测试人员所记录的一些关键信息,算是给大家深入学习DevOps的一个引子。什么是DevOpsDevOps是开......
  • 腾讯开源的 3 个 GitHub 项目,足够良心!
    1、系统清理工具去年腾讯开源了一个系统清理工具:腾讯柠檬清理,该软件可以系统性解决macOS设备空间问题。重点聚焦清理功能,对上百款软件提供定制化的清理方案,提供专业的清理建议,帮助用户轻松完成一键式的清理。主要功能包括:深度扫描清理、大文件清理、重复文件清理、相似照片清......
  • PostgreSQL一站式插件推荐 -- pg_enterprise_views
      近日发现PG官方插件列表中新收录了一款插件pg_enterprise_views,因为官方已经数年未添新的插件了很是新奇,找了台设备测试过后果断上了生产,得空分享给大家。  该插件提供了数十张系统表及一个GUI工具,用以监控从操作系统到数据库方方面面的性能情况,并支持对任意时段历史......
  • AI DevOps | ChatGPT 与研发效能、效率提升(中)
    为啥ChatGPT突然火了?简单概括就是:产品太过惊艳,体验超预期之前人工智能发展多年,报道最多的也许就是曾经的李世石大战AlphaGo,现实中的特斯拉自动驾驶,还有波士顿动能放出的机器狗。对于圈外人士来说一般也接触不到这些,仅仅看看而已。但是ChatGPT不一样,一声巨响,石头中蹦出一个C......