上海品茶

您的当前位置:上海品茶 > 报告分类 > PDF报告下载

张廷进-SRE驱动的研发工业化改造-脱敏版.pdf

编号:122062 PDF 33页 4.07MB 下载积分:VIP专享
下载报告请您先登录!

张廷进-SRE驱动的研发工业化改造-脱敏版.pdf

1、SRE驱动的研发工业化改造张廷进 IEG自硏游戏SRE负责人2010年加入腾讯,先后担任欢乐斗地主、和平精英等数十款等业务技术运营负责人;2021年,负责以SRE理论驱动研发效能提升相关工作;游戏特点及研发可用性定义SRE在游戏研发工业化的实践SRE在游戏研发全球化的探索游戏研发特点及研发可用性定义游戏 VS 传统互联网应用代码仓库大:除代码文件外,含大量的资源文件,尤为关注代码仓库性能,使用多元化,git/svn/P4独立或者组合使用,尤其P4在游戏行业中大量使用(海外标配),构建耗时长:普通互联网应用安装包普遍在500M以内,单次构建在30分钟以内,游戏安装包和资源文件加起来一般可达5G-

2、20G以上,客户端包单次构建耗时需要2-5H左右;构建频率以日构建为主:一般以每日转测为频率,研发提效主要解决的就是日构建各个环节的效率问题,普通互联网由于构建耗时短,可以有更灵活和更高频的构建频率;123游戏特点游戏研发可用性定义保障研发环境可靠性CICDCO保障生产环境可靠性以SRE理论驱动研发可用性建设,提升研发管线的工业化水平,确保版本能够按正常周期迭代;SRE在游戏研发工业化的实践常见游戏研发版本管理模式常见游戏研发分支主干分支热更分支运营分支特性分支修复分支主干分支为游戏版本核心方向,一般是实时构建,每日转测;针对较大的特性,单独拉取特性分支进行开发,择机合并至主干;主干分支dai

3、lybuild为最高频研发场景,是需要优先解决的;何为可靠的日构建?满足版本迭代周期要求,每天都可以构建出供次日进行功能验证的产物;游戏研发可靠性标准代码提交持续集成制品库手机引擎PC服务器程序代码库可用性标准1.速度快2.不卡顿3.容灾能力构建可用性标准1.成功率高2.耗时短开发测试策划美术PM服务器客户端制品分发代码仓库蓝盾构建制品产物制品可用性标准1.下载速度快2.下载成功率高故障联调云debug1.满足版本迭代周期要求2.CI全流程可观测制品分发可用性标准1.部署自动化率高,人工参与时间低2.部署成功率高;数据驱动的优化改造(优化之前,可观测先行)数据采集数据清洗数据计算数据展示优化实

4、践仓库管理员客户端开发SRE引擎开发蓝鲸监控仪表盘AnalyticsBKBASE蓝盾节点数据构建脚本埋点代码仓库日志其他研发数据游戏研发可靠性可观测能力建设(以构建为例)1.对构建的脚本进行的大量的埋点,将编译的每个子步骤的耗时、功能开关等信息上报,及时发现任意环节的异常;2.支持告警配置,可及时感知流水线总体/cook环节的耗时异常;原模式:未建立CI可观测能力,构建耗时粒度粗,优化无从下手优化后:建设可观测能力,对构建过程分解,可及时发现任意子环节的异常,并针对性优化游戏研发可靠性管线能力总览需求P4管控工具 需求与代码关联行云能力管线运转流程数字资产开发开发自测代码开发 内容生产提效仓库

5、提交 质量检查 拉取效率/卡顿率 安全容灾prebuild/动态编译检查工作流 prebuild预编译锁库 便捷的解锁库工具P4-TAPDP4管控系统p4一键解锁库 P4管控系统 p4一键解锁库客户端构建服务器构建部署TBS 构建成功率(客户端)构建时长(客户端)测试 客户端apk/ipa包/UE引擎安装效率日构建工作流 通过日构建工作流,批量管控手机&PC,自动安装游戏包&UE引擎&PC包,每日可为日构建迭代效率提升0.5H云debug 实时协同定位故障云debug工作流 通过云debug解决开发测试跨区域办公复杂故障协同定位效率需求层PM开发/美术开发/美术PMPM/构建管理员/前后台开发

6、测试/策划/客户端开发测试/策划/客户端开发9:00-17:0017:0017:00-Day2 08:00Day2 09:30007多场景需求分层、运转提效协作模式实践、业务需求驱动工具赋能持续高效交付转化构建机集群代码仓库(P4)可用性现状每日早晨,开发人员到岗第一件事情便是拉取昨日成功构建的最新代码,因此,研发可用性提升的第一步就是代码仓库的可用性提升;P4为游戏行业使用频率比较高的代码管理工具,但缺乏配套的管理工具;仓库大用户多拉取频繁使用不规范备份不完善和tapd无关联多地使用权限管理难每日卡顿2次代码仓库可用性提升:卡顿优化软件解决方案-1.连接分析-行云P4连

7、接分析功能,分析拉取规律:例如目录深度、文件大小、拉取周期规律等,对症下药;支持按拉取时长、总连接数等设置告警;-2.减少非必要拉取;行云开发权限管理功能,方便PM和仓库管理员对仓库进行精细化管理,避免过大的权限造成大量非必要拉取;-3.减少非必要存放;行云开发文件分析功能,驱动项目合理设置超大文件的保存周期和使用策略,对于非必要放代码仓库的文件移除仓库-4.集群化部署-由主备模式改为集群化部署方式(proxy模式或者edge模式),冷热数据分离,proxy配置只缓存最近常用分支;-5.边缘部署office区域建设加速机房,commit server存在在开发机房,proxy存放在office

8、区域,减少网络传输距离损耗;-6.预分发能力对于部分可预分发的大文件,在凌晨用户使用低峰期进行预分发,减少日间代码仓库的拉取压力;提升效果:每日卡顿2次0次代码仓库可用性提升:容灾优化1元数据23多副本流水审计元数据自动备份,一键恢复;(元数据含权限表、用户表、trigger等)服务器使用带有云盘的服务器,多副本特性适合做代码仓库的存储;集群化部署;接入行云P4可支持关键操作的审计(日志采集-清晰-存储落地-审计;)构建可用性提升:耗时分析解决方案软硬协同加快构建过程通过preBuild动态编译提升成功率构建可用性问题分析构建耗时长构建成功率低构建可用性提升:耗时分析3.资源处理优化30%70

9、%代码编译资源处理分布式编译构建机定制逻辑优化2.构建机 1.1.需需满足成本、效率、持续供满足成本、效率、持续供 2.2.高配构建机核数多,高配构建机核数多,IOIO强,可同时提效代码和资源编译;强,可同时提效代码和资源编译;1.代码编译 蓝鲸蓝鲸TBSTBS分布式编译方案分布式编译方案构建可用性提升(代码编译):蓝鲸tbs分布式编译1.提速效果代码编译环节提效50%以上,单业务峰值远端算力调用可超过xx核;2.覆盖广度腾讯内部xx+UE业务上线使用;构建可用性提升(资源处理加速):构建机定制构建机定制原则成本性能量产化能力10+机型评测Benchmark真实工程构建实测关注不同游戏引擎的差

10、异化诉求1.形成标准2.可持续供给3.跨业务复用4.调试便捷性(是否有显卡诉求等)单机成本在业务可接受的范围1款UE定制机+1款Unity定制机综合提效:资源处理提效50%以上目前xx款业务已经上线xx+台的定制构建机构建可用性提升:构建成功率提升VS静态代码检查:在程序运行或编译之前的检查,包括语法错误,类名,函数名错误,参数数目错误,返回值类型错误等待;动态编译检查:在程序运行编译时的检查,程序静态检查通过不代表一定能够编译出可运行程序,通过动态检查后再进行代码合流,可提升日构建的成功率;构建成功率提升背景介绍代码合流本机不编译直接提交仓库编译编译编译构建管理员联系代码异常人员开发A开发B

11、开发C少数影响多数人工执行检查容易遗漏影响版本出包和迭代效率熬夜等构建,非必要加班本地编译卡顿因为部分开发未执行本地动态编译检查,经常导致出版时间变长,甚至日构建第二天都无法出包;提交仓库前必须个人编译通过50人的团队,必须靠技术手段prebuild动态编译检查构建可用性提升:preBuild方案细节存储计算分离30+%Hook机制避免遗漏主要亮点不影响开发体验1.成本节约,无需一人一机;2.数百G workspace秒级同步避免原模式分配新编译机的数百G文件同步支持Git/P4/SVN仓库支持按文件类型触发(例如lua无需触发)不阻塞提交不消耗本机算力构建异常企业微信通知失败详情prebui

12、ldSvr1prebuild负载调度5.编译构建:在preSvr1启动蓝盾流水线进行编译构建(preSvr1也可以接入tbs算力)prebuildSvr2prebuildSvr3prebuild负载调度4.代码同步:userA用户本地的workspaceA代码差量同步到cbs个人目录CBS_userA_workspaceA2.编译机分配:调度算法分配prebuild构建服务器prebuildSvrA3.云盘挂载:根据初始化生成的存储映射表,将cbs个人工作空间目录CBS_userA_workspaceA漂移到prebuildSvr1上,如果无映射,则临时分配并将映射存入dbCBS_userA_

13、workspaceA6.结果企微通知&云盘复位:编译完成后,将编译结果通过企微的方式同时用户,然后将cbs目录CBS_userA_workspaceA从prebuildSvrA摘除挪回cbs的宿主机A进行挂载;收益:1.保障所有开发人员提交代码仓库的代码都经过了本机编译正确性检查;2.代码合流后,构建成功率提升30%以上;1.Hook代码提交prebuild执行Cbs挂载宿主机交付可用性提升:制品预分发与部署(mobile)原模式:几十个测试/pm/开发,根据不同的用途,安装不同用途包,单用户耗时约0.5H9:00 手动点击蓝盾或url安装9:15 9:30 安装多个资源更新包现模式:构建管理

14、员根据不同设备关联差异化的流水线,夜间自动化安装apk和资源包,第二日到岗即可开测;功能测试组客户端开发组性能测试组流水线流水线流水线9:00 17:00-凌晨方案收益 安装后占用存储空间约安装后占用存储空间约10G10G的游戏,单人单用户每次节约的游戏,单人单用户每次节约3030分钟以上分钟以上;目前在腾讯多款游戏累计已经实现;目前在腾讯多款游戏累计已经实现xxxx次以上的安装次以上的安装交付可用性提升:制品预分发与部署(PC&引擎)客户端组DS开发组美术组设备分组(仅首次需要),组为任务下发的最小单元,构建管理员可以给不同组安装不同引擎;Day 1:18:00-21:00 云部署任务下发(

15、以设备组为单位)&执行角色:客户端、战斗、美术winclientwinclientwinclient行云Saas行云后台winclientDay 2:9:00 到岗可以直接使用UE编译机开发游戏逻辑代码拉取引擎编译蓝盾制品拉取构建机引擎编译行云后台winclient收益:1.节约每日研发人员UE引擎译时间;2.夜间低峰期运行,降低日间代码仓库压力;总结交付:套件部署 2H-5min终端包&引擎安装 0.5H-0调试:单次调试0.5H-0月均使用50次+Daily build:综合提效50%综合收益仓库:卡顿2次/日-0次/日构建:提效40%prebuild:构建成功率提升30%SRE在游戏研发

16、全球化探索游戏全球化研发的背景游戏品质要求玩家对更高品质游戏内容量的需求增长,需要全球多地区合作研发与创意融合;海外市场空间海外游戏具备很大的市场空间可拓展;提升技术竞争力参与国际化的技术合作,提升研发水平;怎么做?如何做好全球化的游戏研发工业化管线,提升全球研发协助效率腾讯的海外研发模式介绍国内海外CO-DEV海外一方独立研发研发团队兼有国内和海外团队研发团队全为海外团队,对构建工具的选型有更高的标准;可复用国内构建环境,流水线由国内研发配置和维护,交付构建产物到海外开发环境独立,以公有云构建研发环境,和国内的纯内网研发模式有较大区别,不可复用国内流水线;核心痛点和诉求:制品库全球加速核心痛

17、点和诉求:依托海外研发网络基础设施独立搭建构建管线VS加强核心能力,适配海外研发习惯海外BK-CI(蓝盾)核心能力构建01.稳定性国内日构建数十万,稳定性经受考验;02.生态丰富海量插件,与数万开发者共建研效生态;03.极致服务速度响应需求,建立信任关系;国内04.贴近用户基于公有云构建能力,贴近用户,基于PrivateLink等措施打通用户网络;05.本地化翻译pipeline及海外使用到的插件进行本地化翻译;06.差异化支持针对海外研发人员需求和文化差异,对关键诉求进行定制化开发支持;国内多年沉淀,稳定性不断打磨;针对海外做差异化的适配;国内海外合研:全球研发制品加速 不同业务有不同的海外

18、分布,蓝盾制品库加速支持业务根据海外研发地域的差异化分布按需配置同步策略蓝盾制品库(国内)蒙特利尔制品库制品按需配置自动同步地域蓝盾构建流水线硅谷制品库新加坡制品库其他城市制品库制品库收发模块同步策略配置制品库收发模块制品库收发模块制品库收发模块制品库收发模块海外一方研发构建管线搭建部署蒙特利尔洛杉矶硅谷新加坡东京BK-CI CenterBK-CI EdgeBK-CI EdgeBK-CI EdgeBK-CI Edge-BK-CI center:负责Pipeline的创建执行等核心逻辑-BK-CI edge:与用户构建机就近部署,负责制品下载、代码拉取等就近服务 BK-CI以蒙特利尔为center,以新加坡、硅谷、东京等地为edge节点的多点、多云覆盖,最终实现多地构建,全球分发的协同研发模式;海外AWS独立部署,与国内完全隔离,满足业务隔离性的要求;SRE岗位参与研发可用性建设的优势1.贴近用户2.具备优化意识和自动化的经验3.理论扎实和项目深入融合,更容易挖掘到CI阶段的诉求;多年在CD领域沉淀的经验和工具,CI阶段同样可适用;以SRE的理论为基础,可更加系统化的建设研发可用性的相关系统;以SRE理论指导研发可用性建设,大有可为Thanks开放运维联盟高效运维社区DevOps 时代荣誉出品

友情提示

1、下载报告失败解决办法
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站报告下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。

本文(张廷进-SRE驱动的研发工业化改造-脱敏版.pdf)为本站 (2200) 主动上传,三个皮匠报告文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三个皮匠报告文库(点击联系客服),我们立即给予删除!

温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。
会员购买
客服

专属顾问

商务合作

机构入驻、侵权投诉、商务合作

服务号

三个皮匠报告官方公众号

回到顶部