版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、DevOps实践(精简版)目录一DevOps实施思路二DevOps实施效果展示四Q&A三DevOps实施经验总结DevOps理念推进DevOps实施的主要阶段业务人员开发测试人员运维人员 最终用户想法市场计划和需求开发和测试发布和部署反馈和优化持续业务计划和需求分析协作式开发持续测试持续监控持续发布和部署DevOps精益和敏捷原理持续改进、持续反馈、持续优化DevOps实施策略体系建立敏捷提效任务自助内建质量度量改进建立适用于自身特点的DevOps实践体系尽可能清晰定义活动边界、标准组件和标准敏捷开发模式推荐作为DevOps的必选项选择Scrum+KANBAN+XP实践方法构建、部署活动一键执
2、行,可重复保质量持续集成交付(CICD)可非专职人员进行软件构建、部署对接自动化测试代码编写规范和产出率的Sonar扫描代码变更影响分析自动化评估持续集成各环节时长度量持续交付各环节成功率度量代码质量各维度度量根据度量结果进一步优化工作流程123455种核心策略DevOps体系全景图整体流程BACKLOG用户需求用户故事用户故事用户需求用户故事用户故事用户需求用户故事用户故事开发任务测试任务设计任务单元测试验证测试开发任务开发任务BACKLOG障碍问题计划会议:PO主持创建Sprint backlog评审会议:PO主持验收用户故事回顾会议:只有团队成员参与好的、待改进、如何改进看板+每日例会:
3、可视化流程鼓励团队沟通产品backlog:条目化用户故事优先级排序按用户故事组织开发和交付Sprint Backlog:经任务分解和估算的用户故事经设计的测试用例可以迭代完成的周期持续集成:自动化随需的软件构建、静态代码扫描、单元测试、部署任务领取编码&单元测试测试用例&自动化测试脚本集成测试环境准生产环境生产环境开发分支测试分支交付(生产)分支持续集成版本发布集成自动化测试UAT测试应用上线UAT测试组织者缺陷反馈开发测试环境自动化部署执行测试+自动化测试Scrum团队组成:干系人POScrumMaster团队(跨职能,开发,测试等)DevOps平台系统(工具集)用户故事未认领未开始执行中阻
4、塞完成1.需求敏捷 开发模式2.敏捷活动 与看板3.团队4.CICD目录一DevOps实施思路与计划二DevOps实施效果展示四Q&A三DevOps实施经验总结敏捷提效与瀑布流程对比需求提出需求分析功能设计代码开发测试验证发布上线运维监控1-2个月长周期交付无法及时响应需求变化需求从提出到上线反馈时间长1-2周短周期交付快速响应需求变化自动化测试保证质量瀑布式开发敏捷开发敏捷开发CI/CD自动化测试Sonar扫描成果展示敏捷团队与会议敏捷开发CI/CD自动化测试Sonar扫描成果展示建立融合型的敏捷开发团队业务POMaster团队运维提供业务需求及相关素材、负责需求澄清说明及验收确认需求转化拆
5、分为用户故事、面向团队代表客户进行需求跟踪协助团队完成迭代任务、排除团队面临的障碍、确保团队遵守敏捷开发规则根据需求实现迭代承诺并交付、完成迭代开发中的各项工程实践任务在团队实现需求时提出运维建议并在迭代评审时进行确认迭代启动会迭代计划会每日立会迭代评审迭代回顾迭代开始前3天进行,评估分析可以进入迭代的需求范围,后续进行需求分析,时长1小时迭代开始前1天进行,根据完成分析的需求进行迭代任务拆分,估算任务工作量,时长1小时迭代中每天早上9点40分准时开始,团队成员讲述任务完成情况,时长15分钟迭代结束后进行迭代评审,演示并验证交付的需求,展示单元测试和自动化测试结果,时长1小时迭代评审后进行迭代
6、回顾,总结迭代中的经验教训,确定下迭代的改进内容,时长30分钟敏捷管理流程导入用户原始需求拆分用户故事拆分迭代任务每日站立会议燃尽图跟踪敏捷开发CI/CD自动化测试Sonar扫描成果展示敏捷迭代量化数据分析量化数据分析:1.四个迭代,研发产出逐渐增加(按功能点数)2.生产率:超过行业基准(7.2人时/功能点)3.各个迭代在保证产出效率的情况下,增加了自动测试用例覆盖、减少了评审问题和BUG数,产出质量进一步改善4.在各个迭代中,逐渐确认了团队的实际产出能力和合适的故事任务拆分大小原则敏捷活动 每日立会及培训随着敏捷开发的深入实施,为北京移动的开发团队组织了接口自动化测试、UI自动化测试、Son
7、ar违规修改培训3次大规模培训,针对项目现场的特性,在不影响整体开发效率的前提下,个性化的调整了站立会议模式、迭代计划会议估算方法,通过简单易用的App工具来让团队成员快速识别拆分任务,领取任务。在迭代评审中通过实际成果展示,让团队成员可以感性的看到自己的工作成果。通过细化接口自动化测试任务,团队成员可以实现低投入高产出,一次开发长效使用,把自动化测试实施落到了实处。DevOps实施落地 Sonar扫描Sonar效果:1) 阻断级违规: 405 - 202) 严重级违规: 2307-22913) 代码变更行数: 190 - 360+敏捷开发CI/CD自动化测试Sonar扫描成果展示DevOps
8、实施落地 CI/CD整体流程图CI/CD整体流程开发活动、测试活动、生产交付活动通过CICD系统串联自动化并全领域覆盖Agile-敏捷活动CI-持续集成CD-持续交付设计开发需求软件构建(代码&SQL)Sonar扫描单元测试Junit应用部署(测试环境)自动化测试(接口&UI)集成测试版本交付应用部署(准生产环境)验收测试应用部署(生产环境)系统运营敏捷开发CI/CD自动化测试Sonar扫描成果展示流程节点可定制DevOps实施落地 CI/CD按环境管理多业务环境的处理按交付领域不同的环境进行分领域多维度的统一管理开发环境测试环境准生产环境生产环境分领域集成预处理软件构建部署发布在线测试多维度
9、敏捷开发CI/CD自动化测试Sonar扫描成果展示CI/CD任务单提交变更流程开发人员直观视角开发人员提交代码时,CI根据任务单号自动捕获、自动编译、自动测试环境部署需求单提交测试分支构建版本生成部署版本生成测试环境部署交付分支构建版本生成准生产环境部署生产环境部署交付使用敏捷开发CI/CD自动化测试Sonar扫描成果展示CI/CD版本管理统一的版本管控发布版本管理详细关联具体的任务单信息,防止遗漏和多出任务部署版本构建版本部署版本构建版本构建版本构建版本Svn-测试分支Svn-生产分支测试环境生产环境准生产环境交付版本变更范围-需求处理范围-代码&SQL来源-代码分支构建版本部署环境部署版本
10、上线交付范围交付版本准生产环境测试环境CI/CD持续部署开发环境生产环境多环境多规则多能力定时配置人工自助Jenkins调用Shell调用DevOps实施落地 自动测试平台(ATP)其他对接系统用户HA/LVS安全认证API Gateway消息中心消息总线消息路由探测微服务性能测试微服务任务调度微服务仿真微服务7*24小时业务监控UI及接口自动化测试对压力性能测试进行管理代码审查微服务对源码进行编码审查安全扫描微服务对系统进行安全扫描Web服务器集群测试过程管理数据存储测试案例管理测试任务管理缺陷管理服务注册服务发现共享缓存日志管理配置管理测试计划管理运维管理自动化测试微服务测试流程管控数据存
11、储Iaas(测试资源管理)可持续集成敏捷开发CI/CD自动化测试Sonar扫描成果展示THANK YOUSUCCESS2022/10/1419可编辑DevOps实施落地 接口自动化测试工具接口自动化测试工具是自开发的接口及服务测试工具。主要特点包括:1.支持Http/https , WEB Service,Restful等接口协议2.支持HSF、CSF等微服接口协议3.支持接口定义批量导入4.支持从接口报文自动解析接口定义5.支持自动解析WSDL6.支持个性化的报文加解密敏捷开发CI/CD自动化测试Sonar扫描成果展示实施效果:1.目前已完成30个接口自动测试用例,涵盖5类模块2.每次持续集
12、成(CI)部署必须调用接口自动测试3.确保关键接口的高可用性4.每个成员都承担接口测试用例的编写与调试工作,不由专人负责DevOps实施落地 UI自动化测试目前已完成测试案例11个,覆盖业务推荐、业务查询、业务办理等系统菜单另外开发了快速验证channel、commission、app-web-console等多平台发布状态的冒烟测试案例,用于日常发布环境验证。UI自动化测试计划已经可以从持续集成(CI)调用同步开展CRM和BOSS侧UI自动化测试工作敏捷开发CI/CD自动化测试Sonar扫描成果展示封装SeleniumDevOps实施落地 门户面板多维度的数据沉淀、维护、度量DevOps多节
13、点过程数据整合度量及统一展示持续集成面板:构建数据、分支合并数据、部署数据Sonar度量面板:违规、技术债、复杂度、注释率等单元测试面板:单元测试覆盖率、通过率自动测试面板:含接口自动测试、UI自动测试的测试通过率、覆盖率、测试汇总结果等持续交付面板:版本上线及部署情况运维监控面板:主机、服务等资源状况、应用状态等数据展示DevOps实施成果展示 CI/CD过程提效代码编译频率编译时长部署时长编译问题处理测试环境部署频率SQL合并&执行自动化测试持续集成(编译、部署、接口&UI自动化)实施前1次/天20分钟30分钟人工分析&口头协调1次/天人工收集执行无各环节人工触发实施后大于5次4分钟7分钟
14、自动定位&自动邮件=4次/天自动收集执行应用部署后自动触发约23分钟流程自动化过程可视化反馈及时化测试常态化解放人力促进协同增强沟通保证质量问题及早发现结果持续可见过程自动提效持续集成部署综合效率提升超过300%,8月份共编译92次,部署48次敏捷开发CI/CD自动化测试Sonar扫描成果展示DevOps实施成果展示 团队能力提升团队进行需求分解快速完成并行任务迭代交付完整需求团队合作取代单打独斗知识技能团队共享团队能力和士气快速提升通过站会、评审、讨论、任务完成奖励等方式提高团队熟悉程度和信任成员之间自动产生了提前完成任务的比较心理新技术手段的引入,带来了成员新的学习热情以团队合作取代单打独
15、斗的工作方式,团队内形成了良好的知识分享和技能提升的氛围,大家可以积极领取任务并保质完成,在迭代结束时可以看到完成的成果,士气得到了很好的提升。敏捷开发CI/CD自动化测试Sonar扫描成果展示DevOps实施成果展示 敏捷成熟度敏捷成熟度模型和DevOps成熟度模型参考CMMI成熟度模型及行业经验制定DevOps实施成果展示 DevOps成熟度目录一DevOps实施思路与计划二DevOps实施效果展示四Q&A三DevOps实施经验总结北京移动DevOps试点实施计划与完成情况北京移动DevOps试点实施计划与完成情况(续)试点经验经验总结紧急需求:预留10-15%的产能,或预留不纳入敏捷流程
16、的支撑人员代码版本:使用持续集成工具(CI)自动进行代码分支合并,不再人工管理自组织团队建设:培养团队综合能力,从功能型团队转为产品团队迭代实施原则:每1-2个迭代增加一个节点流程,减少转型阻力激励机制:按时或提前完成任务,给团队成员一定的奖励,鼓励更好的协作与承诺因地制宜:根据应用系统的实际情况对DevOps各个环节进行相应裁减,并充分利用已有资源系统高ROI原则:先进行最高性价比的节点实践,如先上接口自动化测试工具。不足之处缺少对运维运营侧工作的整体融合方案灰度发布需要系统架构的同步升级达成成果3. 取得的成果需求交付时间团队开发效率代码提交频率集成频率部署流程代码质量自动化测试发布次数正
17、常排期需求交付时间从实施敏捷开发前的2周到缩短为1周团队开发效率从实施敏捷开发前的7人时/功能点提升到3.94人时/功能点(行业均值7.2人时)从实施敏捷开发前的不固定到每天50次以上的提交测试环境从实施敏捷开发前的每天1次到每小时1次从实施敏捷开发前的手工部署到自动化部署测试环境从每天1次到每天4次,生产环境由每月2次到可以随需要立即发布从实施敏捷开发前的空白到单元测试、Sonar扫描、代码评审工具全支持从实施敏捷开发前的空白到接口自动化测试、UI自动化测试全覆盖目标达成DevOps实施的关键特性总结版本控制:开发、测试、部署等各种版本分支策略:双分支或三分支管控代码质量扫描:基于Sonar
18、单元测试覆盖:核心模块80%以上漏洞扫描:结合安全测试(待实施)开源工具扫描:优选可靠开源工具,及时修补漏洞制品(工件)版本控制:Nexus制品仓库,CI统一管理环境自动创建:需调用DCOS或其他云平台功能(待实施)不可变服务器:需容器化(待实施)性能测试:自动化的性能测试和必要的手工测试(待实施)每次提交都触发自动构建、自动部署、自动化测试:基于CMP实现自动化变更请求:每次关键变更自动处理零停机发布:灰度发布、应用无状态化(待实施)功能开关:业务服务功能可以由开关控制,而无需更新版本统一视图门户:基于CMP实现待实践灰度发布与容器化(基于K8s或Mesos)LB负载均衡CD云平台灰度发布典型流程:可部分更新服务,并选择更新的实例数如果更新成功,更新会暂停可将部分流量引导至新实例,进行测试如果测试通过,可继续更新剩余实例如果测试失败,可将服务回滚至旧版本在任何阶段如果更新发生错误,可将服务回滚到旧版本真正的灰度发布需要实现应用容器化、数据库分布化以及负载均衡的无状态切换DevOps在大Paas规划中的定位DevOps是大Paas平台规划中的核心组成部分,有了DevOps能力才使快速交付、热修复和灰度发布成为可能SaaSPaaSIaaS通用fuwuX
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024至2030年中国兔毛针织帽数据监测研究报告
- 合同纠纷裁判要点知识
- 2024至2030年中国密闭水式蜂巢水濂墙数据监测研究报告
- 2024至2030年马赛克腰线项目投资价值分析报告
- 2024至2030年道路标牌项目投资价值分析报告
- 2024至2030年艺术蜡烛项目投资价值分析报告
- 二零二四年度汽车销售合同标的描述3篇
- 2024至2030年桨叶式混合机项目投资价值分析报告
- 2024至2030年新课标题库管理与分析系统项目投资价值分析报告
- 2024至2030年多用木工机床项目投资价值分析报告
- 货物采购验收单
- 等比数列的前n项和-(完美版)课件
- 心电图理论知识考核试题与答案
- 中医护理创新项目:耳穴刮痧课件
- 非洲安哥拉项目计划书以及运营模式简介5.30
- 环三亚甲基三硝胺(黑索金、旋风炸药)的理化性质及危险特性表
- 广东省义务教育阶段学生学籍卡表格
- 常见有机化合物的表面张力
- 人教版四年级数学期中复习-完整版PPT
- 铁路线路工更换混凝土轨枕作业指导书
- 中考英语作文专题(观点型议论文)课件
评论
0/150
提交评论