可观测性概念的起源可以追溯到 Rudolf E. Kallman 在 20 世纪 60 年代的经典研究,该研究旨在分解复杂系统,以便人类能够理解它们。那是一个新的航空航天和导航计算系统蓬勃发展的时代。在此类系统的发展速度超过了人类对该系统的推理能力的情况下,卡尔曼的研究被评价为为可观测性理论奠定了基础。
ⓒ 盖蒂图片银行
当前意义上的可观测性(价值 90 亿美元的类别,是现代 IT 运营的关键支柱)通常与 Google 的超大规模服务(例如 Google 搜索、Google Ads 和 YouTube)的站点可靠性工程方法相关。
根据 Google 的《站点可靠性工程》一书,Google 在 2003 年创建了一个名为 Borgmon 的新监控系统,大约在 Borg 诞生的时间,Borg 是启发 Kubernetes 的集群操作系统。谷歌认识到,在跨分布式基础设施运行的微服务中有如此多的移动部件,理解动态系统需要一种新的模型,该模型可以实时工作,并且不会给平台团队带来不必要的噪音。
Borgmon“使时间序列数据收集成为任何监控系统中最重要的角色,用丰富的语言取代检查脚本,将时间序列处理成图表和警报。”
普罗米修斯和格拉法纳的崛起
博格蒙成为普罗米修 阿曼号码数据 斯诞生的转折点。Prometheus 于 2014 年发布,是目前使用最广泛的基于指标的监控和警报的开源技术。大约在同一时间,Grafana(一种用于可视化可观测性的独立工具)出现了。这两项开源技术创建了一个由数千万开发人员组成的社区,并推动了以指标、日志和跟踪为中心的可观察性类别的创新。
当然,故事并没有结束。当今的系统有意暴露出越来越多的潜在复杂性。我们处理的数据在增加,而不是减少。系统变得越来越异构,用户期望不断提高。工程和商业之间的权衡是可以理解的,但这意味着人类操作员越来越难以理解正在发生的事情。他们需要工具来重新获得控制权,并控制和提炼他们所面临的复杂性。
让我们来看看在人类理解分布式系统的可观察性之旅中一些最令人兴奋的新进展。
使用 eBPF 和 Psilium 的内核级可观察性
随着分布式系统的发展,网络层的抽象也在发展。该领域最受期待的两种技术是 eBPF 和 Cilium,它们从应用程序接触 Linux 的任何地方提取内核级智能,以实现文件访问、网络访问和其他操作系统功能。
这两种技术以及 Hubble 等存储 大胆的数据 后端创建了一种新的连接结构,无需更改应用程序即可生成大量细粒度遥测数据,用于在内核级别观察事件。目前,在 eBPF 和 Silium 上获得最大成功的用户是那些专注于网络遥测或支持跨大型服务的大规模分析的用户。
可观察性和软件供应链安全
像 Log4j 这样的安全漏洞暴露了软件工件(开发人员用来构建软件的框架和库)的相对安全漏洞,以及保护这些构建块的来源和完整性的需要。尤其是 Log4j,安全团队不仅很难修补漏洞,而且还很难确定 Log4j 在环境中的位置以及它是否存在。
典型的企业拥有大量的工件目录,这些工件构成了庞大的服务,并且服务运行的位置高度分布。这使得安全团队陷入了人类推理能力无法处理的困境。所有指标都表明可观察性与软件供应链安全密切相关。我预测供应链安全技术将与可观测空间深度结合。
可观察性和可用性的进步
可观察性越来越受欢迎,但它仍然需要太多领域的专业知识。自动化的进步将有助于改进和简化有用数据的探索和选择。可以根据传入数据的类型自动创建仪表板。此外,尽管自动化仪器会稍微增加总体数据生成和相关成本,但它将为数据提取创建基线并加快价值实现时间。
在可观察性可视化的情况下,从第一代 GUI 发展而来,配置即代码成为一个关键概念。开发人员不是在 Web 界面中执行配置任务,而是通过 API 和 Git 集成、他们每天处理的熟悉的工具和概念来处理可观察性数据和配置。开发人员可以像编写代码一样处理所有可观察性数据和可视化,包括 CI/CD、回滚以及现代操作的所有其他核心方面。
应用程序可观察性
现有的应用程序监控(APM)范围极其有限,只能观察应用程序而忽略底层基础设施。传统的应用程序监控无法了解云提供商、网络、存储、数据库、其他服务、集群调度程序或应用程序与之交互和依赖的任何其他内容。下一代可观察性工具使开发人员和操作人员能够在指标、日志、跟踪和配置文件之间无缝移动,以全面了解企业所做的一切,从而缩短平均恢复时间 (MTTR) 并提高用户满意度。您可以。
结论
更深层次可观测性需求的主要驱动力是微服务和云原生计算的引入,它们打破了传统的服务边界。在实施这些新架构以使独立团队能够并行执行更多任务时,组织获得了水平可扩展性的好处,但牺牲了一些垂直可扩展性。
这种工程权衡具有商业意义,但其代价是直接暴露更多系统固有的复杂性。正如许多团队已经发现的那样,上一代工具缺乏包含、提炼和理解这种复杂性的能力。换句话说,许多团队由于缺乏最新的工具而注定会失败。
在当今的宏观经济环境中,确保更高的可靠性,同时使用比竞争对手更少的资源至关重要。让各个领域的专家能够更加高效、有效地工作,为团队和公司的成功奠定了基础。
提高人类对自动化的理解是工业革命、半导体革命和当今云革命的基础。每一次革命都有失败者和胜利者。这一次,获胜者将是那些能够使用现代可观测性原理来了解云中发生的情况的人。