混沌工程实战:手把手教你实现系统稳定性
Russ Miles
黄威 译
出版时间:2020年08月
页数:131
“这本教程简单易懂,迈尔斯利用Chaos Toolkit解释了混沌工程学的理论和实践。对于任何想开始实践混沌工程的人,这本书都是很棒的资源。”
——Aaron Blohowiak
Netflix工程经理,《混沌工程: Netflix系统稳定性之道》合著者
“这本书通过案例深入浅出地解释了如何完成混沌工程实验,书中有关游戏日的介绍尤其重要,是一本非常实用的入门指南。”
——黄帅
亚马逊AWS资深云架构师
“我相信,通过阅读这本书,读者能非常快速地将混沌工程应用到自己的项目中,让越来越多的系统运行得更加稳定。”
——唐刘
PingCAP首席架构师
“通过阅读这本书,不仅可以深入了解混沌工程,也可以建立起一套完整的思维框架,从而面对工作中的各种问题。”
——焦振清
京东架构师

大多数公司致力于规避故障,但对分布式系统而言,更好的方法是拥抱故障并从中学习。混沌工程旨在提前发现系统的缺陷,从根本上提高系统的稳定性,并实现反脆弱性。
本书是写给软件工程师的混沌工程实践指南,作者从基本概念出发,逐渐展开混沌工程的整体流程,并提供了配套代码示例和真实案例说明。以下是本书的主要内容。
● 学会像混沌工程师一样思考。
● 构建假说待办集,确定系统可能出现的问题。
● 根据假说规划和开展混沌工程游戏日。
● 使用Chaos Toolkit和Python编写并运行自动化混沌工程实验。
● 将混沌工程实验转变为测试,确认已修复缺陷。
● 实现持续混沌,证实缺陷不会再次出现。
  1. 前言
  2. 第一部分 混沌工程入门
  3. 第1章 混沌工程精粹
  4. 1.1 混沌工程的定义
  5. 1.1.1 混沌工程涉及整个社会技术系统
  6. 1.1.2 暗债何处寻
  7. 1.2 混沌工程的流程
  8. 1.3 混沌工程的实践
  9. 1.4 混沌工程和可观察性
  10. 1.5 有所谓的“混沌工程师”吗
  11. 1.6 小结
  12. 第2章 构建假说待办集
  13. 2.1 先做实验?
  14. 2.2 收集假说
  15. 2.2.1 事故分析
  16. 2.2.2 描述系统
  17. 2.2.3 找到“可能出错的地方”
  18. 2.3 引入可能性和影响
  19. 2.3.1 绘制可能性与影响关系图
  20. 2.3.2 添加关注点
  21. 2.4 构建假说待办集
  22. 2.5 小结
  23. 第3章 规划并手动开展游戏日
  24. 3.1 何谓游戏日
  25. 3.2 规划游戏日
  26. 3.2.1 选择一个假说
  27. 3.2.2 选择游戏日风格
  28. 3.2.3 决定谁做参与者,谁做观察者
  29. 3.2.4 确定开展游戏日的位置
  30. 3.2.5 确定游戏日开始及持续的时间
  31. 3.2.6 描述游戏日实验
  32. 3.2.7 获得批准
  33. 3.3 开展游戏日
  34. 3.4 小结
  35. 第二部分 混沌工程自动化
  36. 第4章 为自动化混沌工程准备工具
  37. 4.1 安装Python 3
  38. 4.2 安装Chaos Toolkit的命令行界面
  39. 4.3 小结
  40. 第5章 编写并运行自动化混沌工程实验
  41. 5.1 建立示例目标系统
  42. 5.2 探索并发现缺陷的迹象
  43. 5.2.1 开展实验
  44. 5.2.2 chaos run的内在机制
  45. 5.2.3 稳态偏差可能表示“有改进空间”
  46. 5.3 改进系统
  47. 5.4 验证改进
  48. 5.5 小结
  49. 第6章 混沌工程全流程
  50. 6.1 目标系统
  51. 6.1.1 平台:三节点Kubernetes集群
  52. 6.1.2 应用程序:单一服务,复制三次
  53. 6.1.3 人员:集群管理团队和应用程序团队
  54. 6.2 寻找缺陷
  55. 6.2.1 命名实验
  56. 6.2.2 定义稳态假说
  57. 6.2.3 引入实验操作方法中的混乱条件
  58. 6.2.4 在操作方法中使用Kubernetes驱动程序
  59. 6.3 成为会还原的好公民
  60. 6.4 整合所有步骤并运行实验
  61. 6.5 小结
  62. 第7章 合作的混沌工程
  63. 7.1 共享实验定义
  64. 7.1.1 将配置值移入配置块
  65. 7.1.2 将配置属性指定为环境变量
  66. 7.1.3 将密钥移到外部
  67. 7.1.4 划定密钥范围
  68. 7.2 指定作用模型
  69. 7.3 创建并共享具有可读性的混沌工程实验报告
  70. 7.3.1 生成实验的单次运行报告
  71. 7.3.2 生成并共享实验的多次运行报告
  72. 7.4 小结
  73. 第8章 创建混沌工程实验驱动程序
  74. 8.1 无须额外代码即创建自定义驱动程序
  75. 8.1.1 用HTTP调用实现probe和action
  76. 8.1.2 用进程调用实现probe和action
  77. 8.2 用Python创建自定义混沌工程驱动程序
  78. 8.2.1 为Chaos Toolkit扩展项目新建Python模块
  79. 8.2.2 添加probe
  80. 8.3 小结
  81. 第三部分 混沌工程操作
  82. 第9章 混沌与操作
  83. 9.1 实验中的操控
  84. 9.2 启用control
  85. 9.2.1 在实验代码中启用control
  86. 9.2.2 全局启用control
  87. 9.3 小结
  88. 第10章 实现混沌工程的可观察性
  89. 10.1 为混沌工程实验加入日志
  90. 10.2 追踪混沌工程实验
  91. 10.2.1 引入OpenTracing
  92. 10.2.2 应用OpenTracing control
  93. 10.3 小结
  94. 第11章 人为干预自动化混沌工程实验
  95. 11.1 为control新建Chaos Toolkit扩展模块
  96. 11.2 加入非常简单的人机交互控制
  97. 11.3 跳过或执行实验中的activity
  98. 11.4 小结
  99. 第12章 持续混沌
  100. 12.1 何谓持续混沌
  101. 12.2 使用cron安排持续混沌
  102. 12.2.1 创建脚本执行混沌测试
  103. 12.2.2 将混沌测试脚本添加到cron
  104. 12.3 用Jenkins调度持续混沌
  105. 12.3.1 下载Jenkins
  106. 12.3.2 将混沌测试添加到Jenkins构建中
  107. 12.3.3 使用构建触发器调度Jenkins中的混沌测试
  108. 12.4 小结
  109. 附录A 混沌工程工具包Chaos Toolkit
  110. 附录B Chaos Toolkit社区游乐场
书名:混沌工程实战:手把手教你实现系统稳定性
作者:Russ Miles
译者:黄威 译
国内出版社:人民邮电出版社
出版时间:2020年08月
页数:131
书号:978-7-115-54260-1
原版书书名:Learning Chaos Engineering
原版书出版商:O'Reilly Media
Russ Miles
 
Russ Miles是一位具有10年编程经验的开发人员,其涉足的语言包括:从Atari 800XL上的Basic到Mac OS X上的Mono。Russ是一位虔诚的Mac信徒,近年来,他专注于多平台环境下复杂的分布式系统开发,包括Windows、Linux、Unix和Mac OS X上多种风格的开发。Russ目前是General Dynamic UK Limited的一位高级技术专家,还是许多项目的顾问,包括从内部工具开发到国际标准出版物。只要有可能,Russ就会回到编程领域中来,并为多个开源项目做出了贡献。他还创立了他自己的一些开源项目。
在Russ意外地参加英国计算机协会的高级编程专家组的一次错误的会议时,他“发现”了面向方面编程。Russ无法记起他参加会议的实际目的,但是他很幸运,他参加了一次名为“Aspect-Oriented Programming Using AspectJ”的讲座,演讲人是IBM的Adrian Colyer。Russ对面向方面的潜力和AspectJ的成熟印象深刻,他关于软件体系结构的观点也发生了永久性的变化。他立即利用这种新方法,改变了他及其团队开发软件的方式。很快两年过去了,Russ仍在开发和倡导面向方面的方法。本书是Russ幸运地与AspectJ倡导者第一次碰面的结晶。
Russ持有格林威治大学计算机科学的优等学士学位,目前是牛津大学Kellogg学院的成员,他在这里完成了他的计算机科学硕士学位。他还为ONJava.com和java.net写了许多文章,并且是O'Reilly的技术顾问。
Russ is totally indebted to his fiancée, Corinne, for her
complete love and support while writing this book. Oh,
and he still can’t believe she said yes to getting married
next year, but I guess some guys have all the luck!
Russ has been writing for a long time and gets a huge
kick out of demystifying technologies, tools, and
techniques that shouldn’t have been so mystified in the
first place. After being a developer at various ranks for
many years, Russ now keeps his days (and sometimes
nights) busy by heading up a team of software
developers working on super secret services for the
music industry. He’s also just finished up his Oxford
Masters degree that only took him five years. He’s
looking forward to a bit of rest...but not for too long.
Russ is an avid guitar player and is relishing the spare
time to get back to his guitars. The only thing he’s
missing is Head First Guitar...c’mon Brett, you know
you want that one!
 
 
购买选项
定价:59.00元
书号:978-7-115-54260-1
出版社:人民邮电出版社