Redian新闻
>
让开发人员all in IDE!工商银行沉浸式研发体系建设实践

让开发人员all in IDE!工商银行沉浸式研发体系建设实践

科技

作者 | 工行软开中心
前   言

什么是沉浸式研发?可能很多人都没听说过这个名词,我们不妨从一次数据调研的结果开始讲起。在不久之前的一次一线开发人员每日编码时长的数据调研中,我们惊讶地发现,每个编码人员一天中使用 IDE 的平均时长只有不到两小时,与我们的预期有较大的差距。因此我们对这些开发人员的一天投入时间分布展开了深入调研,调研发现身为编码人员,除了在 IDE 中编码,其他需要投入时间的工作包括:找软需、查历史资产、查接口文档、查表结构、执行测试案例、模拟器调试接口...... 这些工作似乎都是研发的必要环节,但零散的产品导致编码人员“来回奔波”于各个系统之间,减少了编码人员真正用于编写代码的时间。而沉浸式研发的目标就是让研发人员无需关注基础设施,而能够更专注于代码本身。

业界现状

随着云原生和 Kubernetes 的普及,应用架构在横向及纵向不断扩大和调整,微服务的数量变得越来越多,为保证研发质量,业界致力于提供微服务应用在开发、测试和生产阶段的一致性环境。现有 DevOps 流水线通过编译、打包、推送、部署等操作,降低了系统的运维成本,但是由于无法快速启动完整的开发环境、无法去除上下游的依赖、无法快速调试微服务等问题,导致开发阶段需要快速验证、快速反馈的诉求很难得到满足。2020 年腾讯 CODING 团队发布了自主研发的 Nocalhost,实现本地 IDE 和云端开发环境相互连接,无需运行 docker build 构建镜像和重新部署工作负载,开发者仅需在本地修改要开发的微服务代码并保存后,即可在云端开发环境中验证,可以实现本地开发代码实时生效和调试,有效缩短开发循环反馈。

为了降低开发人员的开发门槛,让开发人员更快、更准确地完成需求,业界以 IDE 为中心,通过集成 DevOps 研发辅助工具,打通需求、设计、研发、部署全流程,为开发人员提供一站式研发辅助生态。

工行金融科技研发体系痛点

业界不断探索如何提升“研发效能”的同时,工商银行金融科技也在积极尝试形成一套属于自己的高效研发体系,目前行内比较共性的研发痛点如下:

资产布局分散: 为了给开发人员赋能,行内积累了一系列标准资产、标准代码和标准工具,但是也引发了资产布局分散的问题,软需、应用信息、接口服务文档、表结构等资产均需要在不同系统获取,而应用资产则会出现在社区、共享盘、云文档甚至个人本地电脑、邮箱,各种资产无法形成合力给开发人员赋能,也导致开发人员在使用过程中需频繁切换和被打断,严重影响研发效能。

资产孤岛现象严重:各应用间的标准资产自建与隔离,造成标准资产重复建设、过时资产再次建设等资源浪费,且开发人员无统一、便利渠道检索和参考其他应用资源。打通应用、部门甚至基地间的资产孤岛,是推进资产标准化、提高资产复用率、推进低代码建设的必要一环。

研发自测困难:个人开发环境无专人维护,功能环境欠稳定且受部署时间限制,开发人员无法随时完成对代码的快速迭代,导致不少时间浪费在等待上,一套可定制的标准自测环境成为了开发人员可望不可及的梦想,也成为了提高研发质量的主要瓶颈之一。

研发断点严重:综合上述系统多、资产检索难、自测环境差等问题,研发人员需要在系统间来回切换与等待,基础设施的依赖度极高,导致投入实际编码的时间不足工作时长的 1/3。如何针对性降低日常研发断点、提高编码人员沉浸式研发时长,是提高产能的关键一环。

沉浸式研发构想与落地

对比业界实践,结合我行研发流程,我们从编码辅助、自测环境供给以及打通 DevOps 研发流程出发尝试建设一站式 IDE,避免开发人员不断被各种工具打断,实现“沉浸式”研发。

一、资产辅助一键触达

以开发人员研发 IDE 为触点,通过可扩展插件方式提供研发辅助资产快速检索、不同 IDE 间和系统间资产共享、资产一键引入、代码规范扫描等一系列能力,为研发人员提供统一、便利的交互入口,形成合力对开发人员赋能。

在资产检索功能上,为契合程序员操作习惯,以极简的界面为开发人员提供基于关键字、主题标签检索标准资产的功能;同时为提高检索效率,搜索引擎采用 Elasticsearch,IDE 内毫秒级获取相关资产,最大程度节约无效检索的时间。在标准资产共享上,为了做好资产管理,用中心级、基地级、部门级、应用级四个等级区分资产的适用范围,规范资产定级;用资产类型、资产所属大类、小类等标签区分资产适用场景,规范资产分类;由各级别资产审核人严格审核,确保资产质量。

二、研发流程一站贯通

打通研发工具和流水线,自测完成自动提交构建流水线进行质量守护,从而为开发人员提供详细设计、编码、单元测试、自测、部署五个研发阶段的沉浸式开发体验,无需频繁切换不同支撑系统,打断研发流程,有效提升 DevOps 研发运维一体化能力水平。

详细设计:通过打通与各个研发管理系统的壁垒,IDE 内一键查询开发设计阶段所需的服务 /API 接口文档,无需系统间来回切换。编码:通过代码补全、标准化代码模板等工具辅助,无需再去各个系统检索资产,提高研发效率。

单元测试:通过嵌入单元测试覆盖率检测、MOCK 等工具,IDE 内快速完成单元测试,提高代码质量守护能力。

自测:通过接口模拟测试、本地提交构建流水线预检、云测试环境创建工具嵌入,IDE 内完成自测,降低自测门槛,提高自测质量。

部署:通过 git 插件提交代码入库,入库后在通过 VCDS 接口触发流水线。提供代码的全流程视图,方便跟踪代码。

三、云端实时自测验证
1、环境搭建

实现为开发人员快速提供云原生自测子环境能力,以稳态环境为基础,提供环境快速复制能力,开发者可以低成本建立不同的子环境,编码完成后通过本地插件快速同步到云端开发环境,快速部署,快速验证,在子环境中开发、变更目标服务,子环境与基准环境的服务交互实现联调,从传统编译、打包、推送、部署、调用、修改的六步骤转为编译、调用、修改的三步骤秒级程序循环验证反馈模式,有效提高开发自测环境的稳定性和验证效率。

基于 PaaS 的 K8s 集群和云管平台,搭建开发自测环境的 K8s 集群和云管平台,通过 IDE 直连 K8s 集群,形成开发环境预分配、随用随申请、用完即销毁的机制。制作开发基础镜像,实现容器内编译打包部署,减少部署等待时长,提升自测验证速度。

K8s 集群:由 PaaS 云平台提供自测环境的 K8s 集群。

云管平台:基于 PaaS 云管平台,实现自测环境 Pod 的的集中管理,包括开发容器的创建、监控和销毁等功能。

IDE 插件:适配目前主流的 IDE,通过配置集群信息连接 K8s 集群,完成开发容器的配置、申请和销毁功能。

开发基础镜像:制作适配行内主流开发环境的基础镜像。

2、自测流程

基于全链路路由机制,实现请求自由发送到特色自测环境:

特色标签:根据开发人员个人属性,自动生成唯一标签。

流量路由:根据标签路由,基于我行已有 CTP 与 DSF 等框架提供的全链路路由能力转发流量。

默认服务:基准容器提供默认的服务,若未指明标签或者未找到指定的标签,则访问基准容器的服务。

联调测试:开发联调测试过程,启动带有标签 V1 的开发容器,并通知联调方同样使用带有标签 V1 的服务来请求。完成基于开发容器 A(V1)、基准容器 B、开发容器 C(V1)的开发环境联调测试。

结  尾

话题的最后,我们再次表达下我们沉浸式研发体系规划愿景:减少研发断点,提高研发产能?不不不,直白一点,我们最终的愿景是:带你走进沉浸式研发,除非你想,否则你再也不需要离开你的 IDE,即 ALL IN IDE !

今日好文推荐

重磅!阿里开源自研高性能核心搜索引擎Havenask

程序员离职后为泄私愤远程锁公司服务器硬盘;前程无忧宣传语嘲讽“996”职场人;Twitter 开源工作停摆| Q资讯

再不重视软件开发工具就晚了

“睡车间”、削减一切,马斯克为SpaceX定制的文化,不能照搬到互联网公司

微信扫码关注该文公众号作者

戳这里提交新闻线索和高质量文章给我们。
相关阅读
DPOHUB何谈第4期 | 张达音:中小企业合规管理体系建设之探索 | 总第30期2022傅雷翻译出版奖获奖者揭晓 Le palmarès du Prix Fu Lei 2022 dévoilé因合规问题导致关停!民营医疗机构广告合规体系建设刻不容缓工商银行总行原高管被查代码配对时新开发人员必备技能探索文化与金融跨界融合发展,上海报业集团与工商银行上海市分行达成战略合作guochan,女,中山大学博士,研发人员(事业编),月入1.5万,90年,高153,广州天河我刷故我在工商银行(加拿大)限时优惠!房贷利率5.4%!活期利率高达4.5%!和你一起抗通胀工商银行十年磨砺:建成同业最大规模云计算平台,既要开源又得可控加息不断!中国工商银行(加拿大)优惠房贷、高息活期和GIC!带你抗通胀开发人员必看!三大技术维度对比Solana与Polygon当UI框架遇到JavaScript开发人员惨!悉尼女子确诊新冠后当天去世!才39岁!白发人送黑发人!亲人悲痛欲绝!《最后的诗歌》: 11: 早晨在那边眨眼摩洛哥十日游之一,被代表中国游客中国工商银行基于eBPF技术的云原生可观测图谱探索与实践求职干货 | 瑞穗银行、招商银行等2023校招已开!海归求职:银行(管培生)中央企业合规管理体系建设,如何才能有效落地?内资银行|招商银行系统研发实习岗正在热招中!初级开发人员真的没用吗?市场监管总局办公厅《关于推进​诚信计量体系建设的指导意见》炼石网络:全国一体化政务大数据体系建设指南覆盖数万研发人员,字节跳动首次公开效能度量核心技术!上海最高纪录同时有四个全国甲级队中国工商银行应用流量防护实践Linus Torvalds 致内核开发人员:在截止日前收到相当多 pull 请求“非常烦人”未央播报 | 六部门发文加大对小微企业贷款延期还本付息支持力度 社会信用体系建设法公开征求意见关于现代职业教育体系建设改革,中央最新部署直播预约 | 彭凯:数据合规体系建设的策略选择与重难点关注 | DPOHUB何谈第10期美好夏天:美丽的安大略湖中办 国办《关于深化现代职业教育体系建设改革的意见》IPO报告期扭亏为盈,生产人员、销售人员、研发人员数量却大幅减少没有研发人员及投入,靠52艘船年入超3亿,这家深圳国资旗下公司冲刺IPO...将19名会计、人事员工计入研发人员,这个创业板IPO的神操作
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。