两个最佳实践,以更好地使可观测性实践与提供卓越用户体验的目标保持一致。
译自 Rethinking Observability,作者 Chenxi Wang, Ph.D. 是 Jane Bond 项目的创始人,一家网络安全战略咨询公司。作为网络安全行业知名的战略家、演讲家和作家,王博士还担任 OWASP 董事会副主席......
组织需要一种方法来了解高度分布式系统中正在发生的情况。如今,“可观测性”已经成为首选方法,可观测性项目随处可见。
但是可观测性并未实现其承诺。许多组织已经尝试了各种规模的环境。在许多情况下,可观测性项目产生了大量数据和认知过载,但没有对系统可靠性带来明显改变。
此外,实现可观测性需要进行大规模的集成工作: 开发人员必须检测他们的代码以发出正确的跟踪、指标和日志,使系统变得可观察。检测仍然是一个艺术。目前对检测代码的最有效方法知之甚少,导致许多试验和错误的努力以及无处不在的摩擦。
但也许更重要的是,可观测性教会您关注面向操作的、短视的指标,而不是像用户一样思考服务:用户希望通过服务实现什么,她希望如何实现等等。这些都是通过底层指标不容易获取的洞察级别。
结果?可靠性工程团队被爆炸式的数据增长淹没,但仍然缺乏洞察力或工具来推动系统可靠性或用户体验的有意义结果。
我们认为,您需要关注关键用户旅程(CUJ),以及交付和保留 CUJ 的机制,而不是可观测性。
关键用户旅程(CUJ)是服务成功运行所必需的一系列用户交互。它直接影响用户对服务的满意度和参与度。CUJ可以是从检查购物车到检索账户余额或提交表单响应的任何事情。
通过关注关键用户旅程,我们可以丢弃关于服务内部行为的无用详细信息。因此,我们可以将注意力和资源集中在对用户真正重要的事情上——例如,从“service_db_be 报警”转移到“一半的登录 CUJ 已中断”。CUJ 方法的一个关键好处是您开始通过用户的视角来查看服务,这在当前的可观测性方法中大多缺失。
此外,当您将关键用户旅程与服务级目标(SLO)相结合时,会发生神奇的事情。
SLO 定义了服务旨在实现的特定、可测量的目标。当您将 SLO 应用于特定用户旅程时,您就有了真正用户体验的测量标准,以及预测和管理该体验的机制。
使用定义好的服务级目标来监控关键用户旅程,可以主动发出可靠性阈值即将被违反的信号。例如,如果您没有办法为不同的用户旅程维护独立的服务级目标,Taylor Swift 门票过载事件就可能发生。在极端的机器人活动和来自真实人类用户的高需求下,如果您无法将系统资源从非关键流量转移以保留购票旅程的服务级目标,那么您的门票服务就可能在压力下崩溃。
与跟踪一样,CUJ 跨服务观察数据,但另外它们还可以跨事务聚合信号,以识别传统工具可能错过的模式和趋势。通过整体观察关键用户旅程而不是隔离地观察系统性能,运维团队以及业务决策者可以了解在何时何地应用努力来构建更好、更强大和更可靠的用户体验。
在实践中,实现带有 SLO 的 CUJ 的一种方式是智能流量管理。在复杂的环境中,运维团队越来越多地将流量整形作为一个战略工具,以提供期望的业务结果,增强整体用户体验和服务可靠性。
更具体地说,流量整形允许您:
- 优先考虑关键用户旅程并维持 SLO: 流量整形允许您重新定向网络和系统资源,以关注关键用户旅程。通过保护对用户满意度和业务结果最重要的路径,可以对流量进行管理,以确保关键用户旅程获得所需的带宽和速度。在峰值加载时间,流量整形可以降低较不关键流量的优先级,并对关键用户体验进行优雅降级,从而确保高优先级旅程的性能保持在 SLO 阈值内。
- 增强用户体验: 预测性和自适应流量整形可以显著改善最终用户体验。高级流量整形工具可以根据用户行为、时间等因素预测性地调整调用模式。与反应性流量整形相比,这种主动方法有助于始终保持用户旅程 SLO,并提供无缝和吸引人的用户体验。
聪明的用户会知道这只是提供可观测性的不同方式。但我们强烈认为可观测性的未来在于提供更全面和准确的用户体验测量。CUJ 和特定旅程的 SLO 代表了从系统中心指标向更以用户为中心的方法迈出的重要一步。
通过接受关键用户旅程和特定旅程 SLO 等概念,我们可以更好地将可观测性实践与提供卓越用户体验的终极目标对齐。这不仅仅是跟上技术进步的步伐,而是关于如何从以用户为中心的视角重新思考我们衡量可靠性的方式。