DevOps的构建之路与案例分享•汪珺CONTENTS目录Part1DevOps由来与构成Part2DevOps演进之路Part3DevOps实施概要Part4DevOps实践中的问题Part1:DevOps的理解问题现象:•整个版本周期较长,有时一个月才能发布大版本•线上常有质量问题,需消耗较多精力排查和修复开发(多团队并行)联调(集成)测试(端到端)12D5D8D46%21%33%上线8H分析一个实际的案例问题分析:•各阶段周期时间分解•关注等待/阻塞/浪费问题定位:系统紧耦合,相互影响和阻塞•多个子系统无法做到并行交付•故障传播不可控,相互影响•一端出问题,整个版本阻塞各端未控制质量,集成时问题爆发•开发自测不足,缺陷蔓延到集成阶段•自动化能力缺失,大量依赖人工处理•团队间存在资源争抢,相互冲突严重环境交付未归一化,发布效率低•环境多依赖复杂,线下线上不一致•环境准备时间长,维护成本高•串行发布上线,需要长时间停服这样PK,效率多低?另外,讨厌PM或者QA吗在实验室中证明性能Bug这不影响用户体验吧?我觉得可以接受决策上升要改我的环境没这问题测试数据稳定吗?你都不复现,我怎么查限制业务规模延后/预加载移到子线程要我原子优化?你测到不卡就足够了,别搞那么复杂发布:外网投诉测试不是证明过体验够好了吗?这不关我的事啊,是历史问题/系统问题©Pactera.Confidential.AllRightsReserved.DevOps体系需求发起服务和设备虚拟化持续部署与交付版本加速上线高可靠保证一切皆代码精益管理和产出快速度量及反馈消除沟通、利用资源、定位简单、稳定快速、过程自动DevOps带来的收益6CMDB持续反馈持续测试持续监控持续发布持续集成微服务架构持续整合Amazon:11.6s—1079/hour—10,000---30,000©Pactera.Confidential.AllRightsReserved.DevOps的理解1.持续测试将成为关注热点2.开发、安全和运维一体化——“DevSecOps”3.DevOps指标日益受到关注Part2:DevOps演进路线举例©Pactera.Confidential.AllRightsReserved.©Pactera.Confidential.AllRightsReserved.©Pactera.Confidential.AllRightsReserved.数据度量与分析的实例•UserStoryNumber;•Currentfinishediterationsnumber;•Recentfinishediterationsnumber;•WarehouseNumber•SubmissionNumber•Submissionfrequency•Buildnumber•Buildfrequency•Buildtime•SuccessrateofBuild•Averagerecoverytime•Linesofcode•Loopcomplexity•BugNumber•TestCasenumber•TestCasecoverage•TestCaseResult------ForUnitTestAPIAutomationGUIAutomationManuallyDBandothers•PerformanceTestresult•SecurityTestResult•Envchangetime•Envchangefrequency•Dependencyrelation•Envconfiguration•DBconfiguration•Disasterrecoveryandbackup•SecurityLevel•Releasehistory•ReleaseNote•Requirementsdeliverycycle•Publishingstrategy•Deploymentfrequency•Deploymentsuccessrate•DeploymentTime•Changingleadtime•Resourcemonitoringinfo(CPU,I/O,Memory)•Serviceandapplicationmonitoringinfo(Performance,Concurrency)•Productissuestatistics•Productissuerecoverytime•AimtoBusinessContinuityandQualitiedContinuousdelivery•CoreOKR/KPIinDevOps:Quality,Throughout,Stability,Meantimeforchanges,MTTR,Deploymentfrequency,Changefailurerate.设定KPI/OKR考量体系(扩展到其他端)习惯培养及度量数据驱动改进•重点是对原则的坚持–频繁集成–红灯修复•建立度量指标模型–结果指标–过程指标•数据驱动持续改进1234实施情况总览、分团队总览数据筛选和下钻,各团队数据核心数据汇总,环比变化趋势自动分析和异常报表推送邮件提升开发效率节省人力资源统一了测试入口标准并规范化降低工具上手难度增加测试维度覆盖使测试介入开发流程阶段提前降低BUG修复成本自动化部署,流程更透明为什么做持续集成1.我可能用了个假的测试包2.为什么只有我的测试有问题3.谁有xxxtag的包,我想验证一个问题4.这些工具用起来好麻烦1.手动打包,费时费力易出错;2.各个开发手动出包环境不统一,出包内容有差别3.Build记录...