引言
在互联网数字企业结束“野蛮扩张”、追求高质量增长的今天,研发效能已然成为企业关注的核心命题。伴随着云原生概念在软件领域的落地生根,云原生正驱动软件应用设计、实现、部署及运维方式的巨变,为研发效能治理带来了新的挑战与机遇,软件效能将迎来全新的云原生变革时代。
2023 年 3 月 25 日,Techo TVP 开发者峰会“以云为核,效能聚变”正式落下帷幕,11 位来自效能领域的知名技术领袖和专家,从效能治理、云原生、DevOps、可观测性等方面探讨了研发效能提升的最佳实践和未来趋势。
主持人开场
本次峰会由乐凯撒 CTO、腾讯云 TVP 黄道泳担任主持人。会议一开始,黄老师首先分享了 Techo TVP 开发者峰会的初心和宗旨——旨在通过最用心的分享、最前沿的洞察、最实际的观点,为开发者朋友献上一场“最有料、有趣、且有用”的开发者峰会。
黄老师讲到,天下武功,唯快不破。在信息技术主导的数字经济时代,研发效能就决定了你有多“快”。但随着软件规模和复杂度的不断提升,传统软件研发的“人海战术”模式已经行不通了,我们需要重新审视传统软件的研发模式、研发流程、研发工具等方方面面,逐一提升工程团队的研发效能,在保证质量的前提下,尽可能高效地持续交付价值。
嘉宾致辞
腾讯云副总裁 黄俊洪为本次峰会发表了致辞。他首先回顾了腾讯内部持续进行研发效能治理的历史,从 2019 年腾讯内部上云开始,研发流程 DevOps 化就是很重要的一项工作。通过研发数据资产治理以及持续交付流水线改造,再配合容器化和微服务框架改造,最终在 2022 年实现了腾讯自研业务全面上云。
他也提到了刚刚发布的《腾讯研发大数据报告》中的几个数据:超过 90% 的业务研发通过腾讯 CI 云原生流水线构建和部署,构建时长缩短 60%,部署效率提升 75%。
腾讯云也将腾讯内部研效治理的经验凝练为技术能力,助力更多企业提升研效。在基础设施层,腾讯云原生团队积极探索 Serverless 化,打造面向未来的应用研发交付体系和用云体验,实现开发云原生资源服务化;在基础软件层,腾讯云数据库团队研发打磨出 TDSQL,大幅度提升数据库性能,满足对弹性、高可用性、可扩展性的需求;在研发环节,推出了远程协作的云端 IDE—腾讯云 Cloud Studio,并将WebIDE 与 DevOps 能力打通,连接云上开发资源环境,优化云端开发协作体验;在运维层面,腾讯云监控推出了一体化可观测平台,打通监控产品的数据孤岛,覆盖 App、分布式应用、容器等不同场景,有效提高监控运维效率,并将其观测能力融合到云原生应用管理能力,让技术团队能够充分享受云原生技术红利;腾讯安全团队对传统的开发安全工具进行颠覆式的创新,提供云上数据资产安全防控能力,形成了完善的 DevSecOps 体系建设。
最后,他总结道:“随着科技的不断发展,越来越多的新技术、新工具的出现,研发效能的提升将越来越趋于科学化、智能化,就像最近 AI 爆炸式出现一样,我相信对整个行业发展会带来革命性创新。”
腾讯云研发效能提升及业务实践
腾讯云研发效能提升工作组负责人、腾讯健康副总裁 张渝带来了《腾讯云研发效能提升及业务实践》的主题分享。
他首先分享了腾讯云在研发效能方面遇到的痛点和主要的解决思路。痛点可以归结为三点:标准规范、工具平台和文化宣传。具体而言,在标准规范上,从腾讯云或者再往上一层的角度来看,缺乏更高层次的统一标准和规范;在工具平台上,工具非常多,但没有形成统一的整体;在文化宣传上,希望从管理者到一线员工达成共识,认同研发效能的重要性。
研效提升工作组针对这三个痛点做了很多工作:一是制定统一的标准规范,让大家逐渐收归到推荐的主流标准上来;二是把工具平台做一站式串联,形成一个统一的整个腾讯云共用的研效平台;三是加强宣传引导,让大家共同关注参与。
他用金字塔模型分享了整个腾讯云研效平台的理念和思路。最终的目标是要实现从需求、开发、构建到最终的运维运营,一体式全过程地在研效平台上完成,提升一线研发和运维的幸福感。第一阶段是金字塔最底层各种工具能力的完善,把已有的主流的工具挑选出来,然后去完善其能力,尤其是加强自动化方面。再往上是通过一站式门户把工具串联起来,从需求提出到代码管理再到最后上线发布和监控运维,都在这个平台上完成,这是第二阶段。第三阶段是在此之上实践 DevOps 理念,尤其是从应用视角来贯穿流程。最上层是价值体现,这也是希望研效工作最终达到的目标,也就是希望通过数据度量跟踪,体现所有的研效提升工作确实符合预期,确实按照所设想的轨道往前推进。
之后,他以腾讯医疗业务研发效能实践作为案例,分享了建设过程中的思考。总结下来,在开发域,统一了开发模式、开发规范、自动创建服务的脚手架;在构建域,完善了持续集成,自动化流水线创建,持续集成增加质量门禁,提升构建质量;在测试域,使测试效率明显提升;在部署域,完善了持续发布;在运营域,完善了可观测体系。
最后,他介绍了腾讯云研效工作未来的规划,持续强化项目内部的互联互通是下一步的重点,也希望在整个跨 BG 方面也能进一步提升效率。
研发云原生的效能“奇点”
“云原生”这个词儿大家都不陌生了,那“云原生”和“效能”能碰撞出什么样的火花呢?
Thoughtworks 创新技术总经理、腾讯云 TVP 肖然带来了《研发云原生的效能“奇点”》主题分享。肖老师认为,目前大型研发组织面临的数字化挑战主要有四个方面:研发成本正在飞速上升,只要提高 20% 的生产力,就等于每年减少 1-5 千万美元的研发成本;人才招聘和保留的挑战,稀缺的人才会用脚投票;竞争性和价值实现时间方面,颠覆性企业的历史包袱较少,其发展速度比大多数根深蒂固的市场领导者快 10 倍;可预测性方面,董事会对没有更好的 2-3 年计划成果和一致的时间表感到越来越感沮丧。
他重点讲解了研发云原生管理的六大支柱:价值驱动、融合协作、分布自治、快速响应、质量内建和持续改善。
肖老师提出了三个口号:一是架构上必须狠下工夫,云原生不是让大家把现有的东西直接搬到云容器里面去,这个叫上云,不叫云原生。所以架构上一定要狠下工夫。二是团队一定要价值导向,接下来团队会更加碎片化、更小,但一定要保证价值导向,要不然就会出问题。三是在工程实施上一定要提降本增效。真正想走进云原生,也要提降本增效,不要羞于提,今年如果花 100 万,明年花 90 万就是胜利,这对企业来说就是真金白银。
从Monitor到Observability腾讯云在可观测领域的发展与实践
腾讯云可观测平台技术总监 黄杰带来了题为《从 Monitor 到 Observability,腾讯云在可观测领域的发展与实践》的分享,探讨了如何建立端到端一体化可观测平台,提高监控效率,降低运维工作量。
他首先介绍了可观测性和传统监控的区别。他认为,传统监控主要是解决个体的问题,比如系统是否正常工作,某个服务是否正常,解决的是比较固定的单体问题;而可观测性更多是要解决系统为什么不工作了,原因是什么,是系统性的问题。
在介绍了可观测性的三大支柱—— Metrics、Logging 和 Tracing——之后,他详细讲解了如何构建可观测平台,并介绍了腾讯云一体化可观测平台。
最后黄杰老师做了几点展望,一个是希望可观测性也能标准化,这样数据更标准,处理起来也更方便,业务迁移也很方便;一个是如何为 AI 做好铺垫,让机器帮我们发现业务问题。
构建企业云上开发部署新范式
随着“云原生”的开发模式日渐成为新的行业趋势,将底层云资源和在线开发环境融合的开发工具,将围绕着现代化的流程,重塑新的开发范式。腾讯云 Cloud Studio 产品总监 汪晟杰带来的分享是《构建企业云上开发部署新范式》。
他认为,企业级云端开发环境的契机是降本增效背景下的开发模式变革,云端开发环境(Cloud Development Environment)则是利用云上快捷弹性的资源能力,进行云上开发到测试的新开发模式。它基于容器隔离性,与企业内的研发规范流程结合,赋能企业开发及管理者,优化并控制研发成本。
云端开发环境可以带来四个方面的价值:提效,开发一键运行,利用云计算的弹性这个优势,需要什么资源就启动什么资源;提高生产力,通过容器化方式并行工作;可以紧密结合 DevOps;有利于监管开发资源,降低成本。
弹性是云端开发环境的优势之一,另一个优势是,可以做到云上代码不落地。
有些企业更多地希望代码是一个企业的资产,不要进入本地电脑,希望云端开发环境有较高的安全要求。而腾讯云的 Cloud Studio 也发布了这样的功能,如数字水印,还有一些加密手段,容器化存储云端开发环境的代码会经过最高级别的加密。
云端开发环境也带来了云上协同开发、协同排查的新工作模式。在 Cloud Studio 中,大家进入同一个工作空间,启动多光标,这里也用了很多文档的概念,用到了代码跟随。同时也做了终端跟随,需要调试终端的问题时,就定位到这个地方,另一个人就收到了,我这里碰到了问题,可以让别人帮我解决一下。还有留言板等功能。也可以做架构讨论、评审。
汪晟杰老师还介绍了云端开发环境的一些解决方案,比如 Cloud Studio 可以直接赋能移动开发生态,以小程序为例,它可以快速拉起小程序所有环境,依赖包,同时进行预览,直接发布到多端的小程序生态。像教学、面试等场景,都可以为目标人群直接拉起一个开发环境。结合最近大火的 ChatGPT,他认为 AI 会进一步赋能云端开发环境,未来可期!
从推动到拉动——软件研发效能的第一性原理
研发效能问题的本质是什么?如何实现高效的研发管理,保障产品的交付效率与质量?Agilean 首席顾问、腾讯云 TVP 吴穹带来了题为《从推动到拉动——软件研发效能的第一性原理》。
吴穹老师开宗明义,介绍了什么是软件效能的第一性原理——就是我们在思考效能这个问题的时候,我们的思考点是什么,问题从哪儿来,用什么方式解决。
软件研发效能低下的根本原因是什么?吴穹老师认为是拥堵——在拥堵状态下,大多数改进措施都会收效甚微。拥堵的特征是动得少,停的多,伴随着低流动效率和高资源饱和度。在拥堵的场景下,团队通常被迫采用多任务并行的方式,而高并发下的任务切换往往也伴随着极大的效能损耗。所以研发效能改进的关键,就是要减少并行和等待,加速交付。
接下来,他分析了拥堵的成因:一个是推动式流程的限期排期机制,一个是滥用推动式工作流。限期排期机制下,需求插队频发、排期紧张,导致研发团队工作节奏混乱,研发团队在“救火”工作中疲于奔命;使用推动式工作流中,存在产能瓶颈的节点很快就会被上游移交的工作项填满,处于瓶颈点的员工将面对巨大的工作量和交付压力。
在解决拥堵的问题上,我们可以运用精益思想的拉动理念,建立拉动式的价值流。让研发流程中的瓶颈点能建立起自己的交付节奏,使得研发工作能更高效、有序地通过瓶颈点,从而解决拥堵、提升交付团队的整体交付速度和交付质量。
吴穹老师最后总结道:“通过需求前置时间和流动效率识别团队拥堵程度;实施需求优选和版本火车建立拉动式研发流程;使用看板透明研发过程、促进需求流动。研发团队可参考这样的实施路径缓解研发过程的拥堵,实现研发效能的全局优化。”
Platform Engineering平台工程:基于云原生Serverless打造极致研效
Serverless 技术具有降低开发成本、按需自动扩缩容、免运维等诸多优势,已经大量被开发者使用,来实现更快地构建云上应用。Serverless 将如何打造面向未来的应用研发交付体系和用云体验呢?腾讯云函数产品负责人 何世友分享了《Platform Engineering 平台工程:基于云原生 Serverless 打造极致研效》。
分享中提到,Serverless 架构市场规模持续增长,腾讯云也打造了内容丰富的 Serverless 产品矩阵。
Serverless 架构市场规模持续增长,函数 SCF 已累计服务 200 万开发者,次日均调用量超过 300 亿。何老师还详细介绍了用 Serverless 产品打造的满足企业和开发者需求的研运平台。
他在分享中总结道:“我们更加关注,接下来以十年为期看,这个中间的过程,特别是现在有很多走上了跨云、混合云、IDC 和云上云下拉通这样的组合方案,怎么把先进的开发体验引入到企业里面去。所以我们在尝试走另外一条路,这个路是在兼容企业的诉求,和企业里面开发者的诉求,整合到一起,达到满足企业的成本、预算、管理的诉求,同时满足开发者极致的开发需求,这样一个整体的方案。”
腾讯开发安全DevSecOps落地实践分享
在向 DevOps 转型的过程中,传统的开发安全工具在 DevOps 模式下遇到了非常大的挑战。如何建设完善的 DevSecOps 的体系,保障云上安全防控能力呢?腾讯云开发安全高级解决方案架构师 刘现磊带来了题为《腾讯开发安全 DevSecOps 落地实践分享》的演讲。
缺陷是天生的,漏洞是必然的,代码自身安全是安全的基础。刘现磊老师首先分析了安全问题的一些原因。在过去两年当中,开发安全的整个过程出现了一些新问题,比如供应链的问题,像采购的外部供应商供应链的问题,像构建阶段引入的第三方开发组件的问题,等等。
研发模式演进到DevOps,需要新的应用安全开发建设。DevSecOps 的思路是让安全左移:安全介入越早,漏洞修复成本越低。
他回顾了腾讯 DevSecOps 建设的几个阶段:从外及里,由点到面,从解决问题到讲究效率。
刘现磊老师总结说,安全虽然是古老的命题,有二十多年的发展过程,但是开发安全在新场景、新模式、新威胁面前,针对这些安全问题,腾讯经历了切肤之痛,最后发现用我们这种工具,才能更符合当下人们在 DevSecOps 模式下的开发模式。
新一代云原生数据库技术解析与最佳实践
在云计算时代,由于对弹性、高可用性、可扩展性的需求以及来自不同业务领域的应用程序对按需使用的需求增长,云原生数据库变得越来越重要。腾讯云数据库产品总监 刘迪分享了《新一代云原生数据库技术解析与最佳实践》。
他在分享中介绍了腾讯云原生数据库的核心技术。首先是云原生的软件设计,计算和存储分离,把计算节点和存储节点完全独立解耦部署,使得计算节点完全无状态,其高可用和高可靠性会比传统数据库好得多。其次是自研的数据库内核——企业级定制内核 TXSQL,在内核层面做了很多企业级特性、性能加速、数据安全等的工作, 列举了近期发布的并行计算框架,针对复杂查询, 较传统数据库加速比能够到 20。第三是在软硬结合上做了大量优化,通过 RDMA 网络升级、编译器优化以及持久化内存实现的二级缓存能力, 可以提升将 2 倍以上的数据库性能。第四就是在探索 AI 的集成,实现了“无人驾驶”的数据库自治以及基于深度强化学习算法的 AI 智能调参, 进一步提升云原生数据库的稳定性和性能上限。
刘迪老师还分享了三个案例:瑞幸咖啡把交易系统、商城点单核心系统全部替换成了云原生数据库后,再遇到爆品点单场景时,云原生数据库在达到了一定的负载后可以进行自动的秒级弹性处理;blued 在迁移到云原生数据库之后,延迟下降了 80%,比原先单独跑延迟更低,解决了性能和运维复杂度问题;最后结合新一代 Serverless 架构在海量微信小程序后台的应用案例,凸显了 Serverless 技术通过云原生数据库的底层架构的实现,可为用户实现自弹性、自扩展能力,帮助用户降低数据库使用成本超 80%。
圆桌对话:从管理到工具,提质增效全流程放送
在精彩的分享环节结束之后,峰会进入了思想交锋、观点碰撞的圆桌论坛。圆桌环节的主题是《从管理到工具,提质增效全流程》。该环节仍由黄道泳老师主持,吴穹、何世友、汪晟杰和腾讯云可观测平台产品总监 赵九州四位嘉宾参与了交流。
在如何理解研发效能本质的问题上,何世友老师表示,研发效能强调的是整体从项目立项到最终上线,以及后续的迭代,有一个闭环的流水线,而且是一个永远在迭代螺旋上升的循环。让每个角色都待在专长领域专注核心工作,找到薄弱环节并把最薄弱环节做得高效,整个链路就会更高效。
在讨论可观测性如何助力研发效能时,赵九州老师打了个比方,研发效能是为了更好地帮助公司抵达目的地,可观测性就是导航,二者密不可分。具体可以体现在三个方面:帮助研发过程中更好地故障排查和预防、帮助研发效能做更好的度量与规划、有助于提升跟运维部门的合作效率。腾讯云的可观测平台包含了压测、多测、性能监控等多个功能,能在用户层面观测卡顿、崩溃等性能问题;还可以通过分析日志、链路、指标等相关数据,帮助软件定位故障与缺陷,并通过历史数据分析,预测潜在风险,发现资源利用率改进点。
在被讨论效能治理如何避免效率竖井,把各个单点能力横向集成拉通实现全局优化时,汪晟杰老师从公司层面进行了分析,公司最重要的就是信息价值流的上通下达问题。首先需要一个统一的视角,让整体架构变得更上通下达;其次要有很好的价值流,所谓价值流就是数据,需要定义好全局观,定义好数据模型。在系统很难做到大局观的情况下,就要看自己能赋能给企业的是什么,能给其它团队增加多少能力,从而让整个业务和价值流、企业文化变得更好。
在讨论不同的阶段敏捷项目实践会有哪些致命的误区时,吴穹老师提出,敏捷实践最大的误区是照搬别人的经验,不会客观分析自己的状况,制定适合自己的演进方式。每个组织的要求不一样,比如你现在业务主要问题是不能快速执行,所以这时候虽然你们还不够创新,但我们可能会觉得这个不是你的短期重点,一个组织不能把所有地方都做到了,那是不存在的,成本也受不了。
研发效能治理过程中会遇到重重阻碍,比如利益冲突、基础设施不完善、团队认知甚至管理层认知不够。在共同讨论环节,各位嘉宾针对研效治理应该管理制度先行还是平台工具先行,中小企业如何提升研效等问题分享了各自的见解。
汪晟杰老师认为应该平台先行。永远不要指望老板比员工先领会到细节,在研发效能上,老板更关注成本效益。平台先行之后,做出一个最佳实践,或者有数字来证明你提高了多少,老板才愿意为你买单。
何世友老师则认为管理需要先行,但平台工具比重会更大。管理上要尽可能轻、尽可能薄,只管核心,只定基础的开发规范和流程,不涉及管人,不牵扯绩效,更多是作为一种牵引,让大家达成协作。最终还是依赖工具去帮你执行,让工程师尽量有自动化的流程。
吴穹老师认为,未来的趋势是会加强管理,同时也会借助工具。所有的组织都是要管理的,互联网以前不太注重管理,但未来三年会是强管理的三年。要有效能,首先要有数据,有数据有基线才好做管理。基线怎么来?这里就体现出工具的重要性了,没有工具很难做到规模化的管理,所以肯定会越来越多地借助 SaaS 化的、公有云的工具,自研的工具会越来越少。要格外避免用做工具来代替做管理。
赵九州老师认为要看公司性质,小公司搞管理,大公司搞工具。人是不可控的,在大公司或复杂的组织里面,通过管理驱动人来做太低效,需要靠工具、平台来做管理。在规模不大的创业公司或技术型公司,可能还是要从管理发力,用一些满足实际业务需要的基础版工具/服务就足够了。市面上很多云厂商,也在提供相应的能力,做中小企业的定向扶持,很多工具都可以使用,不要浪费精力自研。赵老师还举了团队前段时间跟腾讯会议合作的例子,异地程序员们开着腾讯会议投屏改代码,面向会议做持续的编程和研效沟通。
主持人黄道泳老师总结道,工具先行还是制度先行不能一概而论,要看每个人所处的环境。大公司要搞管理的成本很高,要变革很多人的工作行为模式,是需要极高的权限或者共识,所以可能走工具会更容易出成果。如果是小团队,做工具成本太高,而管理的收益更快,可能大家开个会,同步一下,培训一两次就解决了,大团队不是那么容易达成共识的。这也需要每位开发者,根据自己所处的环境来判断,哪个先行都要按照自己的实际业务来。
结语
技术火花频出,思想碰撞迭起的交流盛会总是让人留恋,在与会者的掌声之中,本次峰会落下了帷幕。本次峰会内容丰富,十一位专家就云原生如何驱动研发效能加速变革分享了真知灼见,有理念,有实践,有方法,有工具,有高屋建瓴的方法论,也有可以落地实操的工具,更有功能丰富的云功能。我们从专家的分享中能感受到云原生给研发效能带来的深刻变革,也能从他们的言谈中感受到 AI 技术会如何进一步变革我们的研发流程。希望本次峰会的精彩内容能给大家带来点滴启发,推动所在技术团队的研发效能变革。
未来已来, Techo TVP 开发者峰会将与企业和开发者一路同行!