Stripe:大规模可观测性架构

关键字: [Amazon Web Services re:Invent 2023, Observability, Architecture, Scale, Metrics, Cost]

本文字数: 1300, 阅读完需: 6 分钟

视频

如视频不能正常播放,请前往bilibili观看本视频。>> https://www.bilibili.com/video/BV1Zj4115765

导读

Stripe 提供了一套集成的金融和支付产品,为 46 个国家的零售商、基于订阅的服务和软件平台提供服务。为了支持其基础架构和关键服务,Stripe 使用数千个 Amazon EC2 实例和其他亚马逊云科技服务。加入本论坛,聆听 Stripe 分享他们在大规模实现可观察性的过程中所面临的独特挑战和经验教训,包括管理高摄取率、优化资源利用率和确保数据完整性。了解 Stripe 如何使用现代分布式计算概念以及用于 Prometheus 和 Amazon Managed Grafana 的 Amazon 托管服务,增强可见性、主动事件响应和持续改进,以随其增长扩展并提高客户满意度。

演讲精华

以下是小编为您整理的本次演讲的精华,共1000字,阅读时间大约是5分钟。如果您想进一步了解演讲内容或者观看演讲全文,请观看演讲完整视频或者下面的演讲原文。

Stripe的Cody Re在演讲开始时,首先介绍了Stripe可观测性数据的巨大规模背景。Stripe拥有约3000名工程师分布在全球360个不同的团队中,每10秒产生500百万个指标。为了解释这一庞大的指标量,相当于每分钟处理300亿个指标或每小时处理1.8万亿个指标。此外,Stripe还处理与监控其系统相关的40,000个警报和150,000个仪表板查询。Cody注意到,尽管这些警报和仪表板查询看似复杂,但最困难的挑战在于在3000名工程师及其关于观测功能如何运作的心理模型中实施变革。

过渡到关键经验教训,Cody总结了关于指导Stripe架构决策的可观测性系统的三个关键事实或“公理”:

首先,尽管总警报数量庞大,但大多数警报使用的查询只有几十种。Stripe通过解析所有40,000个用户警报查询并使用亚马逊的托管大数据分析服务进行聚类分析,发现了这一点。他们发现仅3个核心模块涵盖了25%的警报,而只有8个模块占据了所有40,000个警报的60%。这表明用户更关心警报的结果而非查询本身。这种灵活性使得Stripe能够利用亚马逊的无服务器和容器服务,在不影响用户的情况下,透明地修改底层存储和查询层。

其次,仅有2-20%的可观测数据被主动使用,而80-98%的数据被写入但不再引用。通过将这些数据流分为两个分支并将大部分路由到Amazon S3进行存储,有机会大幅降低成本与未使用的80-98%的大部分数据相关的成本。然而,必须小心不要丢弃可能有用的“可选性”数据。

第三,可观测性系统的技术权衡与其他生产系统不同。新鲜度、速度和低成本对于观测数据的价值至关重要。控制面完整性优于监控完整性——某些数据丢失是可以接受的,只要核心系统保持可用。这个公理使得可以自由地构建更不健壮,但更快、更便宜的可观测性系统,利用亚马逊的全托管服务。

在具备了这些基本条件之后,Cody提出了公司可以通过进行五项架构改革来提高可观察性:

  1. 将时间序列数据库按照公司的故障线进行分片。这一做法提高了可扩展性,同时也确立了用户对分布式数据的预期。

  2. 添加聚合器以减少传输到时间序列数据库的数据量。然而,这可能会损失部分被丢弃数据的价值。诸如Amazon Managed Streaming for Apache Kafka (MSK)、Amazon Kinesis Data Streams和Amazon Managed Streaming for Apache Flink (MSK)等技术实现了适用于可观察性的快速且经济的实时处理。

  3. 实施分层存储策略,其中80%的数据存储在低成本的Amazon S3中,而20%的数据存储在高性能的热存储中,如Amazon Timestream。这种策略在保留所有数据的同时优化了成本。S3的可扩展性、持久性和带有索引的查询性能使其成为冷层的理想选择。

  4. 通过使用如Amazon Kinesis Data Analytics等流处理器,将警报与时间序列数据库分开。此举消除了基数限制并允许有条件地路由数据。用户可以在流上构建丰富的监控应用程序,从而减轻时间序列数据库的负担。

  5. 最小化共享依赖项,并利用供应商解决方案,如Amazon Managed Grafana,以减少内部基础设施和可观察性之间的关联故障。可靠性要求可观察性系统能够独立运行。

除了技术架构之外,Cody还强调了实现可观察性规模的文化措施的重要性:

  1. 在可观察性团队内培养自给自足的文化,并尽量减少对内部基础设施的依赖。这降低了同时发生故障的可能性。

  2. 让用户轻松做出最佳决策,例如使用较低基数的指标或利用流处理器处理高基数的使用场景。引导用户防止无效使用可观察性系统。

总之,关键在于减少对数据库的依赖,而是在数据到达时间序列数据库之前增加更多的处理能力。这使得公司在迈向成熟的可观察性过程中更有效地应对巨大的规模、性能和成本约束挑战。

科迪的专业见解对那些正努力应对观测数据传播规模与复杂性挑战的公司来说极具价值和实用。通过运用创新架构及文化最佳实践,企业能够控制观测数据的蔓延,并为工程师提供有价值的监控洞察。科迪阐述的基本原则看似简单,但实际上代表了实现变革性和降低成本的设计思路的关键视角转变。例如,认识到仅有2-20%的数据具有价值,这彻底改变了处理观测数据管道的方法。通过深思熟虑的数据路由、低成本的存储层以及选择性聚合,企业在保持全部可选择性的同时,可能实现显著的成本节省。这些指标还揭示了所涉及的复杂程度——在3000名工程师中,每10秒就有5亿个指标、4万个警报和15万个查询。观测性确实是一个需要专门设计的分布式系统来应对的大数据挑战。

总的来说,这次re:Invent令人受益匪浅,让人们了解到如何利用亚马逊的一整套托管服务来创建可随业务无缝扩展的观测系统。科迪的技术深度与文化意识相结合,为我们呈现了一幅全面的蓝图,以释放观测数据的真正潜力,从而推动工程生产力和客户价值。科迪描绘的未来景象令人着迷——在那里,用户只需声明他们需要的洞察,观测系统便会灵活地调整,以最优化的方式提供这些信息。

下面是一些演讲现场的精彩瞬间:

Stripe在应对这些问题的过程中,成功克服挑战并实施了一系列解决方案。

Stripe:大规模可观测性架构_第1张图片

亚马逊云科技致力于在可观察性方面实现成本和效果的完美平衡。

Stripe:大规模可观测性架构_第2张图片

通过对解析树的分析和聚类,团队发现大部分警报中仅使用了数十种独特的查询。

Stripe:大规模可观测性架构_第3张图片

然而,基本的体系结构过于依赖数据库,这使得用户体验受到了技术和经济限制的影响。

Stripe:大规模可观测性架构_第4张图片

领导者们探讨了如何将数据跨数据库分片,以便在实现故障自动切换的同时提供更好的用户体验。

Stripe:大规模可观测性架构_第5张图片

此外,演讲者还讨论了沿地区故障线对时序数据库进行分片所带来的好处。

Stripe:大规模可观测性架构_第6张图片

关注点应放在构建一个可观察的数据平面上,而非以数据库为核心。

Stripe:大规模可观测性架构_第7张图片

总结

该视频探讨了创建一个高度可扩展且经济高效的观测系统的策略。其重点在于减少对集中式时间序列数据库的依赖。首先,视频中指出,观测数据通常呈现80/20比例,即大部分数据并不常被频繁使用。因此,像Amazon S3这样的低成本对象存储非常适合存储大部分非活跃数据。而活跃数据则可以保存在时间序列数据库中。其次,在数据生成者和存储系统之间加入流处理层可实现诸如数据聚合或路由等功能,从而避免向时间序列数据库加载过多数据。此外,警报也可在流上直接计算,从而克服时间序列数据库的性能限制。第三,将观测系统进行分片,例如与其所在区域的基础设施相对应,有助于提高可扩展性和可用性。这还能改变用户的思维模式。第四,实现与其他基础设施独立的自我依赖至关重要。共享服务可能存在同时失效的风险。作为供应商般的合作伙伴可能会增加隔离。最后,文化应倡导良好实践,如采用低基数度量标准及声明式警报。通过实践经验引导用户朝著理想行为发展。

演讲原文

https://blog.csdn.net/just2gooo/article/details/134809000

想了解更多精彩完整内容吗?立即访问re:Invent 官网中文网站!

2023亚马逊云科技re:Invent全球大会 - 官方网站

点击此处,一键获取亚马逊云科技全球最新产品/服务资讯!

点击此处,一键获取亚马逊云科技中国区最新产品/服务资讯!

即刻注册亚马逊云科技账户,开启云端之旅!

【免费】亚马逊云科技“100 余种核心云服务产品免费试用”

【免费】亚马逊云科技中国区“40 余种核心云服务产品免费试用”

亚马逊云科技是谁?

亚马逊云科技(Amazon Web Services)是全球云计算的开创者和引领者,自 2006 年以来一直以不断创新、技术领先、服务丰富、应用广泛而享誉业界。亚马逊云科技可以支持几乎云上任意工作负载。亚马逊云科技目前提供超过 200 项全功能的服务,涵盖计算、存储、网络、数据库、数据分析、机器人、机器学习与人工智能、物联网、移动、安全、混合云、虚拟现实与增强现实、媒体,以及应用开发、部署与管理等方面;基础设施遍及 31 个地理区域的 99 个可用区,并计划新建 4 个区域和 12 个可用区。全球数百万客户,从初创公司、中小企业,到大型企业和政府机构都信赖亚马逊云科技,通过亚马逊云科技的服务强化其基础设施,提高敏捷性,降低成本,加快创新,提升竞争力,实现业务成长和成功。

Stripe:大规模可观测性架构_第8张图片

你可能感兴趣的:(aws,亚马逊云科技,科技,人工智能,re:Invent,2023,生成式AI,云服务)