Observability is important to ensure the reliability of microservice applications. These applications are often prone to failures, since they have many independent services deployed on heterogeneous environments. When employed "correctly", observability can help developers identify and troubleshoot faults quickly. However, instrumenting and configuring the observability of a microservice application is not trivial but tool-dependent and tied to costs. Practitioners need to understand observability-related trade-offs in order to weigh between different observability design alternatives. Still, these architectural design decisions are not supported by systematic methods and typically just rely on "professional intuition". To assess observability design trade-offs with concrete evidence, we advocate for conducting experiments that compare various design alternatives. Achieving a systematic and repeatable experiment process necessitates automation. We present a proof-of-concept implementation of an experiment tool - Observability eXperiment eNgine (OXN). OXN is able to inject arbitrary faults into an application, similar to Chaos Engineering, but also possesses the unique capability to modify the observability configuration, allowing for the straightforward assessment of design decisions that were previously left unexplored.
翻译:可观测性对于确保微服务应用的可靠性至关重要。这类应用通常部署在异构环境中,包含众多独立服务,因此极易发生故障。若"正确"运用可观测性,可帮助开发者快速识别并排除故障。然而,为微服务应用实施和配置可观测性并非易事,其过程既依赖工具又涉及成本。实践者需要理解可观测性相关的权衡取舍,以便在不同设计方案间做出抉择。但当前这类架构设计决策缺乏系统化方法支持,通常仅依赖"专业直觉"。为通过具体证据评估可观测性设计权衡,我们主张通过实验比较不同设计方案。要实现系统化且可复现的实验流程,自动化不可或缺。我们提出了一种实验工具的概念验证实现——可观测性实验引擎(OXN)。OXN能够向应用注入任意故障(类似于混沌工程),同时具备独特的可观测性配置修改能力,使得以往未被探索的设计决策能够获得直接评估。