您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 质量控制/管理 > DevOps平台与实践
平台·让创新无限打造卓越的IT生产线DevOps平台与实践平台·让创新无限目录工程效率平台总览企业DevOps建设思路DevOps平台实践案例分享建立卓越『IT生产线』业务研发运维基础设施交付需求(产品)配置(变更)支撑保障质量安全问题(1)DevOps平台-流程梳理与交付自动的迭代过程DevOps横向集成:实现敏捷团队内不同角色的紧密协同DevOps纵向集成:打通研发工具链,建立部署流水线,自动化完成不同环境的部署,实现应用程序的持续交付纵向集成横向集成用户故事缺陷测试用例编译部署(Test)测试(Test)部署(Prod)用户PMQADevOps部署(Stage)配置架构(A)业务(B)组织(O)流程(P)开发、运维、安全、质量、精益面向版本火车的价值流交付技术架构应用架构容器云传统虚拟化微服务服务与工具元数据驱动故事地图精益看板敏捷可视化协作学习型成熟度原则阶段流水线开发流水线集测流水线交付流水线定义计划构建测试部署…可管理可审计可优化(2)自动化测试平台-行为驱动开发的最佳实践过程优化度量分析自动化测试管理视图自动化测试技术视图性能压测实验室测试过程规范管理测试度量分析测试评审测试环境管理测试资源管理测试工具管理测试报告管理接口自动化测试功能自动化测试性能自动化测试安全性自动化测试健壮性自动化测试测试需求管理测试用例管理Bug管理移动端自动化测试实验室监督控制技术支撑以BDD(行为驱动开发)方法为主导思想,提供完整测试工具集合,建立拉动式的自动化测试平台(5)容器云平台-用基础能力屏蔽基础设施的过程Anyinfrastructure•Physical•VirtualcloudAnyapp•14Kapps•6KprojectsAPIAPIEngineHub(6)微服务平台-分布与聚合的完整方案体验聚合架构分布应用/渠道分布服务分布数据分布感知分布运维体验聚合客户体验聚合开发体验聚合交付体验聚合监控数字化企业云平台基础设施基础服务DevOpsApplicationPaaSBPMPaaSIntegrationPaaSBigDataPaaS计算网络存储容器镜像仓库API网关服务路由服务发现服务注册自部署资源适配配额管理环境管理资源监控资源编排日志身份认证项目管理软件产品管理软件发布管理软件环境管理介质包仓库部署包仓库版本控制系统持续集成流程编排通讯使能BPM移动应用Web应用分布式数据处理数据展现数据质量元数据作业调度事件总线应用生命周期管理React风格Redis缓存复杂事件处理对象存储服务总线消息中心社交BPM流程梳理移动BPM业务活动监控服务容器服务配置Web容器负载数据应用质量基线反馈统一监控中心知识库关系数据库服务性能监控独立进程应用文件元数据业务中台业务后台租户管理客户管理多维组织模型客户行为信息业务控制数据业务集成框架身份认证设备数据目录工程效率平台总览企业DevOps建设思路DevOps平台实践案例分享理清『微服务』『容器』『DevOps』的关系微服务容器技术“散”“裸”“工程化”“可用”DevOps误区1:一味的强调敏捷,往往忽略了企业级交付设计开发测试计划分析发布设计开发测试分析发布设计开发测试分析发布启动Sprint1Sprint2…...敏捷版本火车项目群产品管理误区2:做DevOps,是不是就是工具链的集成?那DevOps需求是什么?数据打通,基于度量引领优化新特性是否知道运行在哪些机器上?功能是否知道有多少人花了多少代码完成的?设计的架构和实际部署的架构是有有偏离?代码库与介质库、组件与介质库的元信息关联?项目风险到底是什么造成的?管理能否前移?面向版本火车的DevOps建设策划研发运营退出产品项目定义设计构建测试部署执行立项完工敏捷持续集成持续部署持续交付DevOps,面向项目群(版本火车)1*处理产生事件总结核心建设思路1DevOps平台更重要的是提供最佳实践示例:版本号的管理与关联产品版本:1.0版本别名:shark代码版本(POM)1.snapshot1.0.0-snapshot2.release1.0.0修订号:一般引入第3位,如1.0.1,代表第一次修订构建号:一般引入第4位1.有体现在jar包名称上2.有体现在manifest文件中发布版本1.往往与修订版本一致2.也有独立声明的假设再引入了微服务?1.API版本2.…...示例:版本号维度的发布展现2、产品修订版本3、产品发布版本4、内部组件版本1、产品规划版本1.0示例:代码库如何使用与构建CBRMcommitbranchreleasemergeTBDGitHubGitCCCCCCCCCCPcherry-pickBCPRBRRRBCCMBCCMmasterdevelopfeaturereleasehotfixBCC多个BRTag与release分支使用方式类似核心建设思路2DevOps平台,重在让所有角色在流水线上协作,共同驱动过程的精益示例:不同阶段的流水线开发流水线:能最快的将代码变更体现到开发联调环境上测试流水线:多轮迭代,冒烟准入,确认可进入发布流水线发布流水线:多环境确认,推上生产,需要必要的审核构建单元测试代码扫描介质上传开发环境部署验证构建单元测试代码扫描介质上传A环境部署验证B环境部署验证…...部署验证切换流量申请发布审批生产发布示例:从流水线上看过程关键一:环节必选与可选关键二:自动与人工配合关键三:主数据,buildNumber关键四:参与者权限核心建设思路3DevOps平台,管理前移,有效指导和约束后续工作示例:统一部署设计,驱动自动部署示例:配置资源与策略,完成自动部署nginxtomcatmysql192.168.1.2192.168.1.3192.168.1.4192.168.1.5Upsteam:wtGAV:***.warGAV:***.sqlUpdateNewUpdate………核心建设思路4对于已有系统,DevOps平台不仅仅是通过新的工具链实现快速交付,更是一种驱动优化的变革示例:在CI中运用多构建策略提交即触发编译时间长怎么办?架构设计有问题设置构建超时时间超时自动提bug提交即触发,我的一个产品,构建一次要20多分钟,怎么办?提交即触发执行所有Module发现架构偏差分析子系统依赖设计执行依赖Module自动提bug示例:从CD结果中优化部署形态某客户说,因为回归测试不充分,每次发布都特别痛苦,但事实是……1.逻辑问题2.打包问题3.多war问题为了配置,上线介质都是重新打包的一个Jboss下,21个war包出错几率大大增加启停时间特别长示例:多维度度量成员团队部门质量代码问题数构建成功率构建成功率严重Bug数缺陷移除率部署成功率千行Bug率需求覆盖率周期内生产事故数量问题打回率文档过审版本上下线周期效率编码效率构建频率、时长事故恢复时间Bug修复时长部署时长周期内产品数用例执行时长需求交付时长周期内项目数进度任务偏差项目偏差项目偏差任务滞留需求积压吞吐稳定性部署频率、交付周期…变更失败率、故障恢复时长…核心观点5DevOps平台,并不是自动化一切,而是在可控中有选择的自动化项目上线阶段—滚动升级策略下的部署转换示例部署转换:部署设计是逻辑部署架构,在实际部署时,需要结合目标环境类型、部署策略、部署模式等,将其转换为可执行的物理部署架构(执行计划)。nginxtomcatmysql滚动升级滚动升级步长设置第一个步长容易有问题第一个步长脚本预览第一个步长部署可暂停后续步长可实时调整第一步:基本设置•步长•失败中断值•前置版本•资源确认第二步:计划生成•父子计划•参数化第三步:计划执行•参数值变更•预check(沙箱化)建设思路总结•一条IT生产线•覆盖产品、项目领域•体现出最佳实践•加强协作•管理前移•优化架构•可控范围的自动化核心价值:大幅提升IT工程效率目录工程效率平台总览企业DevOps建设思路DevOps平台实践案例分享DevOps平台—能力矩阵项目团队冲刺角色权限任务Bug构建代码库分支/tag代码质量流水线任务编排发布执行配置下发人工干预部署部署设计策略管理脚本版本跟踪资源度量与优化构建成功率构建时长部署成功率代码质量介质库需求看板总结组件管理构建伸缩漂移备份回滚日志监控部署时长瓶颈活动实例运维测试集成服务预置缺陷逃逸问题库环境看板执行跟踪变量管理各阶段工件打通,支撑软件生命周期配置管理项目管理追踪(需求、任务…)持续集成发布管理运营报表与分析测试管理与自动化项目规划与定义端到端的集成与追踪软件研发协作统一平台研发运维一体化应用配置资源监控数据辅助决策研发流程透明化规范化开发人员效率提升提高软件交付质量与效率实施效果快速响应业务变化、早于客户发现问题QCAppniumAnsibleHarborOpenPLM集成开源与标准系统,保持架构开放性沟通环境&资源源码编译介仓PM测试&质量监控配置Harbor部署AnsibleFabric8中间件服务OracleAppiumArtifactoryMake针对企业网管要求,形成高可靠部署架构关键设计:领域驱动设计,组件化叠加关键设计:充分考虑设计产物的可执行性Word文档4+1togaf产品(系统)=开发运行线上设计接口组件容器装配输入生成、检查接口设计应用组件部署架构关键设计:编排式的构建定义与可视化执行构建定义任务管理选择模板①JavaEE②Android③Html④…...在项目中创建构建定义增加多个构建任务(步骤)触发规则设置触发规则,如日构建、每次变更;对编译历史设置保留策略;对一些公共变量可设置为公用参数;保留策略参数设置关键设计:支持异构设施上的多策略发布部署设计部署转换组件运营部署装配部署系统部署系统部署组件部署组件部署组件部署组件装配库提交部署环境配置库定义策略资源配置装配部署计划生成Jenkinspipeline计划执行审批AnsibleAnsibleFabric物理机OpenstackOpenshift部署组件实例A实例B部署组件实例C实例D①启动②停止③重启④修复⑤状态检查⑥…组件实例运营承载全新蓝绿灰度滚动升级可伸缩关键设计:流水线过程化的动态配置前置构建环境流水线•发布过程支持手动触发•发布过程支持在特殊分支构建触发•发布过程支持定时触发•发布过程支持自定义事件触发•编排项目中各环境的顺序•支持自动和人工审核•每个环境中可支持多任务,比如部署,测试,邮件通知等•跟踪流水线过程•基于运营数据优化生产线•通过模板化的任务封装,后续扩展出更多发布动作•支持与企业CMDB打通•支持与ITSM打通触发发布动作设计发布过程过程持续优化打通企业各信息系统产品截图—平台配置—组织机构产品截图—平台配置—系统配置产品截图—平台配置—业务参数产品截图—平台配置—安全审计产品截图—项目管理产品截图—组件与代码库管理产品截图—持续集成产品截图—发布流水线产品截图—报表愿景:打造可持续发展的DevOps平台易扩展方法拦截器,AOP模式实现配置化,灵活替换实现对外接口可度量度量的法则:吞吐与稳定性三个维度:效率、质量、进度基于数据不断推导出阈值(数据)连通性需求到代码的跟踪设计驱动最终部署架构的标准(行业)标准化流程的相似性沉淀项目模板、应用模板的通用性目录工程效率平台总览企业DevOps建设思路DevOps平台实践案例分享DevOps典型客户案例万达网络科技集团一家实业+互联网大型开放型平台公司,拥有支付、征信、信贷等业务资质的公司,运用大数据、云计算、人工智能、场景应用等技术为实体产业实现数字化升级,为消费者提供生活圈的全新消费服务。IT工程效率提升50%工程效率提升50%6个月时间40多套核心产品周交付建立引领性度量指标交付速度工程质量运维保障用户体验业务价值建立质量评分机制615版本630版本0601版本601版本615版本0525版本URP2.0版本万达财富万达贷统一账户统一支付统一消息统一客服统一风控需求覆盖率100%100%100%100%100%100%
本文标题:DevOps平台与实践
链接地址:https://www.777doc.com/doc-4732568 .html