
新冠疫情为旅游搜索巨头Skyscanner的工程团队提供了一个审视其可观测性技术栈的机会。Skyscanner 曾撰文分享他们如何通过一个系统彻底改造其技术可观测性技术栈,提升了工程师的工作效率和旅行者的用户体验。
根据最近发表的一篇工程博文,Skyscanner 于 2020 年开始了这一转型之旅,当时旅游业处于停滞状态,面临着前所未有的中断。Skyscanner 的工程团队抓住这一特殊时期,深入挖掘并修复了其监控系统中的薄弱环节。
Skyscanner 工程团队在博文中写道:“我们面临的挑战远不止是成本问题,也不仅仅是小团队运营该平台的复杂性。我们明白,我们需要解决的最重要的问题是提升全体工程师对其服务的理解和操作能力,增强他们的信心,然后可靠地将 1.1 亿用户与每月超过 1200 个航班、酒店和租车合作伙伴联系起来。”
Skyscanner 之前的可观测性架构较为复杂,包含了一些专业供应商提供的系统和基于开源技术(如 OpenTSDB、Prometheus 和多个ELK技术栈)的内部系统。这种碎片化的架构给需要跨平台理解和解决这些问题的工程师造成了麻烦。

为了应对这些挑战,Skyscanner 制定了一项新的战略,围绕两个关键原则展开:采用 OpenTelemetry 作为服务监控和数据传输的统一标准,并将 New Relic 作为统一的数据存储和分析后端。
我们全力支持 OpenTelemetry 所倡导的高质量、标准化、可移植且无处不在的遥测愿景。展望未来,它将是 OpenTelemetry 原生的,而非依赖 APM 代理,我们已经为此做好了准备。
OpenTracing 和 OpenTelemetry 的 API 设计简洁明了,这使得 Skyscanner 能够在短短几周内通过简单地升级库的版本号迁移超过 300 个微服务。这迅速降低了工程师的认知负担,消除了在多个可观测性平台之间切换上下文的需求。标准化还为跨服务和框架更好地关联跟踪信息、指标、日志和事件带来了可能性。
一个令人意想不到的结果是团队在遥测方面的方法发生了文化层面的转变。当意识到数据收集和存储需要耗费的成本时,许多团队主动寻找更高效的方法。
工程团队表示:“我们发现一些团队希望找到更优的遥测使用方式。当他们亲眼目睹这些新方法带来的好处后,他们被说服了,并开始依赖跟踪信息,而不是冗长的日志记录或高基数指标。一些团队因此将他们的遥测成本降低了超过 90%!”
为了进一步推广新的可观测性技术栈,Skyscanner 启动了“可观测性大使”计划,在团队中发掘能够将可观测性最佳实践引入其领域的工程师。Skyscanner 还举办使用官方 OpenTelemetry 演示的可观测性游戏日,使系统调试变得更加有趣和吸引人。

Skyscanner 还重新审视其服务等级目标(SLO)实现方案,将技术可观测性方面的新能力与影响旅行客户的实际业务结果联系起来。Skyscanner 不再只关注 API 响应代码等技术指标,还从直接与用户体验相关的信号中驱动 SLO。
通过访问客户端遥测数据,我们可以从直接与我们的用户相关的信号中驱动 SLO,例如“有多少次航班搜索显示了有效结果?”
这种新的可观测性方法彻底改变了 Skyscanner 管理跨领域依赖关系和促进团队协作的方式。“我们不仅将可观测性用作技术工具,还作为社会技术工具,帮助我们理解我们的系统并做出数据驱动的决策,”工程团队总结道,“我们基于证据做出承诺,而不是基于直觉。”
Skyscanner 并不是唯一一家利用 OpenTelemetry 重新定义 SLO 驱动方式的公司。NOFire AI 的一篇文章进一步丰富了这方面的主题,特别是在 OpenTelemetry 的变革性影响以及从传统监控向智能可观测性转变方面。这篇文章还强调了 OpenTelemetry 如何通过消除碎片化、孤立的方法来实现统一的可观测性,这些孤立的方法此前对于组织来说并无助益。NOFire 认为,服务等级目标应该关注用户体验,而不是技术指标,这与 Skyscanner 从关注 API 响应代码转向以用户为中心的有意义信号(例如“有多少次航班搜索显示了有效结果?”)的转变不谋而合。
NOFire 还进一步引入了 AI 驱动的事件解决机制。Skyscanner 通过以人为中心的举措(例如“可观测性大使”计划)实现文化层面的转型,而 NOFire 建议使用生成式 AI 自动发现根本原因并生成可操作的解决方案,这可能会消除对手动仪表盘探索的需求,而手动探索正是这两家公司都面临的痛点。
【声明:本文由 InfoQ 翻译,未经许可禁止转载。】
查看英文原文:https://www.infoq.com/news/2025/05/skyscanner-observability/
评论