详情
一、内容简介
二、作者简介
- 刘淼
资深架构师,PMP、OCP、CSM、HPE University讲师,EXIN DevOps Professional与DevOps Master认证讲师,曾担任HPE GD China DevOps & Agile Leader,帮助企业级客户提供DevOps咨询培训以及实施指导。熟悉通信和金融领域,有超过10年金融外汇行业的架构设计、开发、维护经验,在十几年的IT从业生涯中拥有了软件开发设计领域接近全生命周期的经验和知识积累。CSDN博客专家,博客地址为https://liumiaocn.blog.csdn.net/。
- 张笑梅
IT从业15年,其中含5年欧美外包经验,10多年国内行业咨询服务与解决方案经验,涉及电信、金融、航空等领域。先后服务于HPE、惠普、毕博等公司,曾负责过大中型项目实施开发与管理工作,担任过产品经理、咨询顾问、培训讲师及教练等职位。目前致力于项目和组织的敏捷与DevOps转型实施和培训。EXIN Agile Master、DevOps Professional、Lean IT、VeriSM、TSP、PSP模型认证讲师,凤凰沙盘/火星沙盘教练,CMMI 2.0 评估员,ISO 9K内审员,拥有CSM、SAFE、SAFE Advance Master、ITIL、SIGMA GB认证。三、目 录
1.1 什么是DevOps 2
1.2 DevOps 能带来什么 3
1.3 DevOps 的现状 5
1.4 常见的理解误区 10
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.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.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.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.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.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.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.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.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.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.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.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.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.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.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.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.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.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.1 常用工具介绍 407
20.1.1 Registry 407
20.1.2 Harbor 409
20.1.3 Nexus 414
20.2 详细介绍:Harbor 420
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.1 安全调查现状 431
22.2 设计安全机制的整体策略 432
22.3 与安全工具的融合 436
22.4 持续评估和改善 438
22.5 实践案例分析 439
23.1 高可用架构设计 440
23.2 Kubernetes 微服务 DevOps 的实践思路 443
23.2.1 整体原则 443
23.2.2 多层级的高可用性 444
23.2.3 专注于业务开发的微服务 445
23.2.4 保驾护航的DevOps 446
DevOps学堂
联系我们
联系人: | 阿道 |
---|---|
电话: | 17762006160 |
地址: | 青岛市黄岛区井冈山路157号中南金石国际广场A座3202室 |