FaaSter Troubleshooting——评估无服务器应用的分布式追踪方法
FaaSter Troubleshooting -- Evaluating Distributed Tracing Approaches for Serverless Applications
AI总结:
针对无服务器应用故障排查难、平台观测支持不足的问题,研究者提出故障可观测性表征模型,对比开发者驱动与平台支持两种分布式追踪方案的性能权衡,为无服务器架构故障排查提供新参考。
摘要:
无服务器应用的故障排查难度尤其困难,因为这类应用通常由各类托管及半托管服务构成。故障往往不可预测,即便在简单的组合架构中也可能在多个节点发生。无服务器组合中每新增一个函数或服务,都会引入新的潜在故障源,并新增一层故障遮蔽。目前,无服务器平台对运行时故障识别的支持十分有限。想要观测自身无服务器组合架构的开发者,往往只能依赖零散的日志和模糊的错误信息来定位根本原因。本文研究了利用分布式追踪提升无服务器应用故障可观测性的方法。为此,我们首先提出了一种用于表征故障可观测性的模型,随后提供了原型追踪实现——具体包括开发者驱动型和平台支持型两种追踪方案。我们用所提模型对比了这两种方案,衡量了相关的权衡因素(执行延迟、资源利用率),并为无服务器组合架构的故障排查提供了新的见解。
英文摘要:
Serverless applications can be particularly difficult to troubleshoot, as these applications are often composed of various managed and partly managed services. Faults are often unpredictable and can occur at multiple points, even in simple compositions. Each additional function or service in a serverless composition introduces a new possible fault source and a new layer to obfuscate faults. Currently, serverless platforms offer only limited support for identifying runtime faults. Developers looking to observe their serverless compositions often have to rely on scattered logs and ambiguous error messages to pinpoint root causes. In this paper, we investigate the use of distributed tracing for improving the observability of faults in serverless applications. To this end, we first introduce a model for characterizing fault observability, then provide a prototypical tracing implementation - specifically, a developer-driven and a platform-supported tracing approach. We compare both approaches with our model, measure associated trade-offs (execution latency, resource utilization), and contribute new insights for troubleshooting serverless compositions.
机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。