云原生微服务应用中知情且可评估的可观测性设计决策
软件工程
2024-08-09 v2
摘要
可观测性对于确保微服务应用的可靠性至关重要。这些应用通常容易发生故障,因为它们包含许多部署在异构环境中的独立服务。若“正确”采用,可观测性可帮助开发人员快速识别和排除故障。然而,对微服务应用进行可观测性的插桩和配置并非易事,它不仅依赖于工具,还涉及成本。架构师需要理解与可观测性相关的权衡,以便在不同的可观测性设计方案之间进行权衡。尽管如此,这些架构设计决策缺乏系统方法的支持,通常仅依赖“专业直觉”。在本文中,我们主张采用一种系统方法来得出知情且可持续评估的可观测性设计决策。具体而言,我们专注于云原生微服务应用的故障可观测性,并将其转化为可测试和可量化的属性。为实现这一目标,我们首先对云原生堆栈中可观测性设计决策的规模和范围进行建模。随后,我们提出可通过所谓“可观测性实验”为任何微服务应用确定的可观测性指标。我们展示了实验工具 OXN 的概念验证实现。OXN 能够像混沌工程(Chaos Engineering)一样向应用中注入任意故障,同时还具备修改可观测性配置的独特能力,从而能够评估此前未被探索的设计决策。我们使用一款流行的开源微服务应用演示了我们的方法,并展示了不同可观测性设计决策所涉及的权衡。
引用
@article{arxiv.2403.00633,
title = {Informed and Assessable Observability Design Decisions in Cloud-native Microservice Applications},
author = {Maria C. Borges and Joshua Bauer and Sebastian Werner and Michael Gebauer and Stefan Tai},
journal= {arXiv preprint arXiv:2403.00633},
year = {2024}
}
备注
21st IEEE International Conference on Software Architecture (ICSA'24)