大规模组织DevOps实践

大规模组织DevOps实践书籍信息作译者:陈能技,付勇出版时间:2018-10千 字 数:384版次:01-01页 数:320开本:16开装帧:I S B N :9787121351365换版:纸质书定价:¥68.0内容简介DevOps是开发运维一体化的软体工程思想,DevOps尝试打破部门墙,构建一个协同的IT建设运行环境,通过工具链形成数据关联的规範化、规模化的软体持续交付流水线,从而助力企业业务的敏捷发展 。本书用9章内容,结合项目实战案例和业界主流工具,从思想、实践方法、工具技术、案例等方面阐述了DevOps在传统规模化IT组织中实施落地的方法 。本书适合IT主管、项目经理、开发、测试、配置管理、运维等IT从业人员阅读 。图书目录第一部分 思想篇第1章 软体工厂 21.1 软体的生产力 21.2 软体工厂——软体的标準化生产 41.2.1 标準化生产模式需要一个集成底座——PaaS 41.2.2 标準化软体生产流水线 6第2章 DevOps思想 82.1 DevOps思想与生产流水线 82.1.1 DevOps的起源 82.1.2 DevOps对软体工厂的启发 92.1.3 从DevOps实践原则看软体生产工艺化水平的提高 102.1.4 软体工厂模式下对生产工具发展的促进作用 102.2 从瀑布到敏捷 112.2.1 传统项目管理问题 122.2.2 向网际网路企业学习的“敏捷” 132.2.3 敏捷的起源 142.2.4 瀑布模型 152.2.5 传统企业不可能全盘敏捷化 152.2.6 从版本上线过程管理看敏捷与瀑布 162.2.7 敏捷的前提是“不敏捷” 172.3 敏捷与DevOps核心思想 182.3.1 增量开发与测试 182.3.2 持续集成与持续交付 192.3.3 自动化 212.4 规模化的敏捷 222.4.1 从敏捷项目管理到敏捷项目集群管理 222.4.2 企业规模化敏捷思想 242.4.3 规模化敏捷方法——SAFe 252.4.4 规模化敏捷开发的最佳实践 282.5 企业规模化敏捷与软体工厂 312.5.1 软体生产环境 312.5.2 软体工厂生产环境管理——开发测试云 332.5.3 整合环境仿真 372.5.4 不可忽略的办公环境因素 432.5.5 软体工厂质量检测——深度自动化测试装置 45第二部分 实践方法篇第3章 DevOps体系的建立 493.1 构建DevOps流水线,打通开发—测试—运维持续交付通道 493.2 敏捷开发知识体系 503.3 Scrum框架 513.3.1 Scrum的3类角色 523.3.2 Scrum的3份工件 523.3.3 Scrum的5项活动 533.3.4 Scrum的5个价值观 543.4 敏捷、DevOps与协作 543.5 开发域DevOps实践 553.5.1 敏捷需求 553.5.2 传统需求分析 553.5.3 敏捷需求方法 573.5.4 面向敏捷的架构设计 613.5.5 向微服务架构迁移的基本做法 633.5.6 向微服务架构迁移的低风险演进方法 643.5.7 微服务架构设计模式 743.5.8 开发敏捷 773.5.9 分支策略 773.5.10 依赖包管理 793.5.11 技术债务 803.5.12 技术债务的形成 803.5.13 技术债务的分类 833.5.14 技术债务与质量投资 843.5.15 技术债务处理方法 853.5.16 持续集成 883.5.17 持续集成最佳实践 913.5.18 持续集成最佳实践——持续编译 923.5.19 持续集成最佳实践——持续代码检查 923.5.20 持续集成最佳实践——持续测试 933.5.21 持续集成最佳实践——持续部署 943.5.22 持续集成最佳实践——持续报告 943.5.23 企业持续集成实施方法 953.5.24 持续集成实施案例介绍 963.6 测试域DevOps实践 963.6.1 敏捷测试环境管理 963.6.2 业界关于测试环境管理的实践 983.6.3 测试如何纳入持续集成体系中 1003.6.4 敏捷测试方法与传统测试方法的不同之处 1053.6.5 敏捷测试人员的定义 1063.6.6 敏捷测试过程管理 1073.6.7 敏捷测试团队管理 1123.7 运维域DevOps实践 1133.7.1 敏捷基础设施 1133.7.2 自动化部署 1133.7.3 自动化部署的要素 1143.7.4 部署常见场景及问题 1153.7.5 部署服务工具链 1163.7.6 资源部署 1173.7.7 自动化资源部署 1173.7.8 套用部署 1193.7.9 套用交付容器化 1203.7.10 套用容器化改造 1213.7.11 不中断服务的部署方法 1213.7.12 敏捷运维 125第4章 DevOps的有效实践1294.1 敏捷模式与传统企业研发模式的结合1294.2 敏捷模式与传统ISO、CMMI标準规範的兼容1314.2.1 需求获取1314.2.2 方案制定(或技术评估)1324.2.3 生产任务排期1354.2.4 Sprint 0——叠代前準备1354.2.5 Sprint 0——基础框架搭建1434.2.6 叠代实施1434.2.7 验收测试1544.2.8 投产1554.3 敏捷与DevOps基础实践1554.3.1 SRE与发布工程1554.3.2 配置管理——版本管理1614.3.3 配置管理——发布包製作规範1654.3.4 缺陷管理1674.3.5 缺陷预防1684.3.6 叠代周期的时间1694.4 敏捷与DevOps反模式1704.4.1 急功近利1704.4.2 跨部门协作的浪费1724.4.3 持续集成“坏味道”1764.4.4 手工完成所有部署1784.4.5 开发与运维各一套自动化部署系统1784.4.6 重建资料库比较困难179第三部分 工具技术篇第5章 精準测试技术1825.1 什幺是精準测试技术1825.1.1 传统测试方法面临大型软体时的问题与瓶颈1825.1.2 传统白盒测试方法的问题1835.1.3 开发团队和测试团队协同工作难1835.1.4 精準测试方法解决的问题1845.1.5 精準测试的工作模式与工作原理1855.2 精準测试云平台1865.2.1 测试複杂度分析1865.2.2 测试複杂度种类1875.2.3 覆盖率分析1885.2.4 软体内部逻辑结构可视化1925.2.5 函式列表功能说明1965.2.6 覆盖率可视化1975.2.7 动态实时测试监控1995.2.8 缺陷管理系统1995.2.9 Bug与崩溃代码级捕获2015.2.10 双向追溯2025.2.11 多版本与累计覆盖率2055.2.12 智慧型的回归测试用例选取分析算法2065.2.13 测试用例的聚类分析算法2075.3 精準测试与度量分析2085.3.1 获取度量信息2085.3.2 项目度量指标2085.3.3 项目汇总2115.3.4 测试用例——按日趋势图2135.3.5 测试用例——测试用例列表2155.3.6 测试人、机2185.3.7 测试缺陷——Bug信息汇总2195.3.8 测试缺陷——Bug详细列表2205.3.9 覆盖率——按日增长趋势图2215.3.10 函式、类、档案覆盖率统计2235.3.11 函式、类、档案複杂度和覆盖率关係图2235.3.12 覆盖率列表2245.3.13 函式、类、包複杂度统计2265.3.14 测试覆盖率漏洞的智慧型分析227第6章 双模发布管理平台的设计与套用2296.1 产生背景2296.1.1 传统企业数位化转型浪潮下的双模挑战2296.1.2 双模发布管理平台2306.2 双模发布管理平台设计2316.2.1 设计思路2316.2.2 架构设计2336.3 案例及功能说明2346.3.1 案例背景介绍2356.3.2 痛点诊断及建设目标2366.3.3 功能说明236第7章 整合环境仿真技术2527.1 服务虚拟化技术2527.2 Lisa解决方案特色2537.3 採用Lisa方案的预期效果2547.4 Lisa实施和服务模式举例256第8章 容器技术2598.1 容器与Docker2598.2 套用容器化2618.3 Dockerfile 命令详解2668.4 Dockerfile使用建议2708.5 套用上云容器2718.5.1 上云套用的场景2718.5.2 软体和硬体的限制2728.5.3 套用架构的限制2728.5.4 套用上云建议2748.6 容器化套用开发规範2758.6.1 套用预编译2758.6.2 热点数据快取2778.6.3 套用无状态化2778.6.4 套用上配置的定时任务需与套用分离2788.6.5 套用使用固定的服务监听连线埠2788.6.6 主机名和服务连线埠获取2788.6.7 资料库连线池2798.6.8 套用日誌2798.6.9 套用中间件选型2798.6.10 套用环境配置规範2808.6.11 硬体负载2808.6.12 不要在容器中存储数据2818.6.13 不要发布两个套用2818.6.14 清除不必要的包和档案2818.6.15 不要在容器中运行多个进程2818.6.16 不要在镜像中存储凭据、使用环境变数2818.6.17 使用非root用户运行2818.6.18 不要依赖IP位址2828.6.19 服务间接口调用使用TCP和HTTP2828.7 容器化套用迁移实施方案2828.7.1 套用迁移的流程2828.7.2 信息收集和业务分析2848.7.3 容器镜像製作2898.7.4 功能验证291第四部分 案例篇第9章 持续集成实践案例2949.1 项目背景2949.2 解决方案2959.2.1 持续集成简介2959.2.2 套用持续集成解决某局的开发项目问题2969.2.3 持续集成基础技术框架2979.2.4 方案优势302