混沌工程:在生产环境中进行实验

找到描述稳定状态的业务指标并建立稳定状态的假设后,继而采用注入多样的现实世界事件的方式验证微服务稳定性,但在什么样的环境中进行验证呢?因为稳定性的验证需要注入事件来观察对系统有什么样的影响,这种验证方式和做科学实验一样。问题变为在什么样的环境中进行实验呢?

我们测试提倡尽早的发现问题,越早发现越好,最好在需求阶段或方案阶段的静态测试发现,其次是在单元测试、集成测试、系统测试,最后是在生产环境中发现不了问题。测试的一个经典信条是寻找软件的缺陷要离生产环境越远越好。在越接近生产环境中调试,涉及的服务和系统越多越复杂,越难找到问题的原因。但是在混沌工程领域,整个策略却要反过来,离生产环境越近的地方实验越好,这是为什么呢?因为在混沌工程的实验时,我们所感兴趣的是整个系统作为一个整体的行为。整个系统包括代码,状态,输入以及第三方系统导致的难以遇见的系统行为。此外我们要在生产环境中建立系统的信心

有状态服务

在微服务架构中,我们提单的状态通常指有状态服务,如数据库服务。仅仅用数据库保存测试设置开关这样的系统和用数据库保存已生产数据的系统在行为上是不同的。其他一些有状态服务包括缓存服务、对象存储服务以及可持久化的消息服务配置数据是另外一种影响系统行为的状态。无论使用静态配置文件夹还是动态配置服务如etcd,这些配置信息本身也是一种状态。

即使在无状态的服务中,状态仍然在内存中以数据结构的形式存在于请求之间。

在云服务中,一个人自动弹缩组中心虚拟机或者容器个数也是一种状态,这种状态随时间和外部需求或集群变化而不断变化。

生产环境中的输入

用户永远不会如你预期的那样与生产系统交互,这个问题在设计系统的UI时尤为重要。

试想一下,系统提供一个可以从用户接收不同类型请求的服务。你可以为用户输入设计一个数据模型组合,但因为用户永远不会如你所预期般地行动。

真正对系统建立信心的唯一方法是在生产环境中真实的输入数据进行验证并实验。

第三方系统(外部有效性)

我们虽然可以预见所有在控制范围内下系统的状态,但总是会依赖于外部系统,这些外部系统的行为不可能全部知道。

如果你的微服务运行在AWS这样的云服务中,那么所依赖的大量的又不完全了解的外部服务的存在必然有故障存在的风险。即使是全部运行在自己的数据中心上,你也会发现在生产环境中微服务还是会依赖其他的外部服务,例如dns和ntp等。

第三方系统在自己的生产环境中的行为总是和它与其他环境集成的大环境中的行为有所不同。这也强调了在生产环境中进行实验的必要性,生产环境是微服务和第三方系统进行真实交互的唯一场所。

生产环境变更

微服务版本在不断变更,微服务所运行的云服务以及k8s平台版本变更,都需要升级。生产环境中的这些变更,很明显在测试环境中想要模拟这些行为非常困难。

参考资料:侯杰翻译的《混沌工程》之在生产环境中实验
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 214,377评论 6 496
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,390评论 3 389
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 159,967评论 0 349
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,344评论 1 288
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,441评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,492评论 1 292
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,497评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,274评论 0 269
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,732评论 1 307
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,008评论 2 328
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,184评论 1 342
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,837评论 4 337
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,520评论 3 322
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,156评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,407评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,056评论 2 365
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,074评论 2 352

推荐阅读更多精彩内容

  • 概念 生产就绪:如果一个应用程序或服务被证实可以处理生产环境的业务流量,那么它就被认为是生产就绪的。 混沌测试:在...
    zlup阅读 1,663评论 0 3
  • 前段时间有报道称,有学者质疑“大数据”理论,也有硅谷公司负责人质疑大数据应用的效果。结合2011年Gartner关...
    栀子花_ef39阅读 1,421评论 0 5
  • 大数据学习交流群:808769635 前段时间有报道称,有学者质疑“大数据”理论,也有硅谷公司负责人质疑大数据应用...
    顺治帝阅读 3,240评论 0 5
  • 如果微服务架构落地实践(上)中的5点都让你膝盖中箭,那么根据个人的经验,综合解决微服务实施难点的第一步就是: 1....
    cooooooooodeway阅读 383评论 0 0
  • 2019年11月6日周三19:00,我们准时迎来了第三届青椒计划专业课程第七讲《班主任的那些事儿》。 北京市东城区...
    于杰雄阅读 750评论 2 6