第 17 章 让我们开始网络物理之旅
本作品已使用人工智能进行翻译。欢迎您提供反馈和意见:translation-feedback@oreilly.com
目前 ,人们对混沌工程的关注主要集中在基础设施和应用程序的创建、部署和管理上,这些基础设施和应用程序支撑着各种以互联网为中心的产品和服务,如Netflix、AWS和Facebook。在这些领域中,创新、大规模、复杂和互联的软件驱动系统占据了主导地位。
在这些信息技术和云主导的生态系统中,混沌工程的目标是发现和消除系统行为问题,以实现更可靠、更稳健的系统。通过在复杂系统中应用混沌工程实践,您可以尝试了解自己的盲点所在。有时,你会发现自己其实无法察觉到什么时候出了问题。有时,你会发现自己对系统行为的假设根本站不住脚。你可能会发现,你正在逆向工程你的实现的真实模型,并发现它与你想象的设计相去甚远。
在本章中,我们将探讨四个主题:
-
传统功能安全实践的各个方面
-
功能安全与混沌工程之间的重叠之处(例如,执行故障模式与影响分析)
-
对于目前正在开发的新一代软件密集型系统,功能安全实践还有很大的改进空间
-
混沌工程学原理在哪些方面可用于填补这些空白,使工程师在追逐下一个重大突破创新的同时,还能安全地推动技术的进步
我们将在网络物理系统的背景下考虑这些主题。
网络物理系统的崛起
有许多生态系统是大多数软件工程师所不熟悉的,在这些生态系统中,软件仍然是推动创新的核心。网络物理系统(CPS)就是这样一个生态系统。CPS 是一种硬件与软件相互连接的系统,它被部署到周围的物理世界中并与其互动。从航空电子系统或自动驾驶汽车到传统的操作技术部署,如化学精炼厂的工业控制系统,都是此类系统的例子。通常情况下,这些系统由传感器、嵌入式设备、通信传输和协议以及半打不同的晦涩操作系统组成,而且往往对众多专有黑盒组件具有关键依赖性。
现代 IT 和基于 Cloud 的系统往往已经因为必要的复杂性而不堪重负。即使部署考虑仅限于 x86 服务器,通过通用的 TCP/IP 接口进行一致通信,只有一个或两个操作系统目标,情况也是如此。CPS 通过多样性和不透明性增加了多层复杂性。似乎这还不够,人们越来越需要将 CPS 更有凝聚力地整合到企业 IT 和云操作中。因此,将您现在知道的所有复杂性,添加一些疯狂的变化,然后将其部署到物理世界中,在那里,失败的风险简直就是生死攸关的问题。
在此背景下,如果你认为混沌工程学的目标 ,是消除疑问、挑战假设,以了解系统的复杂性及其影响,从而生产出更可靠、更有弹性的系统,那么CPS就为混沌工程学提供了全方位的沃土。
混沌工程学的某些 ,与消除系统与其环境交互过程中的未知数的需求非常吻合,因此其某些方面已经体现在名为 "功能安全 "的古老工程实践中。功能安全学科试图消除机器、流程和系统中对人身和财产造成伤害的不可接受的风险。CPS 的设计者和开发者,尤其是那些部署在关键环境中的 CPS,通常会利用功能安全实践来评估和管理与他们所创造的产品相关的风险。
功能安全与混沌工程
功能安全 标准和实践有多种形式。有多种行业特定标准。例如,我是 SGS-TÜV 认证的汽车功能安全专业人员,这意味着我通过了 ISO 26262 标准的工作知识认证。正如您可能从冗长的证书名称中猜到的,这是汽车行业的标准。该标准专门针对乘用车的汽车电气和电子系统。电子系统 "部分恰好是软件被归入该标准的原因,因为许多电子系统都是小型嵌入式计算机,可执行协调自动紧急制动(AEB)等任务,或通过神奇的车载 "信息娱乐 ...