我们只需4/30即可调整Futureestack注册。条款和条件适用。 现在注册

可观察性的10个原则:与现代软件成功的道路指南

9分钟阅读

以下文章的编辑版本最初出现在Diginomica.com2019年7月29日。

可观察性对于企业技术团队来说,是一个越来越重要的概念。这是因为,即使新技术和方法——云、DevOps、微服务、容器、无服务器,以及更多——都在提高速度,减少从代码到生产的摩擦,这些创新也带来了复杂的新挑战。New Relic创始人兼首席执行官Lew Cirne表示:“要想让产品在生产过程中发挥作用,有多少东西必须完美无缺,这真是令人惊讶。在我们的FutureStack18会议上告诉了观众去年9月。

不要错过:FutureStack18-Lew Cirne在可观测性平台的4根柱子上[视频]

真正的可观察性 - 不仅仅是战术监测 - 是掌握这种复杂性的关键,并充分了解公司软件和系统中发生的事情。但在现实世界中这意味着什么?我们如何定义现代可观察性平台?

我们认为从10个核心原则开始是一个好主意:

可观察性的10个原则

1.策划与参与

现代可观察平台擅长策策:将复杂性降低到大小,并为用户选择和呈现相关见解。但是这样的平台也应该支持参与 -例如,用户可以轻松使用自定义度量和数据源。

策策和参与在现代可观察平台中同样重要。策划使团队成为一个关键的生产力和效率边缘:大海捞针越小,找到针头越越少。(新的遗物客户可能会认出我们的分布式跟踪异常检测或者Kubernetes集群资源管理器作为策练如何有助于实现可观察性的示例。)

另一方面,参与,将溢价投放多功能性-以有价值的方式捕获和操作数据,即使平台不知道如何塑造或呈现数据。参与还依赖于可编程性:为用户提供工具,尤其是API,帮助他们自行帮助。

2.支持高级用户

Power用户是任何产品用户群的重要段。这些用户最有可能访问 - 并欣赏 - 将产品与竞争对手分开的更深层次的功能。电力用户通常是产品最受尊敬和有效的冠军。

当涉及到应用程序监控和可观察性时,高级用户往往有非常艰难和苛刻的工作;例如,它们中的许多实际上都生活在它们的集成开发环境(ide)中。这些用户希望一切都自动化,他们将从可编程和可扩展的可观察性平台中获益最多。例如,除了为新Relic平台注入数据外,新Relic平台还通过api实现了这一目标,允许高级用户消费数据(如创建自定义指标)。

3.应用程序规则

当我们与新的遗物客户交谈时,其中许多人提供类似的信息:“对我们的重要事项是我们的应用是健康的。”当应用程序经历问题时,客户希望尽可能快速准确地查明他的问题。

我们从这些客户那里学到的教训是响亮而清晰的:当它侧重于测量应用性能和浮出水面的应用性能障碍时,可观察性平台最有价值。

4.拥抱变革

可观察性空间的变化速度令人叹为观止,可观察性解决方案必须对能力和优先事项进行艰难的决策。亚博直播平台六个月前的意义的计划和特征可能不再是相关的,而产品路线图仍然是重要的,但可观察性解决方案必须容易地适应快速移动技术创新的现实。亚博直播平台

5.完全透明

有时可观察性需要全面,高级别的应用程序性能。其他时候,这一切都是为了钻入非常粒度的细节 - 没有惊喜和完整的背景。

一个好的可观察性平台可以同时提供这两种功能。它还为在高层和低层视图之间移动提供了一致、直观和透明的路径。

例如,假设您正在查看时间序列图表中的性能摘要视图。你注意到错误的飙升,你想了解更多关于发生的事情。您应该能够从该摘要视图钻取到底层数据 - 以查看未处理的异常,也许甚至查看堆栈帧或行代码这引入了错误。

同样重要的是,这样的观点应该显示您希望看到的有用指标以及了解真正正在发生的内容所需的背景。这种类型的透明度在高应力,高紧急情况下尤为重要,其中开发者和申请团队希望专注于修复问题 - 而不是找到它。

不要错过:语境中的复杂性:微服务和分布式跟踪[视频]

6.没有人知道所有的事情

可观察性不像好莱坞电影:一个人完全可以理解的单片应用程序的时代已经一去不复返了。当你有成百上千个变量需要观察时,就不会出现骑着白马的英雄天才来拯救世界。在复杂的现代环境中,即使是最优秀的随叫随到工程师也可能了解全局的一部分,但他们不太可能对需要跟踪的所有东西都有全面的了解。

例如,在新的遗物中,我们的工程组织包括60多名开发团队。在这样的环境中,它很大的不可能任何人拥有真正最新的,并完全了解每个团队所做的事情以及他们的项目如何进展。最大的企业开发组织比我们大的数量级。

所有这些都演示了为什么现代可观察性平台必须提供足够的信息是在呼叫 - 不仅仅是一些神话支持英雄,他知道所有人并看到全部找到并解决问题。

7.简单的开始

在可观察性平台中,时间对价值的贡献尤其重要——团队依靠这个平台来解决他们最紧迫和最昂贵的应用程序问题。但是快速起步并不总是那么容易,尤其是随着可观察性平台越来越多地接受更多的数据源和覆盖更多的用例。

这就是为什么应不断更新可观察性平台以使更多元素制作 - 例如,开箱即用的新用户代理和新的指标。而平台开发人员应该努力使其开箱即用的经验表明尽可能意识到许多客户,无论好坏,都将在实际使用它来解决事件时首先体验平台。

这是关于平台的全部

现代可观察性平台必须采用全堆叠,端到端的方法。当然,有很多完美的可怜的可观察点解决方案。亚博直播平台它们可以解决许多类型的问题 - 例如,前端监控点解决方案可以识别可能会产生重大性能瓶颈的JavaScript问题。

然而,性能问题并不总是足够礼貌地停留在解决方案能够找到它们的地方。亚博直播平台例如,许多前端问题起源于应用程序堆栈的深处,甚至起源于基础设施问题。随着应用程序和基础设施继续变得更加复杂,对全栈可观察性平台的需求将变得更加重要。

9.“快”是一个特征

对于现代可观察性平台,快速获取正确的信息至关重要的信息非常重要。实现这一目标可以在它影响客户之前解决问题之间的区别;或者捕捉到过晚的问题,潜在地失去了数千美元的收入,更不为可能损坏公司的品牌形象和客户关系。

但快速行动不仅仅是快速地;它也是关于精确度和可靠性和响应性。

当然,最小化“玻璃时间”(事件发生的时刻和平台发出警告的时刻之间的关键间隙)是至关重要的。然而,在这个过程中,涉及到许多可移动的部分——从发现问题到警告正确的团队成员,再到提供可操作的信息——所有这些都必须一起工作马上

这就是为什么对于提供相关和有针对性的警报的可观察性平台来说,为什么尤其重要,而且通常是非常具有挑战性的。当客户对这些关键能力有问题或疑虑时,供应商迅速响应也很重要。

10.通过设计开放

开放系统和标准,例如最近宣布OpenTeLemetry项目在现代企业努力管理复杂性,减少摩擦力,避免供应商锁定,正变得越来越核心。例如,新的遗物完全投资于带来OpenTracingOpenCensus和OpenTelemetry支持我们的客户-使用户能够访问和可视化所有相关的遥测数据,包括自定义指标,通过New Relic分布式跟踪和新的遗物一个平台

New Relic的目标是让客户移动得更快,更灵活,即使我们了解更多关于我们客户的业务需求和优先级。我们相信,对于任何现代的可观测平台来说,这些都是值得的目标。

不要错过:Opentrocing,Opencensus,OpenTeLemetry和新遗物