您当前的位置: 首页 >  devops

暂无认证

  • 0浏览

    0关注

    92582博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

企业级DevOps技术与工具实战 之校正篇

发布时间:2020-03-25 18:27:49 ,浏览量:0

接触DevOps已经很长一段时间了,在这个期间通过相关理论在咨询、项目中的落地实践,有了一些浅薄的收获,结合自己的一些积累,最终虽然拖了很长时间,和笑梅老师一起终于完成了此书的出版,虽然还有很多不足的地方,但是还是希望能够以此为基础和很多喜欢技术的朋友一起交流讨论。篇幅已经很长,但由于涉及内容确实过多,个人精力、能力、技术、视野毕竟有限,难免有所错误或者失误,所以设立此贴用于根据反馈进行校正,个人邮箱为:liumiaocn@outlook.com,欢迎批评指正。

在这里插入图片描述

好友书评: 乐神

张乐:京东 DevOps与研发效能专家、DevOpsDays中国区核心组织者

本书的前1/4篇幅重点讲解了DevOps的基础理论、关键原则、实践经验和误区,剩余的3/4篇幅都是关于DevOps落地实践的内容。面向企业级DevOps的实施和推广,需要在道、fa、术、器4个层面立体化推进,自上而下、以终为始地系统化思考,自下而上通过工具提升效率、解决具体问题。本书作者有着非常丰富的大型企业DevOps实施经验,尤其对工具的技术实现细节、如何相互集成和整合颇有心得,书中也包含了大量的相关说明和示例,本书将手把手地帮助你从零搭建DevOps工具链体系。 这是一个数字化时代,DevOps越来越流行,理论+实践的组合至关重要,相信这本书能给你带来很大的帮助,祝你的DevOps之旅一帆风顺!

好友书评:赵班长

赵舜东:新运维社区发起人

本书不仅包含了DevOps的基础理论知识,而且涵盖了从需求管理、设计与开发、版本控制、编译构建、代码质量、测试管理、发布与部署、自动化运维、自动化测试、日志监控、安全监控到容器化的一个完整DevOps工具链,让读者可以从0到1地学习DevOps落地实践的知识,并进行全开源DevOps工具链的实战。 本书作者之一刘淼是一位资深DevOps专家,我更愿意称他为一名不折不扣的骨灰级技术达人,他痴迷于持续学习和持续分享。我在阅读完本书后,收获甚大。现在我将这本书介绍给所有想要学习和进行DevOps工具链落地实践的工程师,尤其是运维圈的小伙伴们,我相信本书一定能让你受益匪浅。准备好实验环境,让我们一起玩转DevOps工具链吧。

关于校正反馈的感谢

到目前为止,收到了很多读者朋友的反馈,淼叔非常感动,这里一并谢过,非常感谢大家一起参与一个理论的逐渐细化和明晰的过程,正像2020年3月份我整理和分享的“以安全之名”中提到的那样,DevOps的推行也不是一帆风顺的,也可能会有曲折和迂回的J曲线,这些都需要大家一起共同探索。为了更好的为后续的读者服务,所发现的错别字或不正确或待商榷的内容,可发送到我的邮箱liumiaocn@outlook.com,首次提出者一经采纳必有薄礼附上,虽然知道大家也不在乎这些,聊表谢意而已。

校正或更新内容(根据反馈不断更新)
  1. 13.1.2 章Fortify 标题名称写错一处 (写成Frotify :正确应为Fortify) =》第2次重印中已修正
目录
第1 章 DevOps 概述 .......................................................................................... 1
1.1 什么是DevOps ...................................................................................... 2
1.2 DevOps 能带来什么 .............................................................................. 3
1.3 DevOps 的现状 ...................................................................................... 5
1.4 常见的理解误区 .................................................................................. 10
第2 章 DevOps 基础理论 ............................................................................... 12
2.1 敏捷理论体系解读 .............................................................................. 12
2.1.1 敏捷背景介绍 .............................................................................. 12
2.1.2 三大支柱解读 .............................................................................. 13
2.1.3 四大核心价值观及解读 ................................................................. 14
2.1.4 12 条原则及解读 .......................................................................... 15
2.1.5 Scrum 敏捷框架 ............................................................................ 17
2.2 敏捷与DevOps .................................................................................... 24
2.3 精益理论体系解读 .............................................................................. 25
2.3.1 精益产生背景 .............................................................................. 25
2.3.2 精益IT 及其原则 ......................................................................... 25
2.4 精益与DevOps .................................................................................... 29
2.4.1 节拍 ........................................................................................... 29
2.4.2 交货时间 ...................................................................................... 29
2.4.3 度量指标 ...................................................................................... 29
2.4.4 浪费种类 ...................................................................................... 30
2.4.5 安灯拉绳 ...................................................................................... 31
2.4.6 看板 ........................................................................................... 31
2.4.7 改善 ........................................................................................... 32
2.4.8 挑战与对策 .................................................................................. 33
2.5 实践案例分析 ..................................................................................... 33
第3 章 构建企业的DevOps 文化 .................................................................. 36
3.1 对失败友好的架构与环境................................................................... 36
3.1.1 对失败友好的架构与环境的特点 .................................................... 37
3.1.2 对失败友好的架构与环境的设计原则 ............................................ 37
3.1.3 当失败遇见复杂系统 .................................................................... 40
3.1.4 保障复杂系统的安全 .................................................................... 41
3.2 以高度信任为基石的企业文化 .......................................................... 42
3.2.1 传统制造业的惩罚文化 ................................................................. 43
3.2.2 聚焦改善的免责事后分析 .............................................................. 44
3.2.3 多角度的知识与经验分享 .............................................................. 45
3.3 持续学习与持续试验 ......................................................................... 49
3.3.1 通过内部与外部会议促进人员技术成长 .......................................... 50
3.3.2 向生产环境中引入故障来增强弹性 ................................................ 50
3.3.3 持续学习与持续试验的建议 ........................................................... 51
3.4 常见的理解误区 .................................................................................. 52
3.5 实践经验研究 ..................................................................................... 54
第4 章 设计和优化软件全生命周期相关流程 ............................................... 56
4.1 持续评估与DevOps 成熟度模型 ....................................................... 56
4.2 持续规划的评估策略 ......................................................................... 57
4.3 持续集成的策略与原则 ...................................................................... 58
4.4 持续测试的策略与原则 ...................................................................... 58
4.5 持续部署的策略与原则 ...................................................................... 59
4.6 持续监控的策略与原则 ...................................................................... 59
4.7 持续运维的策略与原则 ...................................................................... 60
4.8 持续反馈的策略与机制 ...................................................................... 60
4.9 常见的理解误区和实践经验 ............................................................... 60
第5 章 DevOps 实践中的设计与开发 ............................................................ 62
5.1 传统架构的痛点 .................................................................................. 62
5.2 DevOps 中的架构设计 ....................................................................... 62
5.2.1 康威定律的影响 ........................................................................... 63
5.2.2 耦合设计原则 .............................................................................. 64
5.2.3 独立部署原则 .............................................................................. 66
5.2.4 自动部署策略 .............................................................................. 66
5.2.5 12 要素 ....................................................................................... 68
5.2.6 应用扩容机制 .............................................................................. 68
5.3 环境一致性 .......................................................................................... 69
5.3.1 环境一致性的重要性 .................................................................... 69
5.3.2 常用工具介绍 .............................................................................. 69
5.4 版本管理实践 ..................................................................................... 71
5.4.1 版本管理的痛点 ........................................................................... 71
5.4.2 常用工具介绍 .............................................................................. 74
5.4.3 实践经验总结 .............................................................................. 75
5.5 制品管理实践 ..................................................................................... 75
5.6 代码质量分析 ..................................................................................... 77
第6 章 DevOps 实践中的测试 ........................................................................ 78
6.1 传统测试及其痛点 .............................................................................. 78
6.2 测试驱动开发 ..................................................................................... 79
6.3 测试分类 .............................................................................................. 81
6.4 测试策略 .............................................................................................. 83
6.4.1 测试团队结构重组策略:测试团队去中心化的应对策略 .................. 84
6.4.2 测试促进架构重构策略:根据测试的反馈不断优化系统架构 ........... 84
6.4.3 测试团队技能提升策略:逐步推动测试团队知识与技能的重建 ....... 84
6.4.4 各阶段测试策略:分阶段使用不同方式保证系统功能 .................... 85
6.5 自动化测试 .......................................................................................... 85
6.5.1 自动化测试现状 ........................................................................... 86
6.5.2 做还是不做:决策因素 ................................................................. 86
6.5.3 自动化测试推行策略 .................................................................... 88
6.5.4 自动化测试工具选型 .................................................................... 89
6.6 实践经验研究 ..................................................................................... 90
6.6.1 常见的实践误区 ........................................................................... 90
6.6.2 实践案例 ...................................................................................... 91
第7 章 DevOps 实践中的部署 ...................................................................... 101
7.1 部署方式 ............................................................................................ 101
7.1.1 蓝绿部署 .................................................................................... 102
7.1.2 金丝雀部署 ................................................................................ 103
7.2 部署依赖 ............................................................................................ 104
7.2.1 架构的影响 ................................................................................ 104
7.2.2 基础设施的影响 ......................................................................... 104
7.3 常用工具 ............................................................................................ 106
7.4 实践经验总结 ................................................................................... 107
第8 章 DevOps 工具选型:开源与闭源 ...................................................... 108
8.1 通用选型指标 ................................................................................... 108
8.1.1 系统限制要素 ............................................................................ 109
8.1.2 可用性 ....................................................................................... 109
8.1.3 交互性 ....................................................................................... 110
8.1.4 市场状况 .................................................................................... 110
8.1.5 功能可裁剪度 ............................................................................ 111
8.2 开源/闭源选型指标 ........................................................................... 111
8.2.1 成本 ......................................................................................... 112
8.2.2 更新频度 .................................................................................... 112
8.2.3 改善速度 .................................................................................... 113
8.2.4 集成方式 .................................................................................... 113
8.2.5 文档说明 .................................................................................... 114
8.3 选型模型介绍 ................................................................................... 115
8.4 实践经验总结 ................................................................................... 115
第9 章 DevOps 工具:需求管理与缺陷追踪 .............................................. 117
9.1 常用工具介绍 ................................................................................... 117
9.1.1 JIRA .......................................................................................... 117
9.1.2 Redmine ..................................................................................... 118
9.1.3 Trac ........................................................................................... 120
9.1.4 Bugzilla ...................................................................................... 121
9.2 详细介绍:Redmine .......................................................................... 121
9.2.1 安装Redmine ............................................................................ 121
9.2.2 设定Redmine ............................................................................ 125
9.2.3 REST API 操作 .......................................................................... 130
9.3 需求管理工具选型比较 .................................................................... 137
第10 章 DevOps 工具:持续集成 ............................................................... 139
10.1 常用工具介绍 ................................................................................. 139
10.1.1 Jenkins .................................................................................... 139
10.1.2 Apache Continuum .................................................................... 140
10.1.3 CruiseControl ........................................................................... 141
10.2 详细介绍:Jenkins .......................................................................... 141
10.2.1 安装Jenkins ........................................................................... 142
10.2.2 设定Jenkins ........................................................................... 144
10.3 持续集成实践 ................................................................................. 146
10.3.1 Jenkins+GitLab ......................................................................... 147
10.3.2 Jenkins+Docker ........................................................................ 150
10.3.3 Jenkins pipeline ........................................................................ 157
第11 章 DevOps 工具:版本管理 ............................................................... 169
11.1 常用工具介绍.................................................................................. 169
11.1.1 RCS ........................................................................................ 169
11.1.2 SVN ........................................................................................ 179
11.1.3 Git .......................................................................................... 180
11.1.4 GitLab ..................................................................................... 181
11.2 详细介绍:GitLab 与开发模型 ...................................................... 182
11.2.1 Git Flow 分支模型 .................................................................... 182
11.2.2 GitLab+Git Flow ....................................................................... 185
11.2.3 GitHub Flow 分支模型 .............................................................. 200
11.2.4 GitLab+GitHub Flow ................................................................. 201
11.3 实践经验总结.................................................................................. 205
第12 章 DevOps 工具:构建工具 ............................................................... 208
12.1 常用工具介绍 ................................................................................. 208
12.1.1 Make ...................................................................................... 208
12.1.2 Maven ..................................................................................... 209
12.1.3 Gradle ..................................................................................... 209
12.1.4 MSBuild .................................................................................. 210
12.2 详细介绍:Maven ........................................................................... 211
12.2.1 安装Maven ............................................................................ 211
12.2.2 Maven 的使用 .......................................................................... 211
12.3 详细介绍:Gradle ............................................................................ 214
12.3.1 安装Gradle ............................................................................ 214
12.3.2 Gradle 的使用 .......................................................................... 214
12.4 实践经验总结 ................................................................................. 221
第13 章 DevOps 工具:代码质量 ............................................................... 223
13.1 常用工具介绍 ................................................................................. 223
13.1.1 SonarQube ............................................................................... 223
13.1.2 Frotify ..................................................................................... 224
13.1.3 Coverity .................................................................................. 225
13.1.4 FindBugs ................................................................................. 225
13.2 详细介绍:SonarQube .................................................................... 226
13.2.1 安装SonarQube ...................................................................... 226
13.2.2 SonarQube 基础 ...................................................................... 231
13.2.3 SonarQube 使用方式 ................................................................. 239
13.3 代码质量检测实践 .......................................................................... 244
13.3.1 代码扫描与概要信息获取 ......................................................... 245
13.3.2 指标信息的获取 ....................................................................... 249
13.3.3 测试指标与事前准备 ............................................................... 259
13.3.4 测试指标实践 ......................................................................... 261
13.3.5 项目与质量规约管理 ............................................................... 272
第14 章 DevOps 工具:运维自动化 ............................................................ 277
14.1 常用工具介绍 ................................................................................. 277
14.1.1 Ansible .................................................................................... 277
14.1.2 Chef ........................................................................................ 277
14.1.3 Puppet ..................................................................................... 278
14.1.4 Saltstack .................................................................................. 279
14.2 常用工具的使用 .............................................................................. 279
14.2.1 Ansible 的安装与使用 .............................................................. 279
14.2.2 Chef 的安装与使用 .................................................................. 280
14.2.3 Puppet 的安装与使用 ............................................................... 287
14.2.4 Saltstack 的安装与使用 ............................................................ 289
第15 章 DevOps 工具:测试自动化 ............................................................ 292
15.1 常用工具介绍 ................................................................................. 292
15.1.1 xUnit ........................................................................................ 292
15.1.2 Selenium ................................................................................... 293
15.1.3 Apache JMeter ........................................................................... 293
15.1.4 Robot Framework ....................................................................... 293
15.2 详细介绍:Robot Framework ......................................................... 294
15.2.1 准备Python ............................................................................ 294
15.2.2 安装PIP ................................................................................. 294
15.2.3 安装Robot Framework ............................................................. 295
15.3 自动化测试工具的使用 .................................................................. 296
15.3.1 使用Robot Framework 进行测试 ............................................... 296
15.3.2 使用Selenium 进行测试 .......................................................... 300
第16 章 DevOps 工具:日志监控 ............................................................... 303
16.1 常用工具介绍 ................................................................................. 303
16.1.1 ELK ........................................................................................ 303
16.1.2 Splunk ..................................................................................... 306
16.1.3 Hygieia ................................................................................... 308
16.2 详细介绍:Hygieia .......................................................................... 311
16.2.1 安装配置 ................................................................................. 311
16.2.2 Hygieia 服务的启动方式和说明 ................................................. 312
16.2.3 使用说明 ................................................................................. 314
16.3 实践经验总结 ................................................................................. 315
第17 章 DevOps 工具:运维监控 ............................................................... 316
17.1 常用工具介绍 ................................................................................. 316
17.1.1 Zabbix ..................................................................................... 316
17.1.2 Nagios ..................................................................................... 319
17.1.3 Grafana ................................................................................... 323
17.1.4 InfluxDB ................................................................................. 325
17.2 详细介绍:InfluxDB ....................................................................... 326
17.3 实践中的注意事项及原则 ............................................................... 330
第18 章 DevOps 工具:安全监控 ............................................................... 331
18.1 常用工具介绍 ................................................................................. 331
18.1.1 Clair ....................................................................................... 331
18.1.2 Anchore ................................................................................... 336
18.1.3 ClamAV .................................................................................. 339
18.2 详细介绍:安全扫描 ..................................................................... 344
18.2.1 Clair 镜像安全扫描 ................................................................. 344
18.2.2 Anchore 镜像扫描 .................................................................... 348
18.2.3 ClamAV 病毒扫描 .................................................................... 349
18.3 实践经验总结 ................................................................................. 350
第19 章 DevOps 工具:容器化 .................................................................... 352
19.1 常用工具介绍 ................................................................................. 352
19.1.1 Docker .................................................................................... 352
19.1.2 docker-compose ........................................................................ 356
19.1.3 Kubernetes ............................................................................... 357
19.2 详细介绍:Docker ........................................................................... 357
19.2.1 问题诊断 ................................................................................. 357
19.2.2 镜像操作与容器操作 ............................................................... 365
19.2.3 其他操作 ................................................................................. 381
19.3 详细介绍:Kubernetes .................................................................... 384
19.3.1 管理资源 ................................................................................. 385
19.3.2 故障排查 ................................................................................. 390
19.3.3 故障应对 ................................................................................. 397
第20 章 DevOps 工具:镜像私库 ............................................................... 407
20.1 常用工具介绍 ................................................................................. 407
20.1.1 Registry ................................................................................... 407
20.1.2 Harbor ..................................................................................... 409
20.1.3 Nexus ...................................................................................... 414
20.2 详细介绍:Harbor ........................................................................... 420
第21 章 DevOps 工具:二进制制品管理 .................................................... 422
21.1 常用工具介绍 ................................................................................. 424
21.1.1 Apache Archiva ........................................................................ 424
21.1.2 Artifactory ............................................................................... 424
21.2 详细介绍:Nexus ............................................................................ 425
21.2.1 环境设定:Maven 私库搭建 ..................................................... 425
21.2.2 私库使用:准备与设定Maven .................................................. 427
21.2.3 私库使用:设定项目的pom 文件 .............................................. 428
21.2.4 私库使用:执行maven 操作 .................................................... 429
21.3 实践经验总结 ................................................................................. 430
第22 章 DevOps 实践中的安全机制 ............................................................ 431
22.1 安全调查现状 ................................................................................. 431
22.2 设计安全机制的整体策略 ............................................................... 432
关注
打赏
1653961664
查看更多评论
立即登录/注册

微信扫码登录

0.3498s