大规模组织DevOps实践

大规模组织DevOps实践

查阅电子书
手机扫码
  • 微信扫一扫

    关注微信公众号

因版权原因待上架

编辑推荐

DevOps助力企业敏捷发展:实战案例与工具技术。

内容简介

DevOps是开发运维一体化的软件工程思想,DevOps尝试打破部门墙,构建一个协同的IT建设运行环境,通过工具链形成数据关联的规范化、规模化的软件持续交付流水线,从而助力企业业务的敏捷发展。

本书用9章内容,结合项目实战案例和业界主流工具,从思想、实践方法、工具技术、案例等方面阐述了DevOps在传统规模化IT组织中实施落地的方法。

本书适合IT主管、项目经理、开发、测试、配置管理、运维等IT从业人员阅读。

作者简介

编著者陈能技,拥有20多年IT从业经验,曾任测试工程师、QA、项目经理、培训讲师、咨询顾问、架构师、技术总监等职位,亲历手工作坊式软件团队到专业化交付工程团队的发展过程。曾任多家公司DevOps售前顾问及解决方案总监、产品经理,ITSS工作组DevOps专家组组长。

章节目录

封面

作者简介

扉页

版权信息

推荐序

前言

目录

第一部分 思想篇

第1章 软件工厂

1.1 软件的生产力

1.2 软件工厂——软件的标准化生产

1.2.1 标准化生产模式需要一个集成底座——PaaS

1.2.2 标准化软件生产流水线

第2章 DevOps思想

2.1 DevOps思想与生产流水线

2.1.1 DevOps的起源

2.1.2 DevOps对软件工厂的启发

2.1.3 从DevOps实践原则看软件生产工艺化水平的提高

2.1.4 软件工厂模式下对生产工具发展的促进作用

2.2 从瀑布到敏捷

2.2.1 传统项目管理问题

2.2.2 向互联网企业学习的“敏捷”

2.2.3 敏捷的起源

2.2.4 瀑布模型

2.2.5 传统企业不可能全盘敏捷化

2.2.6 从版本上线过程管理看敏捷与瀑布

2.2.7 敏捷的前提是“不敏捷”

2.3 敏捷与DevOps核心思想

2.3.1 增量开发与测试

2.3.2 持续集成与持续交付

2.3.3 自动化

2.4 规模化的敏捷

2.4.1 从敏捷项目管理到敏捷项目集群管理

2.4.2 企业规模化敏捷思想

2.4.3 规模化敏捷方法——SAFe

2.4.4 规模化敏捷开发的最佳实践

2.5 企业规模化敏捷与软件工厂

2.5.1 软件生产环境

2.5.2 软件工厂生产环境管理——开发测试云

2.5.3 整合环境仿真

2.5.4 不可忽略的办公环境因素

2.5.5 软件工厂质量检测——深度自动化测试装置

第二部分 实践方法篇

第3章 DevOps体系的建立

3.1 构建 DevOps 流水线,打通开发—测试—运维持续交付通道

3.2 敏捷开发知识体系

3.3 Scrum框架

3.3.1 Scrum的3类角色

3.3.2 Scrum的3份工件

3.3.3 Scrum的5项活动

3.3.4 Scrum的5个价值观

3.4 敏捷、DevOps与协作

3.5 开发域DevOps实践

3.5.1 敏捷需求

3.5.2 传统需求分析

3.5.3 敏捷需求方法

3.5.4 面向敏捷的架构设计

3.5.5 向微服务架构迁移的基本做法

3.5.6 向微服务架构迁移的低风险演进方法

3.5.7 微服务架构设计模式

3.5.8 开发敏捷

3.5.9 分支策略

3.5.10 依赖包管理

3.5.11 技术债务

3.5.12 技术债务的形成

3.5.13 技术债务的分类

3.5.14 技术债务与质量投资

3.5.15 技术债务处理方法

3.5.16 持续集成

3.5.17 持续集成最佳实践

3.5.18 持续集成最佳实践——持续编译

3.5.19 持续集成最佳实践——持续代码检查

3.5.20 持续集成最佳实践——持续测试

3.5.21 持续集成最佳实践——持续部署

3.5.22 持续集成最佳实践——持续报告

3.5.23 企业持续集成实施方法

3.5.24 持续集成实施案例介绍

3.6 测试域DevOps实践

3.6.1 敏捷测试环境管理

3.6.2 业界关于测试环境管理的实践

3.6.3 测试如何纳入持续集成体系中

3.6.4 敏捷测试方法与传统测试方法的不同之处

3.6.5 敏捷测试人员的定义

3.6.6 敏捷测试过程管理

3.6.7 敏捷测试团队管理

3.7 运维域DevOps实践

3.7.1 敏捷基础设施

3.7.2 自动化部署

3.7.3 自动化部署的要素

3.7.4 部署常见场景及问题

3.7.5 部署服务工具链

3.7.6 资源部署

3.7.7 自动化资源部署

3.7.8 应用部署

3.7.9 应用交付容器化

3.7.10 应用容器化改造

3.7.11 不中断服务的部署方法

3.7.12 敏捷运维

第4章 DevOps的有效实践

4.1 敏捷模式与传统企业研发模式的结合

4.2 敏捷模式与传统ISO、CMMI标准规范的兼容

4.2.1 需求获取

4.2.2 方案制定(或技术评估)

4.2.3 生产任务排期

4.2.4 Sprint 0——迭代前准备

4.2.5 Sprint 0——基础框架搭建

4.2.6 迭代实施

4.2.7 验收测试

4.2.8 投产

4.3 敏捷与DevOps基础实践

4.3.1 SRE与发布工程

4.3.2 配置管理——版本管理

4.3.3 配置管理——发布包制作规范

4.3.4 缺陷管理

4.3.5 缺陷预防

4.3.6 迭代周期的时间

4.4 敏捷与DevOps反模式

4.4.1 急功近利

4.4.2 跨部门协作的浪费

4.4.3 持续集成“坏味道”

4.4.4 手工完成所有部署

4.4.5 开发与运维各一套自动化部署系统

4.4.6 重建数据库比较困难

第三部分 工具技术篇

第5章 精准测试技术

5.1 什么是精准测试技术

5.1.1 传统测试方法面临大型软件时的问题与瓶颈

5.1.2 传统白盒测试方法的问题

5.1.3 开发团队和测试团队协同工作难

5.1.4 精准测试方法解决的问题

5.1.5 精准测试的工作模式与工作原理

5.2 精准测试云平台

5.2.1 测试复杂度分析

5.2.2 测试复杂度种类

5.2.3 覆盖率分析

5.2.4 软件内部逻辑结构可视化

5.2.5 函数列表功能说明

5.2.6 覆盖率可视化

5.2.7 动态实时测试监控

5.2.8 缺陷管理系统

5.2.9 Bug与崩溃代码级捕获

5.2.10 双向追溯

5.2.11 多版本与累计覆盖率

5.2.12 智能的回归测试用例选取分析算法

5.2.13 测试用例的聚类分析算法

5.3 精准测试与度量分析

5.3.1 获取度量信息

5.3.2 项目度量指标

5.3.3 项目汇总

5.3.4 测试用例——按日趋势图

5.3.5 测试用例——测试用例列表

5.3.6 测试人、机

5.3.7 测试缺陷——Bug信息汇总

5.3.8 测试缺陷——Bug详细列表

5.3.9 覆盖率——按日增长趋势图

5.3.10 函数、类、文件覆盖率统计

5.3.11 函数、类、文件复杂度和覆盖率关系图

5.3.12 覆盖率列表

5.3.13 函数、类、包复杂度统计

5.3.14 测试覆盖率漏洞的智能分析

第6章 双模发布管理平台的设计与应用

6.1 产生背景

6.1.1 传统企业数字化转型浪潮下的双模挑战

6.1.2 双模发布管理平台

6.2 双模发布管理平台设计

6.2.1 设计思路

6.2.2 架构设计

6.3 案例及功能说明

6.3.1 案例背景介绍

6.3.2 痛点诊断及建设目标

6.3.3 功能说明

第7章 整合环境仿真技术

7.1 服务虚拟化技术

7.2 Lisa解决方案特色

7.3 采用Lisa方案的预期效果

7.4 Lisa实施和服务模式举例

第8章 容器技术

8.1 容器与Docker

8.2 应用容器化

8.3 Dockerfile 命令详解

8.4 Dockerfile使用建议

8.5 应用上云容器

8.5.1 上云应用的场景

8.5.2 软件和硬件的限制

8.5.3 应用架构的限制

8.5.4 应用上云建议

8.6 容器化应用开发规范

8.6.1 应用预编译

8.6.2 热点数据缓存

8.6.3 应用无状态化

8.6.4 应用上配置的定时任务需与应用分离

8.6.5 应用使用固定的服务监听端口

8.6.6 主机名和服务端口获取

8.6.7 数据库连接池

8.6.8 应用日志

8.6.9 应用中间件选型

8.6.10 应用环境配置规范

8.6.11 硬件负载

8.6.12 不要在容器中存储数据

8.6.13 不要发布两个应用

8.6.14 清除不必要的包和文件

8.6.15 不要在容器中运行多个进程

8.6.16 不要在镜像中存储凭据、使用环境变量

8.6.17 使用非root用户运行

8.6.18 不要依赖IP地址

8.6.19 服务间接口调用使用TCP和HTTP

8.7 容器化应用迁移实施方案

8.7.1 应用迁移的流程

8.7.2 信息收集和业务分析

8.7.3 容器镜像制作

8.7.4 功能验证

第四部分 案例篇

第9章 持续集成实践案例

9.1 项目背景

9.2 解决方案

9.2.1 持续集成简介

9.2.2 应用持续集成解决某局的开发项目问题

9.2.3 持续集成基础技术框架

9.2.4 方案优势

大规模组织DevOps实践是2018年由电子工业出版社出版,作者陈能技 编著。

得书感谢您对《大规模组织DevOps实践》关注和支持,如本书内容有不良信息或侵权等情形的,请联系本网站。

购买这本书

你可能喜欢
Kafka入门与实践 电子书
本书适合应用Kafka的专业技术人员阅读,包括但不限于大数据相关应用的开发者、运维者和爱好者。
Flink原理与实践 电子书
本书围绕大数据流处理领域,介绍FlinkDataStreamAPI、时间和窗口、状态和检查点、TableAPI&SQL等知识。书中以实践为导向,使用大量真实业务场景案例来演示如何基于Flink进行流处理。
深度学习原理与实践 电子书
(1)大量图例,简单易懂。作者亲自绘制了大量插图,力求还原深度学习的算法思想,分解和剖析晦涩的算法,用图例来表示复杂的问题。生动的图例也能给读者带来阅读乐趣,快乐地学习算法知识,体会深度学习的算法本质。 (2)简化公式,生动比喻。深度学习和机器学习类的书中通常会有大量复杂冗长的算法公式,为了避免出现读者读不懂的情况,本书尽可能地统一了公式和符号,简化相关公式,并加以生动的比喻进行解析。在启发读者的同时,锻炼读者分析问题和解决问题的能力。 (3)算法原理,代码实现。在介绍深度学习及相关算法的原理时,不仅给出了对应的公式,还给出了实现和求解公式的代码,让读者明确该算法的作用、输入和输出。原理与代码相结合,使得读者对深度学习的算法实现更加具有亲切感。 (4)深入浅出,精心剖析。理解深度学习需要一定的机器学习知识,本书在D1章介绍了深度学习与机器学习的关系,并简要介绍了机器学习的内容。在内容安排上,每章依次介绍模型框架的应用场景、结构和使用方式,最后通过真实的案例去全面分析该模型结构。目的是让读者可以抓住深度学习的本质。 (5)入门实践,案例重现。每一章最后的真实案例不是直接堆砌代码,而是讲解使用该算法模型的原因和好处。从简单的背景知识出发,使用前文讲解过的深度学习知识实现一个实际的工程项目。实践可以用于及时检验读者对所学知识的掌握程度,为读者奠定深度学习的实践基础。 将一本技术书籍写得通俗易懂谈何容易,但《深度学习原理与实践》这本书确实做到了。书中对近年来火热的深度学习理论知识进行简单剖析,化繁为简,没有局限于坐而论道,而是将实例和数学理论相结合,让读者能够快速理解各种模型并上手实践,值得细读。 --唐春明 广州大学数学与信息学科学院副院长 本书从原理、方法、实践这 3 个维度系统地介绍了深度学习的方方面面,内容详实,解读清晰,细节与全貌兼顾,既适合初学者阅读,也可以作为深入研究的参考用书。 --杨刚 西安电子科技大学教授 近年来出版的深度学习相关图书中,本书是我见过非常有指导意义的中文书籍之一。本书对 ANN、CNN、RNN 等模型进行深入浅出的介绍,引入大量图例和简化后的公式,让算法浅显易懂。每一章的实践内容都给人惊喜,强烈推荐! --吴健之 腾讯音乐高级工程师 作为产品经理,我能看懂的深度学习书籍实在太少了。本书恰到好处,插图丰富直观,数学公式简练,很喜欢此类风格的图书,易懂好学。即使你不是程序员或算法专家,该书也值得一看! --张瑞 中软国际高级产品经理
Kubernetes从入门到实践 电子书
结合示例代码,系统讲述Kubernetes的主要功能和核心组件,有助于读者迅速提升运维技能。
边缘计算原理与实践 电子书
本书对边缘计算的发展历史与趋势、几种典型的边缘计算技术的基本架构与原理进行了阐述,并对边缘计算涉及的关键技术与最新进展、部署方案、应用场景与实践进行了详细讲解。本书涉及的内容广泛、技术思想凝炼,突出核心原理和关键技术的阐述,同时力图深入讲解边缘计算开源平台的使用过程。本书对从事边缘计算技术研发的专业人士、网络运营管理人员、相关专业高校学生以及对边缘计算技术感兴趣的读者,都具有一定的参考价值。