热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

降本:云原生可观测性新定义

“您可以从三个选项中(快速、便宜或好)选择两个”提出这个问题的人可能不是可观测性工程师。但也可能是,在可观测性方面,决定您

“您可以从三个选项中(快速、便宜或好)选择两个”提出这个问题的人可能不是可观测性工程师。

但也可能是,在可观测性方面,决定您是否想要“快速、负担得起或深入的洞察力”传统上是工程团队的首要任务之一。从历史上看,我们所依赖的监控架构和工具并不能让我们拥有一切,至少在分布式云原生应用程序的环境中是这样。

幸运的是,至少在可观测性方面通过重新思考监控方法的基本原理,您可以拥有一切。您可以快速获得深入的见解,而无需为监控工作流付出代价。

听起来好得令人难以置信?继续阅读来了解如何在云原生可观测性方面围绕成本和深度(以及速度)进行平衡。

当工程师拥有一切时:传统的可观测性方法

在可观测性方面,过去几代的工程师不必在成本、深度或速度之间做出选择。他们无需尝试就拥有这一切。

这是因为他们使用的是集中的、单一的应用程序。在这种情况下,收集足够数量的监控数据以实现完全知情的管理决策并不需要花费太多时间或金钱。多数情况下,只需将轻量级监控 SDK 集成到单体应用程序中,并让它收集基本指标和日志数据。设计简单,工艺简单,成本低。

这种方法在以单体和单节点应用程序部署为主的世界中运行良好。没有人质疑它,因为没有理由质疑它。

事情是如何分崩离析的:云原生可观测性的曙光

在过去十年左右的时间里,许多工程团队遇到的问题是,当采用传统的、对单体友好的监控架构并尝试将其移植到分布式云原生应用程序上时,将无法再拥有这一切。

您不一定能快速监控,因为将 SDK 集成到所有微服务中需要时间。此外还需要收集更多数据,因为不仅要处理来自单个应用程序的一些基本指标。相反,你从一堆微服务中获得了大量的日志和指标(不要忘记你的踪迹!)。

以具有成本效益的方式收集所有数据也非常困难。您可能会遇到高额的出口费用,只是为了将数据移动到可以分析的地方,还要支付存储费用。冰川层存储可能很便宜,但当拥有大量需要保留多年的监控数据时,它就会增加。

加快云原生可观测性并降低成本的一种方法是仅收集工具随机选择的一些数据,而不是尝试收集和分析可用的每一个日志、指标和跟踪。但随后您将进行抽样——没有人愿意成为数据抽样者,因为数据抽样意味着可能会由于数据收集和分析不完整而错过重要信息。

如果依赖于分布式应用程序的传统可观测性策略,您最终将面临笔者喜欢称之为成本深度权衡的问题。可以快速且廉价地进行观测,或者选择深入观测,但要付出高昂的时间和精力。你不可能拥有一切。

摆脱成本深度的权衡

幸运的是,如果退后一步重新考虑可观测性方法,您会意识到可以进行廉价和深入的观测。

诀窍在于:无需尝试收集和分析每一个可用数据或随机采样,而是通过在源头识别最有趣的数据来智能地对其进行采样,然后仅选择该数据以发送到可观测性平台。您还可以将数据转换为细粒度的、可操作的指标,以便在它到达可观测性门户时立即进行分析。

仍然好得令人难以置信,对吧?问题是,基于仪器的监控方法本质上意味着,如果我们试图测量关于代码的关键内容,需要使用外部代码段“包装”其中的一部分,这些代码段将管理监控的逻辑工具。

使逻辑过于复杂,开销就越大。在将来自应用程序的数据发送出去之前,分析得越多,生成的开销对应用程序的总体影响就越大。


这就是为什么传统的监控工具会转向简单的逻辑,比如全部采样,或者随机采样。
在不深入细节的情况下,这种限制可以通过eBPF等新兴技术来解除。

结果是您传输、分析和存储的数据要少得多。但由于专注于相关数据,您不必在晚上因想知道您选择的数据是否会可靠地产生您需要的深入见解而睡不着觉。

把针放在大海捞针前

如果你喜欢类比,这里有一个总结了我们在这里讨论的可观测性策略:这类似于在你建立一个干草堆前对每一束干草进行分类,检查里面是否有一根针。

这样就可以尽早抓住针头,而不必等到准备好整个干草堆后才能对其进行分类并尝试拔出针头。针很容易找到,因为它们从一开始就不会被埋在干草堆里。事实上,你根本没有干草堆来处理,因为可以在不关心的干草变成代价高昂的干草堆之前将其丢弃。

云原生可观测性的未来

我认为这种可观测性方法对于任何希望在不支付大量监控和数据存储成本的情况下保持对其系统的可靠可见性的团队来说都是关键。云原生日志、指标和跟踪数据的数量和复杂性只会增加,使得传统的监控和可观测性策略在云原生环境中越来越不可行。

如果你想拥有这一切——可以。采用可观测性架构,让您在源头上磨练相关数据,并且是金子。


推荐阅读
  • 该平台旨在为大型企业提供一个高效、灵活且可扩展的分布式微服务架构解决方案。它采用模块化、微服务化和热部署的设计理念,结合当前最先进且无商业限制的主流开源技术,如Spring Cloud、Spring Boot2、MyBatis、OAuth2和Element UI,实现前后端分离的系统管理平台。 ... [详细]
  • Netflix利用Druid实现高效实时数据分析
    本文探讨了全球领先的在线娱乐公司Netflix如何通过采用Apache Druid,实现了高效的数据采集、处理和实时分析,从而显著提升了用户体验和业务决策的准确性。文章详细介绍了Netflix在系统架构、数据摄取、管理和查询方面的实践,并展示了Druid在大规模数据处理中的卓越性能。 ... [详细]
  • MySQL缓存机制深度解析
    本文详细探讨了MySQL的缓存机制,包括主从复制、读写分离以及缓存同步策略等内容。通过理解这些概念和技术,读者可以更好地优化数据库性能。 ... [详细]
  • Hadoop入门与核心组件详解
    本文详细介绍了Hadoop的基础知识及其核心组件,包括HDFS、MapReduce和YARN。通过本文,读者可以全面了解Hadoop的生态系统及应用场景。 ... [详细]
  • 深入解析:阿里实战 SpringCloud 微服务架构与应用
    本文将详细介绍 SpringCloud 在微服务架构中的应用,涵盖入门、实战和案例分析。通过丰富的代码示例和实际项目经验,帮助读者全面掌握 SpringCloud 的核心技术和最佳实践。 ... [详细]
  • 本文探讨了如何在日常工作中通过优化效率和深入研究核心技术,将技术和知识转化为实际收益。文章结合个人经验,分享了提高工作效率、掌握高价值技能以及选择合适工作环境的方法,帮助读者更好地实现技术变现。 ... [详细]
  • FinOps 与 Serverless 的结合:破解云成本难题
    本文探讨了如何通过 FinOps 实践优化 Serverless 应用的成本管理,提出了首个 Serverless 函数总成本估计模型,并分享了多种有效的成本优化策略。 ... [详细]
  • 2018年3月31日,CSDN、火星财经联合中关村区块链产业联盟等机构举办的2018区块链技术及应用峰会(BTA)核心分会场圆满举行。多位业内顶尖专家深入探讨了区块链的核心技术原理及其在实际业务中的应用。 ... [详细]
  • 本文作者分享了在阿里巴巴获得实习offer的经历,包括五轮面试的详细内容和经验总结。其中四轮为技术面试,一轮为HR面试,涵盖了大量的Java技术和项目实践经验。 ... [详细]
  • 在本周的白板演练中,Apache Flink 的 PMC 成员及数据工匠首席技术官 Stephan Ewen 深入探讨了如何利用保存点功能进行流处理中的数据重新处理、错误修复、系统升级和 A/B 测试。本文将详细解释保存点的工作原理及其应用场景。 ... [详细]
  • 本文探讨了2012年4月期间,淘宝在技术架构上的关键数据和发展历程。涵盖了从早期PHP到Java的转型,以及在分布式计算、存储和网络流量管理方面的创新。 ... [详细]
  • 本文详细介绍了网络存储技术的基本概念、分类及应用场景。通过分析直连式存储(DAS)、网络附加存储(NAS)和存储区域网络(SAN)的特点,帮助读者理解不同存储方式的优势与局限性。 ... [详细]
  • 全面解析运维监控:白盒与黑盒监控及四大黄金指标
    本文深入探讨了白盒和黑盒监控的概念,以及它们在系统监控中的应用。通过详细分析基础监控和业务监控的不同采集方法,结合四个黄金指标的解读,帮助读者更好地理解和实施有效的监控策略。 ... [详细]
  • 深入解析Serverless架构模式
    本文将详细介绍Serverless架构模式的核心概念、工作原理及其优势。通过对比传统架构,探讨Serverless如何简化应用开发与运维流程,并介绍当前主流的Serverless平台。 ... [详细]
  • 从码农到创业者:我的职业转型之路
    在观察了众多同行的职业发展后,我决定分享自己的故事。本文探讨了为什么大多数程序员难以成为架构师,并阐述了我从一家外企离职后投身创业的心路历程。 ... [详细]
author-avatar
我并没有你们想象P的坚强
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有