扫码阅读
手机扫码阅读
预防为主,何以为辅?——《混沌工程》译者序
672 2023-07-20
我们非常重视原创文章,为尊重知识产权并避免潜在的版权问题,我们在此提供文章的摘要供您初步了解。如果您想要查阅更为详尽的内容,访问作者的公众号页面获取完整文章。
文章来源:
吾真本说混沌工程
扫码关注公众号
在敏捷软件开发中,质量内建是一种将质量意识融入开发各环节的流行做法,其理念是“预防为主”,旨在减少返工成本。然而,这种做法可能会导致一个错觉,即所有软件故障都可通过预防避免。事实上,当线上事故发生时,人们往往会指责开发、测试和运维人员,因为他们被期望不出错(参考来源)。
在云原生和微服务盛行的复杂系统中,个人无法掌握所有细节,团队成员对系统的理解各不相同,再加上通信过程中的信息损失,合作开发软件时不可避免地会产生不可预测的“暗债”。尽管通过软件测试和故障演练可以提高软件质量,但这些经常基于固定测试用例和相同流程的方法,无法使软件系统适应生产环境中的意外情况。
由于“人无完人”,“暗债”的产生是不可避免的,且其不可预知性意味着无法实现全面预防。根据“面向恢复的计算”(参考来源)的理念,系统失效不可避免,不能通过推导方法预测所有故障,且人的行为是系统失效的主要原因。
面对复杂系统中的“暗债”,我们可以采取三个措施:承认“暗债”的存在,提高故障发现和修复的速度,并建立警示标志。这些措施有助于在用户未察觉前快速发现并修复故障。
在承认“暗债”不可避免的基础上,实施“不按常理出牌”的安全实验,测试软件系统的稳定性,从而快速发现并修复故障,有效补充“预防为主”的质量内建策略。这种工程实践被称为混沌工程。
想要了解更多内容?
文章来源:
吾真本说混沌工程
扫码关注公众号
吾真本说混沌工程的其他文章
领域驱动的微服务架构设计工作坊实施步骤
领域驱动的微服务架构设计工作坊,能使软件开发团队所有成员在短时间内,迅速就新产品或遗留系统的价值、用户画像、关键场景、聚合达成一致,以便让团队快速识别软件产品的问题域和解决方案域,并据此拆分微服务和团队,来开发新产品或重构遗留系统。
混沌工程和软件系统稳定性实践在技术大会上没啥可讲的?
什么是混沌工程?用一句简单的话来解释,就是使用科学方法,用做有对照组的实验,来实证复杂的分布式软件系统,能够
OnD1操练纪要-微信朋友圈权限领域建模操练
操练题目:微信朋友圈权限领域建模操练。地点:腾讯会议;时长:2小时;报名人数:19人,全家福中人数:17人。
OnD1: 微信朋友圈权限领域建模操练
距离上次我搞编程道场转眼快3年了。难以找到自己满意的操练题目是隔了这么久的主要原因。好在我最近终于找到了更感兴趣的方向和题目。这是改名后的第一次操练道场。欢迎参加!
用"责任风暴"驱动OOADP和DDD
《领域驱动设计》一书主要讨论如何更好地做OOD。但OOD之前的OOA和需求工作流,甚至包括OOD如何落地,Evans在书中并没有讲。如果仅读这本书,而没有掌握OOAD整套的方法,是无法将DDD落地的。本文试图弥补这个空白。
加入社区微信群
与行业大咖零距离交流学习
SAFe6.0与CMMI3.0映射
白皮书上线
白皮书上线