写点什么

混沌实践访谈:混沌工程和系统可观测性密不可分

  • 2019-03-21
  • 本文字数:2964 字

    阅读完需:约 10 分钟

混沌实践访谈:混沌工程和系统可观测性密不可分

在 O’Reilly 的一份新报告“Chaos Engineering Observability: Bringing Chaos Experiments into System Observability”中,Russ Miles 探究了为什么他认为可观测性和混沌工程这两个主题是“密切相关”的。他认为,随着工程师们深入开展混沌实验,他们会提出很多有关系统底层的问题。


在 O’Reilly 最新的一份报告“Chaos Engineering Observability: Bringing Chaos Experiments into System Observability”中,Russ Miles 探究了为什么他认为可观测性和混沌工程这两个主题是“密切相关”的。他认为,随着工程师们深入开展混沌实验,他们会提出很多有关系统底层的问题。观察并理解正在运行的系统是实现这一目标的一个重要的先决条件。因此,报告提供了一个简短的指南,用于收集混沌实验的指标、日志和跟踪信息。


ChaosIQ.io CEO Miles 与 Humio 团队合作,一起产出了这份 32 页的报告。报告主题包括:混沌工程信号(探索如何获得实验进展通知,以及如何针对相关事件采取行动,以便更好地控制实验)、混沌实验日志(需要一种有效的集中式日志解决方案)、跟踪混沌实验(例如发送OpenTracing数据,以便“拼凑出关键的答案,比如发生了什么、事件发生的顺序,以及是谁挑起了整个事件”)。


InfoQ 联系了 Humio 的 CEO Geeta Schmidt,从她那里了解了 Humio 团队如何看待他们与使用日志管理平台和混沌工程所做的工作之间的关系。


借助混沌实验,开发人员、安全团队和运营管理人员可以以故障和威胁注入的形式进行有意的实验,以此来细化、重新校准对系统的理解。对系统的进一步理解为客户和用户带来了更好的体验,并改进了业务结果。


混沌原则”的“混沌实践”一节中提到:“在一开始就定义’稳定状态’,作为系统的可测量输出,用以表明系统的正常行为”。Schmidt 认为,为了“检测系统何时是正常的,以及随着实验的进行它是如何偏离正常状态的”,发展观察系统的能力是非常重要的。她强调,在与 Humio 客户一起工作时,团队已经意识到,访问可定制的、细粒度的、接近实时的度量和日志可以更好地理解实验所带来的影响。


来自 Gremlin 的 SRE 负责人 Tammy Butow 在去年的伦敦 QCon 大会上发表了演讲。他认为,实现有效的混沌工程实践有三个主要先决条件:高严重性事件管理、监控和度量停机影响的能力。最初由 Netflix 赞助,并由 Casey Rosenthal、Lorin Hochstein、Aaron Blohowiak、Nora Jones 和 Ali Basiri 共同撰写的 O’Reilly 混沌工程报告对这个主题进行了广泛的描述,并讨论了识别出需要在实验期间进行观察的指标的重要性。


在最近发布的InfoQ混沌工程电子杂志中,Michael Kehoe 和 Aaron Rinehart 分别在“LinkedIn’s Waterbear: Influencing resilient applications”和“Using Chaos Engineering to Secure Distributed Systems”这两篇文章中讨论了观察故障注入实验和从可控实验结果中获得见解的必要性。Adaptive ability Labs 联合创始人 John Allspaw 表示,“可观测性”一词与之前的含义有所不同,而且与此相关的人为因素不应该被忽视。


InfoQ 最近与 Miles 讨论了混沌工程和可观测性的话题。


InfoQ:感谢你能够加入我们的讨论。如果团队是第一次接触混沌工程和可观测性,他们应该从哪里开始着手?


Russ Miles:可以从“混沌原则”开始。

在此基础上,我们建议使用混沌工具包,学习一些在线教程,然后着手创建自己的一些混沌实验。这样你就会开始质疑系统的可观测性,然后下一步可以参考“Distributed Systems Observability”和“Chaos Engineering”这两本书。

最后,你也可以加入一些很棒的社区,在社区中交换意见,获得免费的建议。可加入的社区有谷歌混沌社区、Gremlin 混沌工程社区 Slack 频道,以及我们的团队和社区 Slack 频道。

混沌工程是构建永不停机系统的一个令人兴奋的旅程。在前进的路上,这些社区可以帮助你,我们都认为混沌工程是一个关键的心态和纪律,可以帮助我们建立更强大、更有弹性、可靠和安全的系统。


InfoQ:在进行混沌实验之前,系统可观测性有多重要?


Miles:这个问题的关键词是“之前”。拥有良好的系统可观测性是非常重要的,但不管是否进行混沌工程实验,这个都很重要,因为它不只是一个先决条件。

混沌工程和可观测性这两者配合得很好。

在某些情况下,在进行混沌实验之前,你可能已经具备了一定的系统可观察性,这在通过混沌工程实验来诊断系统漏洞表面偏差时无疑是有帮助的。当然,在通进行混沌工程实验过程中,这将成为一种“强制性功能”,如果不存在更好的系统可观察性,它将会提出明显的要求。

因此,根据我们的经验,良好的系统可观测性并不是混沌工程的一个强有力的先决条件。更多的时候,在进行混沌实践时,对系统可观测性的需求将会凸显出来。随着时间的推移,这两种技术将会相互促进和加强。

有趣的是,这也是为什么混沌工程会成为其他非功能性或以运营为重点的系统改进的一个很好的“强制性功能”。混沌工程通常会使这种容易被遗忘或被降低优先级的关注点变得完全不可忽视,它帮助每个人意识到这些挑战的存在,并设计和实现系统健壮性和弹性策略来应对这些挑战。

简而言之,混沌工程使每个人都成为一个更好的系统所有者,而系统可观察性是一种几乎立即就能获得极大好处的能力。


InfoQ:混沌工程实践会面临什么特别的挑战吗?理解和观察混沌实验本身有多重要?


Miles:组织实践混沌工程失败的原因有很多。他们可能不理解这种理念,或者混沌工程师限制其他团队进行混沌实验。混沌工程做得不好很容易导致这种理念被拒绝。

ChaosIQ 团队相信,组织中的每个人最终都会加入实践混沌工程的行列。混沌工程并不是专属于少数人的技术,而是一种有用的理念,适用于所有拥有关键任务业务系统的人。这意味着即使对于中等规模的组织来说,也存在大规模的混沌工程挑战。从规模上看,混沌工程失败的几率增加了。

不管对于什么样的规模,将混沌工程实践当作一种惊喜是走向失败的原因之一。也就是说,在运行实验时,如果有人感到惊讶,那么这对每个人来说通常都是一个糟糕的时刻,因为这些大吃一惊的人通常会请求不要再运行实验。

有时候,用混沌实验来给团队一个惊喜也是有用的,比如说作为一个游戏日的一部分。为了探究团队如何应对动荡的环境,比如探究人员/实践/流程的弱点,你可能不会告诉团队接下来将会应用哪些条件,因此对他们来说可能是一个惊喜。然而,游戏日本身并不会令人感到意外,这一点很重要。

在执行混沌实验时,确保这些实验不应该让任何人感到惊讶。每个可能受到混沌实验影响的人都应该知道正在执行什么样的混沌实验、何时执行、针对什么执行以及为什么要执行这些实验。

混沌工具包和平台的实验格式以及可插拔混沌工程可观察性工具的组合使得这种跨团队和跨组织的可见性成为可能,从而避免了意外混沌的危险以及可能会出现的不良反应。

因此,在很多方面,无论团队的大小和混沌工程的能力如何,将混沌实验引入到整个系统的可观察性中对于避免这些陷阱来说都是至关重要的。混沌工程实验也是系统中的公民,它们应该是良好的公民,除了运行时系统的其他方面,它们的活动也需要一起被了解和观察。


Miles 的报告“Chaos Engineering Observability: Bringing Chaos Experiments into System Observability”可通过 Humio 网站下载,下载前需要进行注册。


查看英文原文:


https://www.infoq.com/news/2019/03/chaos-engineering-observability


2019-03-21 10:034133
用户头像

发布了 731 篇内容, 共 484.3 次阅读, 收获喜欢 2008 次。

关注

评论

发布
暂无评论
发现更多内容

如何在 NocoBase 中实现 CRM 的线索转化

NocoBase

开源 低代码 开发工具 教程 CRM

Markdown 区块的妙用

NocoBase

开源 markdown 低代码 开发工具 教程

荣耀一箭,射穿PC行业的苹果屏障

脑极体

AI

Appple 超级体验官招募!大声说出你的宝藏 App~

RTE开发者社区

02 HarmonyOS Next仪表盘案例详解(一):基础篇

全栈若城

HarmonyOS NEXT

AI智能体的开发

北京木奇移动技术有限公司

AI智能体 软件外包公司 AI英语学习

DeepSeek部署实战:模型对比、部署优化与应用场景解析

中烟创新

YashanDB安装初始环境调整

YashanDB

数据库 yashandb

GPU 云服务器的软件系统设计和实践

Baidu AICLOUD

GPU服务器 百度百舸 百度太行

百万技术博主实测:AI+Java 一键写程序 ,写一句代码算我输

飞算JavaAI开发助手

PM求职必备软件!这10款工具助你变身Offer收割机!

职场工具箱

产品 效率工具 产品经理 求职 办公软件

2025 Lakehouse 趋势全景展望:从技术演进到商业重构

镜舟科技

开源 架构 iceberg LakeHouse StarRocks

INFINI Labs 推出 Coco AI,携手 DeepSeek 打造下一代企业知识管理神器!

极限实验室

console Gateway easysearch CocoAI

YashanDB目录划分

YashanDB

数据库 yashandb

2025 年 Java 工程师必备的 AI 工具链配置方案

飞算JavaAI开发助手

比 cursor 更懂中国程序员,飞算 JavaAI 助力代码平权

飞算JavaAI开发助手

《Operating System Concepts》阅读笔记:p179-p179

codists

操作系统

动手魔改属于自己的 Frida

LLLibra146

Frida Android 逆向

03 HarmonyOS Next仪表盘案例详解(二):进阶篇

全栈若城

HarmonyOS NEXT

YashanDB安装前操作系统参数调整

YashanDB

数据库 yashandb

使用 OpenLIT 对 LLM 应用进行可观测

观测云

OpenTelemetry LLM

混沌实践访谈:混沌工程和系统可观测性密不可分_软件工程_Daniel Bryant_InfoQ精选文章