您的浏览器禁用了JavaScript(一种计算机语言,用以实现您与网页的交互),请解除该禁用,或者联系我们。[中信银行软件开发中心]:DevOps体系下测试环境管理运营及稳定性管理实践 - 发现报告

DevOps体系下测试环境管理运营及稳定性管理实践

AI智能总结
查看更多
DevOps体系下测试环境管理运营及稳定性管理实践

---运营及稳定性管理实践 中 信 银 行软 件 开 发 中 心-倪 雪 思张 翼 飞 个人介绍 倪雪思中信银行软件开发中心测试管理域高级经理 张翼飞中信银行软件开发中心测试管理域测试开发工程师测试环境运维管理工具平台的研发工作负 责 测 试 环 境 规 划 和 管 理 方 面 工 作,推 进 测 试 环 境 管 理 在DevOps体系下结合云原生等新技术进行转型。具有银行业科技条线15年工作经验,其中12年测试环境运维管理经验,3年系统测试经验。 测试管理平台建设工作 测 试 环 境 痛 点 和 挑 战 1 目录 测 试 环 境 规 划 及 运 营 2 CONTENTS 测 试 环 境 稳 定 性 管 理 3 测 试 环 境 管 理 未 来 展 望 4 测试环境痛点和挑战 测试环境痛点和挑战 测试环境痛点和挑战---测试环境现状 测试环境痛点和挑战---造成痛点的因素 三个主要因素 2变更 1资源和规划 3数据 l测试版本发布频繁l配置参数变更频繁l关联系统发布不同步l版本部署时间随意 l重视程度不高l硬件/人力不足l标准体系不完善l环境规划不合理 l测试数据不丰富 l铺底数据准备慢 引发50%环境问题 DevOps模式加剧了这些不稳定因素的发生““ 测试环境痛点和挑战--DevOps模式带来的挑战 测试数据准备敏捷难 DevOps敏捷模式下,测试团队对于测试数据的丰富程度,铺底数据准备速度的要求大幅提高,需要数据敏捷 DevOps模式下研发-测试-投产上线周期大幅缩短,测试团队对于测试环境稳定性、可用性要求提高,环境问题容忍度降低 DevOps模式下的CI/CD,测试环境版本持续部署,频次高,且时间随意,但测试版本是不稳定的版本 DevOps模式下,并行分支增多,对环境套数需求增多,环境规划合理性要求提高,资源占用增多 02 测试环境规划及运营 测试环境的规划及运营---测试环境运营的特点 测试环境的规划及运营---测试环境规划的目标 低维护,高稳定,且具有良好的可扩展性---让环境好用1 低成本,高利用率,想用就有,减少等待---让环境够用2 目标 标准化运行,在测试环境上充分暴露问题---让测试可信3 测试环境的规划及运营---测试环境规划 测试环境的规划及运营---持续运营 测试环境的规划及运营---数据运营 测试铺底数据 l标准化流程的铺底数据申请和准备l敏捷数据管理工具,将数据转换后,进行多副本分钟级快速挂载铺底,支持秒级的快速备份和恢复回退。大幅提高数据的敏捷性和灵活性l覆盖150余个服务,挂载多个测试环境共200余个实例,累计节省存储空间100T以上 l测试数据自动化批量生成工具l已覆盖常用业务系统的480余个交易类型,平均每月申请500余次,自动生成1000余条手工测试数据,上万条自动化测试数据 测试环境的规划及运营---资源运营 例2:资源 资源扩缩容动态调配 CMDB数据采集/加工 l测试环境资源的扩缩容更多是面向于新增测试环境或测试环境使用完毕后的资源回收l将闲置资源根据需求调配到需要资源的测试任务中是常态l通过“需求-申请-评估-扩缩容/动态调配”的标准流程+运维管理工具+CMDB数据更新实现测试资源的灵活高效利用 扩缩容动态调配 l分层管理,分为资产、资源、应用l数据采集和治理,实时性,准确性l测试环境特色的数据加工能力,满足测试环境需求。(如:多环境共用,多系统共用,和资源调配联动的信息更新,简洁流程的信息修改) CMDB 03 测试环境稳定性管理 测试环境的稳定性管理---流水线部署总控 测试版本部署规范化DevOps流水线部署总控 ØDevOps流水线的规则引擎--让流水线有秩序 Ø分层管理--按系统等级、冷热部署、环境类型等分层次多维度策略管理Ø规范化发版部署--依靠事件触发的CI/CD流程,比如移测/需求变更/测试BUG修复等Ø集中部署时间窗口管控--将测试环境必然发生的不稳定集中在固定的时间内Ø同步部署--同一排期/项目中所有关联系统测试版本同步部署,部署后才可触发移测流程Ø所有测试版本部署内容可追溯--修改特性内容/排期或项目编号/BUG编号等 测试环境的稳定性管理---流水线部署总控 测试环境的稳定性管理---质量门禁 流水线版本质量门禁提高版本发布后环境稳定性 Ø制定集成/联调测试准出标准,符合标准方可准出移测,触发测试环境CI/CD 测试环境的稳定性管理---质量门禁 测试环境的稳定性管理---三维一体监控平台 监控告警(可观测性)三维一体监控平台 Ø基础设施状态的监控(宿主机/虚拟机/CPU/内存/磁盘/网络等) Ø单体系统进程及服务状态的监控(应用服务/中间件/数据库等) Ø云原生设施的监控(容器云/微服务/混合持久化组件/分布式组件) Ø交易链路/日志的监控 Ø测试过程的监控(测试进度、测试内容、测试质量等) Ø测试运营的监控(测试过程的规范性及风险) Ø监控情况可视化,告警多渠道通知 Ø监控告警与排期/项目/关联系统/关联交易数据联动 Ø触发应急事件处置流程 Ø测试环境问题分析后,如是BUG,转缺陷处理机制 测试环境的稳定性管理---三维一体监控平台 三维一体监控平台 ü40+项风险预警 ü3W+容器监控 ü2.2W+虚拟机监控 ü90%+有效预警率 ü20+工具及系统支撑 ü5000W交易链路监控 ü环境/交易/性能/日志全监控 ü14种测试环境830个系统 ü故障定位/故障诊断/辅助决策 ü1.3W+排期实施过程监控 ü影响范围/风险评估/风险处置 ü120+监控自动化测试运营指标 G O P S全 球 运 维 大 会2 0 2 3 ·上 海 站 测试环境的稳定性管理---健康保障机制 测试环境问题健康保障机制 Ø结合监控告警和可观测性的能力提前发现问题,及时发现问题 Ø例行化、自动化的环境健康检查,及时主动地发现问题 Ø闭环的改进优化机制 04 测试环境管理未来展望 测试环境管理的未来展望 测试环境的全面可观测性+AIGC=智能化运维01 ü从单体系统到云原生技术的广泛使用(容器,微服务,服务网格,分布式,弹性伸缩),复杂程度大大增加,传统监控的能力很局限,比较被动 ü可观测性让我们随时地了解整个环境系统的任何切面的运行状态 ü测试环境会更高概率地发生新的未知问题 ü处理问题的思路从:已知问题为什么发生,转为面向:未知问题是如何发生的。 ü快速定位并解决问题,及时分析问题根因 可观测性+AIGC,实现智能决策,智能运维,摆脱依赖个人经验技术 ü建设统一可观测性平台,为研发及测试赋能 测试环境管理的未来展望 特性分支敏捷测试环境的管理02 ü实现同一特性分支的上下文快速拉起一套测试环境ü基于云原生+CI/CD+服务网格路由等技术,辅助编排调度工具+接口挡板工具ü未涉及改造的上下文系统自动寻找向下一个版本号的特性分支环境ü多环境逻辑隔离,解决系统同环境争抢,流量清晰ü研发团队自有的敏捷测试环境,可以充分把握版本质量,提高移测质量ü制定全生命周期的使用规则,高效利用有限的测试资源 测试环境管理的未来展望 Serverless架构下的测试环境管理的模式革新03 üServerless(无服务器)是面对研发人员的概念,让研发人员更关注于程序开发 ü对于运维管理,从面向应用系统群转变为面向各类PAAS/BAAS/FAAS平台 ü运维团队的组织架构,技术栈,和运维理念和方法都需要转变 ü对于基础环境设施,运维模式的变化不大 各类PAAS/BAAS/FAAS平台 权限/资源弹性/统一调度 开放运维联盟高效运维社区DevOps时代 荣誉出品