混沌工程学书籍

2020-10-27 01:48:48

2015年初,我受雇于Netflix领导交通团队。几周后,我还被要求包租一个混沌工程团队。当时,“混沌工程”本质上是一个名为“混沌猴子”的程序,有几篇支持的博客文章。我想了解一下我们的工程师对实践的看法,所以我四处打听:“什么是混沌工程?”我通常听到的回答是,“哦,那是我们在生产中打碎东西的时候。”

虽然这听起来很酷,但我可以整天在生产过程中破坏东西,而不会为Netflix提供任何价值。我想保住我的工作,而不是造成毫无意义的破坏。因此,我与我的团队坐下来,将混沌工程定义为一种提高可用性的主动性规程。我们大量借鉴了弹性工程领域和软件行业以外的其他研究,以构建遵循西方科学最佳传统的实验实践。我们的定义仍然发布在http://principlesofchaos.org/.上。混沌工程学的重点不是制造混乱,而是在混乱中绘制一条自信之路。

在Netflix工作是我在混沌工程之旅中的一大亮点。另一个是与Nora Jones(Jeli.io)合著并出版了“混沌工程:实践中的系统弹性”(Chaos Engineering:System Resiliency in Practice)。现在我很高兴有机会免费赠送我的书的电子版。

在大流行期间,远程通信确实在拯救生命。从未有过如此多的人依赖数字基础设施来执行甚至是基本的任务,比如获取食物。向远程工作和远程教育的大规模迁移已经不可逆转地改变了社会结构、规范和交流的进程。

数亿人的工作和学校在几周内就转移到了网上。对于我们将成为其中一部分的最复杂的社会技术系统来说,这是一个巨大的变化。在这个实验中,我们无法接触到控制组。我们只有一次机会把事情做好。赌注很高。

高风险带来高价值的机会。我们突然如此依赖的数字系统的安全性和可靠性从未像现在这样明显。我们有机会也有责任在可用性和安全性领域进行创新,以对人们至关重要的方式使这些系统变得更好。

旧的方法是行不通的。它们还不错,但还不够。事件响应管理、警报、指标/日志记录、灾难恢复-所有这些都很棒,但也都是被动的。他们关注检测时间和补救时间。我们需要积极主动的方法。TDD、结对编程、对等代码审查、语法扫描、QA--也很棒,但它们不会影响复杂系统中的可用性或安全性。你不能指望一个人为某种东西(一个复杂的分布式系统)提供安全保证,因为根据定义,这种东西超出了人的心智建模能力。

混沌工程是提高复杂系统安全性能的一种主动方法。我们必须依靠这些新的、创新的方法来帮助我们应对我们的组织所处的日益复杂和压力的问题。如果您觉得您的组织在可靠性方面面临着前所未有的需求和要求,那么您就是好伙伴:我们大多数规模的操作系统都处于同样的位置。有了混沌工程,您就有机会满足这些需求并驾驭这种复杂性。

这本书解释了混沌工程学的由来,并提供了一些思维模型来挑战当前关于系统可靠性的主流思想。然后,我们提供了来自Slake、Google、Microsoft、LinkedIn和CapitalOne的作者贡献的章节,这样您就可以听到负责大规模关键系统的人是如何接受混沌工程来应对当今的挑战的。我们还将探讨分布式软件工程的典型边界之外的一些内容,以了解该实践的未来及其在制造、自动车辆、人类系统、网络安全和持续验证方面的影响。

诺拉和我写了一本最全面、最实用的混沌工程学指南。我们甚至花了整整一章来建立ROI,这样您就可以看到混沌工程是如何产生积极影响的。

现在Verica正在赞助这本书,这样我们就可以免费给你寄一本电子书。作为一家公司,我们相信,其中探索的概念有可能彻底改变人们构建、运营和维护大规模系统的方式。要获得免费副本,请访问verica.io/book/。

如果您喜欢这篇文章,我们想您会喜欢由Casey Rosenthal和Nora Jones撰写的关于混沌工程的官方书籍“混沌工程,实践中的系统弹性”(Chaos Engineering,System Resiliency in Practice)。