回到创建这个问答的那一天。
ChaosMonkey是一种能够在一定时间内在平台上停止随机服务的工具。这样做的目的是获得一个稳定的平台,即容错平台。如果这种情况发生在大多数工程师工作的白天,他们就会变得积极主动,基础设施也会变得更加坚固。
目前,在AWS、GCP和Azure中创建了越来越多的服务。这些平台上的服务变得越来越重要。现在是时候让越来越多的工程师上船了。特别是大多数的开发人员仍然是孤注一掷的,也就是他们中的一些人只想开发,但这种趋势正在一点一滴地发生变化。
根据维基百科的说法,ChaosMonkey是在Netflix上发明的,还创造了更多的弹性工具:
| Purpose | Tool |
|:----------------------------------------------:|:-----------------:|
| Stops random services in production randomly | Chaos Monkey |
| Drop an availability zone, e.g. in AWS | Chaos Gorilla |
| Communication delays | Latency Monkey |
| Fix unhealthy services | Doctor Monkey |
| Dispose unused resources | Janitor Monkey |
| Detect nonconforming instance and notify owner | Conformity Monkey |
| Disable instances that are vulnerable | Security Monkey |
| Detect problems between 10-18 | 10-18 Monkey |基于此表,还可以通过开始编写一些停止随机服务的shell脚本来达到同样的目的。
基于所阅读的信息,弹性测试的定义基本上是测试应用程序和底层基础设施在生产中是否容易出错。
这篇博客文章也证实了这一点,它指的是在AWS上如何进行弹性测试,但也描述了IBM在这类测试中的视图。根据IBM的说法,有两个部分必须考虑,即问题影响和服务级别。在一个理想的世界中,客户根本不会注意到任何停机时间,但是如果一台机器死亡(分钟)或一个完整的数据中心(小时),那么客户可能会经历停机时间。最重要的是要尽可能透明地对待客户并尽量减少影响。
目前,公司没有使用弹性测试,但是读得越多,它就变得有趣了。特别是由于它也与DevOps结盟,公司试图让工程师们对DevOps心有灵犀。看起来,这种弹性测试促进了DevOps的思维方式。
有些人可能会说,测试不是DevOps的一部分,但是根据维基百科的说法,像ChaosMonkey这样的工具与DevOps工具链是一致的。
发布于 2019-01-27 17:45:50
我认为混沌测试将促进DevOps,除非事先通知了人们,并启用了正确的警报管理。如果人们不被触发,那么这是行不通的。
https://devops.stackexchange.com/questions/3976
复制相似问题