
137
第 14 章
可观测性与软件供应链
本章由 Slack 的高级软件工程师 Frank Chen 撰写
Charity
、
Liz
和
George
的小提示
到目前为止,在本书中,我们已经接触了可观测性,因为它与你编写的代码以及代
码在生产环境中的部署方式有关。但是,在生产环境中运行只是代码生命周期中的
一个阶段。在生产环境中运行之前,构建代码流水线用于自动测试和自动发布是一
种常见的做法。深入研究持续集成(CI)/ 持续部署(CD)架构和实践超出了本书
的范围,但是我们可以探讨如何使用可观测性来调试代码流水线问题。
生产环境并不是代码遇到的唯一不断变化的环境。你用来运行构建代码流水线的系
统也可能有很多意想不到的问题,并且这些意想不到的问题也会经常发生变化。就
像我们在本书中讨论的应用程序一样,从单体结构到分布式集群是一个非常大的系
统性结构变化。单体结构的系统可能更加容易调试,因为你可以通过经验和推理来
进行潜在故障的排查。但是,一旦系统复杂度达到一定程度,可观测性就成了解决
CI/CD 流水线中问题不可或缺(有时是必备)的调试工具。就像在生产环境中一样,
诸如糟糕的持续集成、不可见的资源瓶颈以及无法快速检测问题或调试其成因这类
问题都会成为整个构建系统的障碍。
本章由 Frank Chen 撰写,将详细介绍 Slack 如何使用可观测性来管理软件供应链。我
们很高兴能将 Frank Chen 工作上的经验囊括在本书中,因为这是使用可观测性来构建
大规模运行系统的一个很好的案例。你将了解如何以及在何处使用链路追踪和可观测 ...