混沌工程实战 手把手教你实现系统稳定性

混沌工程实战 手把手教你实现系统稳定性
分享
扫描下方二维码分享到微信
打开微信,点击右上角”+“,
使用”扫一扫“即可将网页分享到朋友圈。
作者: [英] (Russ Miles)
2020-08
版次: 1
ISBN: 9787115542601
定价: 59.00
装帧: 其他
开本: 16开
纸张: 胶版纸
页数: 131页
字数: 197千字
9人买过
  • 混沌工程是在分布式系统上进行实验的学科,旨在通过实验提前发现系统的缺陷,然后加以修复,从而让系统有能力应对生产环境中的各种失控情况。本书作者是资深的混沌工程师,有着丰富的从业经验,他将带领读者系统学习混沌工程,了解如何运用这一新兴技术手动开展成功的混沌工程实验游戏日,并通过自动化实现系统的高可用性和反脆弱性。 作者介绍 拉斯·迈尔斯(Russ Miles),ChaosIQ公司联合创始人兼CEO,拥有近20年的软件咨询和培训经验,致力于提供更简单、更有效的解决方案。由他参与创建的开源混沌工程项目Chaos Toolkit拥有活跃的用户群。 译者介绍 黄威,HPE公司软件工程师,专注于云原生、物联网、网络通信等领域,拥有十余年的从业经验,“踩坑”无数,专业技能积累深厚,尤为秉持开发与测试相辅相成、密不可分的理念。 第 一部分 混沌工程入门

    第 1章 混沌工程精粹 3

    1.1 混沌工程的定义 3

    1.1.1 混沌工程涉及整个社会技术系统 5

    1.1.2 暗债何处寻 6

    1.2 混沌工程的流程 7

    1.3 混沌工程的实践 7

    1.4 混沌工程和可观察性 9

    1.5 有所谓的“混沌工程师”吗 9

    1.6 小结 9

    第 2章 构建假说待办集 11

    2.1 先做实验? 12

    2.2 收集假说 12

    2.2.1 事故分析 13

    2.2.2 描述系统 13

    2.2.3 找到“可能出错的地方” 14

    2.3 引入可能性和影响 15

    2.3.1 绘制可能性与影响关系图 15

    2.3.2 添加关注点 17

    2.4 构建假说待办集 19

    2.5 小结 20

    第3章 规划并手动开展游戏日 21

    3.1 何谓游戏日 22

    3.2 规划游戏日 22

    3.2.1 选择一个假说 22

    3.2.2 选择游戏日风格 23

    3.2.3 决定谁做参与者,谁做观察者 24

    3.2.4 确定开展游戏日的位置 24

    3.2.5 确定游戏日开始及持续的时间 25

    3.2.6 描述游戏日实验 25

    3.2.7 获得批准 27

    3.3 开展游戏日 27

    3.4 小结 29

    第二部分 混沌工程自动化

    第4章 为自动化混沌工程准备工具 33

    4.1 安装Python 3 34

    4.2 安装Chaos Toolkit的命令行界面 34

    4.3 小结 36

    第5章 编写并运行自动化混沌工程实验 37

    5.1 建立示例目标系统 37

    5.2 探索并发现缺陷的迹象 40

    5.2.1 开展实验 42

    5.2.2 chaos run的内在机制 43

    5.2.3 稳态偏差可能表示“有改进空间” 44

    5.3 改进系统 46

    5.4 验证改进 47

    5.5 小结 49

    第6章 混沌工程全流程 51

    6.1 目标系统 51

    6.1.1 平台:三节点Kubernetes集群 52

    6.1.2 应用程序:单一服务,复制三次 52

    6.1.3 人员:集群管理团队和应用程序团队 54

    6.2 寻找缺陷 55

    6.2.1 命名实验 56

    6.2.2 定义稳态假说 56

    6.2.3 引入实验操作方法中的混乱条件 58

    6.2.4 在操作方法中使用Kubernetes驱动程序 58

    6.3 成为会还原的好公民 60

    6.4 整合所有步骤并运行实验 61

    6.5 小结 63

    第7章 合作的混沌工程 65

    7.1 共享实验定义 65

    7.1.1 将配置值移入配置块 67

    7.1.2 将配置属性指定为环境变量 68

    7.1.3 将密钥移到外部 69

    7.1.4 划定密钥范围 70

    7.2 指定作用模型 72

    7.3 创建并共享具有可读性的混沌工程实验报告 73

    7.3.1 生成实验的单次运行报告 73

    7.3.2 生成并共享实验的多次运行报告 74

    7.4 小结 74

    第8章 创建混沌工程实验驱动程序 75

    8.1 无须额外代码即创建自定义驱动程序 76

    8.1.1 用HTTP调用实现probe和action 76

    8.1.2 用进程调用实现probe和action 78

    8.2 用Python创建自定义混沌工程驱动程序 79

    8.2.1 为Chaos Toolkit扩展项目新建Python模块 80

    8.2.2 添加probe 81

    8.3 小结 86

    第三部分 混沌工程操作

    第9章 混沌与操作 89

    9.1 实验中的操控 90

    9.2 启用control 92

    9.2.1 在实验代码中启用control 93

    9.2.2 全局启用control 93

    9.3 小结 93

    第 10章 实现混沌工程的可观察性 95

    10.1 为混沌工程实验加入日志 96

    10.2 追踪混沌工程实验 98

    10.2.1 引入OpenTracing 98

    10.2.2 应用OpenTracing control 98

    10.3 小结 100

    第 11章 人为干预自动化混沌工程实验 101

    11.1 为control新建Chaos Toolkit扩展模块 102

    11.2 加入非常简单的人机交互控制 102

    11.3 跳过或执行实验中的activity 109

    11.4 小结 111

    第 12章 持续混沌 113

    12.1 何谓持续混沌 114

    12.2 使用cron安排持续混沌 115

    12.2.1 创建脚本执行混沌测试 115

    12.2.2 将混沌测试脚本添加到cron 117

    12.3 用Jenkins调度持续混沌 117

    12.3.1 下载Jenkins 117

    12.3.2 将混沌测试添加到Jenkins构建中 118

    12.3.3 使用构建触发器调度Jenkins中的混沌测试 121

    12.4 小结 122

    附录A 混沌工程工具包Chaos Toolkit 123

    附录B Chaos Toolkit社区游乐场 129

    关于作者 131

    关于封面 131
  • 内容简介:
    混沌工程是在分布式系统上进行实验的学科,旨在通过实验提前发现系统的缺陷,然后加以修复,从而让系统有能力应对生产环境中的各种失控情况。本书作者是资深的混沌工程师,有着丰富的从业经验,他将带领读者系统学习混沌工程,了解如何运用这一新兴技术手动开展成功的混沌工程实验游戏日,并通过自动化实现系统的高可用性和反脆弱性。
  • 作者简介:
    作者介绍 拉斯·迈尔斯(Russ Miles),ChaosIQ公司联合创始人兼CEO,拥有近20年的软件咨询和培训经验,致力于提供更简单、更有效的解决方案。由他参与创建的开源混沌工程项目Chaos Toolkit拥有活跃的用户群。 译者介绍 黄威,HPE公司软件工程师,专注于云原生、物联网、网络通信等领域,拥有十余年的从业经验,“踩坑”无数,专业技能积累深厚,尤为秉持开发与测试相辅相成、密不可分的理念。
  • 目录:
    第 一部分 混沌工程入门

    第 1章 混沌工程精粹 3

    1.1 混沌工程的定义 3

    1.1.1 混沌工程涉及整个社会技术系统 5

    1.1.2 暗债何处寻 6

    1.2 混沌工程的流程 7

    1.3 混沌工程的实践 7

    1.4 混沌工程和可观察性 9

    1.5 有所谓的“混沌工程师”吗 9

    1.6 小结 9

    第 2章 构建假说待办集 11

    2.1 先做实验? 12

    2.2 收集假说 12

    2.2.1 事故分析 13

    2.2.2 描述系统 13

    2.2.3 找到“可能出错的地方” 14

    2.3 引入可能性和影响 15

    2.3.1 绘制可能性与影响关系图 15

    2.3.2 添加关注点 17

    2.4 构建假说待办集 19

    2.5 小结 20

    第3章 规划并手动开展游戏日 21

    3.1 何谓游戏日 22

    3.2 规划游戏日 22

    3.2.1 选择一个假说 22

    3.2.2 选择游戏日风格 23

    3.2.3 决定谁做参与者,谁做观察者 24

    3.2.4 确定开展游戏日的位置 24

    3.2.5 确定游戏日开始及持续的时间 25

    3.2.6 描述游戏日实验 25

    3.2.7 获得批准 27

    3.3 开展游戏日 27

    3.4 小结 29

    第二部分 混沌工程自动化

    第4章 为自动化混沌工程准备工具 33

    4.1 安装Python 3 34

    4.2 安装Chaos Toolkit的命令行界面 34

    4.3 小结 36

    第5章 编写并运行自动化混沌工程实验 37

    5.1 建立示例目标系统 37

    5.2 探索并发现缺陷的迹象 40

    5.2.1 开展实验 42

    5.2.2 chaos run的内在机制 43

    5.2.3 稳态偏差可能表示“有改进空间” 44

    5.3 改进系统 46

    5.4 验证改进 47

    5.5 小结 49

    第6章 混沌工程全流程 51

    6.1 目标系统 51

    6.1.1 平台:三节点Kubernetes集群 52

    6.1.2 应用程序:单一服务,复制三次 52

    6.1.3 人员:集群管理团队和应用程序团队 54

    6.2 寻找缺陷 55

    6.2.1 命名实验 56

    6.2.2 定义稳态假说 56

    6.2.3 引入实验操作方法中的混乱条件 58

    6.2.4 在操作方法中使用Kubernetes驱动程序 58

    6.3 成为会还原的好公民 60

    6.4 整合所有步骤并运行实验 61

    6.5 小结 63

    第7章 合作的混沌工程 65

    7.1 共享实验定义 65

    7.1.1 将配置值移入配置块 67

    7.1.2 将配置属性指定为环境变量 68

    7.1.3 将密钥移到外部 69

    7.1.4 划定密钥范围 70

    7.2 指定作用模型 72

    7.3 创建并共享具有可读性的混沌工程实验报告 73

    7.3.1 生成实验的单次运行报告 73

    7.3.2 生成并共享实验的多次运行报告 74

    7.4 小结 74

    第8章 创建混沌工程实验驱动程序 75

    8.1 无须额外代码即创建自定义驱动程序 76

    8.1.1 用HTTP调用实现probe和action 76

    8.1.2 用进程调用实现probe和action 78

    8.2 用Python创建自定义混沌工程驱动程序 79

    8.2.1 为Chaos Toolkit扩展项目新建Python模块 80

    8.2.2 添加probe 81

    8.3 小结 86

    第三部分 混沌工程操作

    第9章 混沌与操作 89

    9.1 实验中的操控 90

    9.2 启用control 92

    9.2.1 在实验代码中启用control 93

    9.2.2 全局启用control 93

    9.3 小结 93

    第 10章 实现混沌工程的可观察性 95

    10.1 为混沌工程实验加入日志 96

    10.2 追踪混沌工程实验 98

    10.2.1 引入OpenTracing 98

    10.2.2 应用OpenTracing control 98

    10.3 小结 100

    第 11章 人为干预自动化混沌工程实验 101

    11.1 为control新建Chaos Toolkit扩展模块 102

    11.2 加入非常简单的人机交互控制 102

    11.3 跳过或执行实验中的activity 109

    11.4 小结 111

    第 12章 持续混沌 113

    12.1 何谓持续混沌 114

    12.2 使用cron安排持续混沌 115

    12.2.1 创建脚本执行混沌测试 115

    12.2.2 将混沌测试脚本添加到cron 117

    12.3 用Jenkins调度持续混沌 117

    12.3.1 下载Jenkins 117

    12.3.2 将混沌测试添加到Jenkins构建中 118

    12.3.3 使用构建触发器调度Jenkins中的混沌测试 121

    12.4 小结 122

    附录A 混沌工程工具包Chaos Toolkit 123

    附录B Chaos Toolkit社区游乐场 129

    关于作者 131

    关于封面 131
查看详情
12
相关图书 / 更多
混沌工程实战 手把手教你实现系统稳定性
混沌
戴维·温伯格
混沌工程实战 手把手教你实现系统稳定性
混沌与小波变换在混沌分组密码中的应用研究
杨华千;韦鹏程;石熙;成平广
混沌工程实战 手把手教你实现系统稳定性
混沌时间序列特征分析及其应用
任伟杰
混沌工程实战 手把手教你实现系统稳定性
混沌映射:动力学、分形学和快速涨落(英文)
陈功
混沌工程实战 手把手教你实现系统稳定性
混沌中的机遇
朱伟勇 朱海松 著
混沌工程实战 手把手教你实现系统稳定性
混沌密码分析学原理与实践
李澄清
混沌工程实战 手把手教你实现系统稳定性
混沌初开
骆宾基
混沌工程实战 手把手教你实现系统稳定性
混沌之石/谁让诸神出山系列
[英]玛斯·埃文斯 著;曾诚、赵鹏 译
混沌工程实战 手把手教你实现系统稳定性
混沌工程:通过可控故障实验提升软件系统可靠性
[波兰]米科拉吉·帕利科夫斯基 著
混沌工程实战 手把手教你实现系统稳定性
混沌日报1
力潮文创 出品;特雷西胡
混沌工程实战 手把手教你实现系统稳定性
混沌理论及其在水声信号处理中的应用
李亚安;陈哲;李惟嘉
混沌工程实战 手把手教你实现系统稳定性
混沌信号应用——雷达、传感与保密通信
王云才
您可能感兴趣 / 更多
混沌工程实战 手把手教你实现系统稳定性
汗青堂丛书133·战争、法律与现代世界的形成
[英]琳达·科利 后浪
混沌工程实战 手把手教你实现系统稳定性
石头,剪刀,布(苏格兰废弃教堂版《婚姻故事》 变爱为恨是比化水为酒更容易的把戏)午夜文库
[英]爱丽丝˙芬尼 著;左昌 译
混沌工程实战 手把手教你实现系统稳定性
最后一个人(《时代》杂志评其为“十大后世界末日小说”之一)
[英]玛丽·雪莱 著;新华先锋 出品
混沌工程实战 手把手教你实现系统稳定性
不能赢的辩护【当当定制“检方证物线索卡*5】金匕首奖得主史蒂夫·卡瓦纳推理神作
[英]史蒂夫·卡瓦纳 著;酷威文化 出品
混沌工程实战 手把手教你实现系统稳定性
鼓楼新悦.狗狗都市观: 犬与人类如何共同打造现代纽约、伦敦和巴黎(特装版 刷边精美书签0-500编号)
[英]克里斯·皮尔逊(Chris.Pearson) 著;邹赜韬 林青青 译/校
混沌工程实战 手把手教你实现系统稳定性
谢林与现代欧洲哲学
[英]安德鲁·鲍伊
混沌工程实战 手把手教你实现系统稳定性
科普勒斯顿阿哲学史11
[英]弗雷德里克·科普勒斯顿 后浪
混沌工程实战 手把手教你实现系统稳定性
哈利·波特 一段魔法史
[英]大英图书馆 编;向寻 冬翌 译
混沌工程实战 手把手教你实现系统稳定性
管教的常识:直面孩子成长的88个问题
[英]苏珊·伊莎克丝 译者;李江艳
混沌工程实战 手把手教你实现系统稳定性
钢琴技巧实践
[英]默里·麦克拉克伦(Murray McLachlan) 著;孙晓雪 译
混沌工程实战 手把手教你实现系统稳定性
踏入荒野:给孩子的野外生存指南(5大板块,60多个主题,涵盖野外生存的方方面面知识)
[英]泰迪·基恩
混沌工程实战 手把手教你实现系统稳定性
野蔷薇村的故事(全8册):40周年官方特别纪念版
[英]吉尔·巴克莲 著;[中]马爱农 译