亚马逊AWS官方博客

华盛顿邮报的 Arc Publishing 如何使用 CloudWatch Metrics Explorer 来降低成本

美国日报公司华盛顿邮报使用 Arc Publishing 的数字体验平台发布数字新闻内容。起源于华盛顿邮报的 Arc Publishing 现已发展成为一项供出版商、广播公司和品牌使用的 SaaS 业务,为全球 1200 多个网站创建、托管有吸引力的内容并帮助他们利用这些内容获利。Arc Publishing 完全基于 Amazon Web Services 构建,使用 Amazon CloudWatch 指标来了解平台运行情况。监控拥有 1200 多个客户站点的系统难度很大。Arc 选择使用 Metrics Explorer,这是一种基于标签的控制面板工具,客户可用它来按标签筛选、聚合和直观了解运行状况和性能指标。

Metrics Explorer 为客户提供灵活的故障排除体验。它允许客户一次创建多个性能图表,然后使用这些图表来构建应用程序运行状况控制面板并快速分析运行数据。这些基于标签的控制面板会随着资源的增减不断更新。它们可以帮助客户发现关联性和根本原因,并在应用程序或环境中出现警报时快速隔离问题。

例如,您可以通过分配资源标签来表示环境(如生产或测试),从而监控 Amazon Relational Database Service (Amazon RDS) 实例的队列。然后,您可以使用这些标签来分析运行指标(例如 CPU 利用率),以了解环境中与该标签关联的 Amazon RDS 实例的运行状况和性能。您还可以将使用 Metrics Explorer 生成的性能图表保存到控制面板中,在这里可以使用它们来持续监控应用程序的运行状况,并在问题发生时进行故障排除。

监控 Arc Publishing

Arc 的平台使用 Amazon LambdaElastic Load Balancing 在平台上托管网站。对于工程师来说,如果没有指标和能够轻松找到指标的机制,跨平台监控和管理这些服务将是一项沉重的负担。Arc 团队使用标签来确定哪些客户使用了哪些 Lambda 函数。使用这些标签,Arc 团队可以快速获取与客户相关的所有指标,以验证每个客户环境的运行状况和性能。

一个具体示例与 Lambda 利用率有关。Arc 对 Lambda 的使用一直在增加,他们需要满足以下要求的解决方案:

  • 使用 Lambda 的预留和预置并发功能自动向客户分配容量,实现最高性能以及最稳定的函数调用。
  • 高效监控 Lambda 函数的成功情况,以确保并发分配带来最理想的延迟时间和最优成本,同时避免限流和冷启动。

在其解决方案中,Arc 使用 CloudWatch 指标来报告数百个 Lambda 函数的 P99 和最大利用率,每个函数都有不同的使用情况。这些 Lambda 函数通过专有模型运行,以根据先前的需求计算预期的 Lambda 并发和可能即将到来的限流。然后,这些模型会触发对 Lambda 预留并发和预置并发低/最大级别的更新,以确保保留适当的余量来满足客户需求,同时保持整个环境的弹性提升空间。通过这些指标,您可以了解这些预留并发限制、限流和预置并发利用率。使用标签,Arc 可以按客户聚合指标,以获取客户级别的运行状况和性能视图。 以前,在普通指标服务上显示利用率和限流非常困难。现在,只需选择一个标签即可显示客户环境中或整个平台上的所有 Lambda 函数。

实施标签和 Metrics Explorer

使用 Metrics Explorer 和自动警报功能,Arc 团队可以快速发现和排查任何问题。每个客户、环境和应用程序的所有 Amazon Web Services 资源上都有标签,这使站点可靠性工程 (SRE) 团队能够使用 Metrics Explorer 在整个平台上快速查找指标以进行故障排除,而无需预构建控制面板。

图 1:解析器和引擎的 Metrics Explorer 视图

跨资源无缝标记有助于 Arc 构建可靠且信息丰富的视图。借助控制台中的“添加至控制面板”功能,当确定问题模式后,您可以轻松根据多个图表编写操作手册。

图 2:显示持续时间、调用和限流的控制面板

准备好所需的指标,简化日常操作。只要在 Explorer 设置中稍微修改一下标签,SRE 团队成员就可以切换到不同的角度,轻松发现问题。

图 3:其他指标的图表

在 Metrics Explorer 出现之前,跨多个函数监控 Lambda 指标并构建复杂且可重用的控制面板(代表更广泛的平台或客户使用状态)是一件繁琐的工作。之前在调查函数的性能时,您必须手动查找函数 ARN 的指标。除非您手动挑选要纳入控制面板的指标,否则其性能视图将受到限制。这意味着,控制面板是针对当前问题的情况而定的,但不能在将来的跨函数操作中重复使用。

这些做法增加了监控时间,在某些情况下,需要付出很大努力才能维持。Arc Publishing 现在可以在 CloudWatch 中快速执行跨函数分析,从而减轻手动监控负担并缩短响应时间。

预置并发是使用 Lambda 的一种更经济高效的方式。与 Amazon Elastic Compute Cloud (Amazon EC2) 预留类似,它使用户可以预测其使用情况。使用 CloudWatch 指标后,Arc Publishing 能够对其使用情况建模,以便他们可以根据每个函数的使用情况对每个函数的预置并发自动扩展设置下限和上限。CloudWatch Metrics Explorer 现在允许 Arc Publishing 在应用级别监控利用率。利用这种按标签显示指标的方式(在 Arc Pubblishing 的例子中,是一个客户的 Lambda 函数),他们能够直观看到模型无法正常工作的位置并持续改进优化,将长期成本降至最低。

通过提高预置并发利用率,Arc 能够将 Lambda 的总成本降低 20%。如果没有 CloudWatch 和 Metrics Explorer,这个解决方案是不可能实现的,Arc 使用它们通过基于资源标签的预构建和动态监控视图显著加快了自动并发分配的推出速度。Arc Publishing 在几天内就完成了全部任务(以前需要几周),进一步实现了节约。使用资源标签在 Metrics Explorer 中持续监控并发利用率,使 Arc 能够在几分钟内找到利用率低或利用率高的函数,并调整分配模型以节省更多成本。

Arc Publishing 平台工程副总裁 Zach Perry 表示:“在 CloudWatch 团队的支持下,Metrics Explorer 在美国总统选举前适时为我们提供了帮助,使得 Arc Publishing 和华盛顿邮报能够可靠地传递人们渴望知道的内容。Metrics Explorer 是 CloudWatch 的有益补充,使其成为了辅助日常运营的强大工具。”

结论

在这篇文章中,我们介绍了华盛顿邮报的 Arc Publishing 如何使用标记和 Metrics Explorer 来了解 Arc 数字体验平台中整个客户群的 Amazon Lambda 利用率。

Metrics Explorer 是一项新功能,允许您在基础设施指标和环境中受监控的资源之间建立关系。这种关系可以帮助您通过更多上下文来监控应用程序的运行状况。Metrics Explorer 面向支持 Amazon CloudWatch 的所有 Amazon Web Services 区域免费提供。

有关更多信息,请参阅 Amazon CloudWatch 用户指南中的使用 Metrics Explorer 按资源的标签和属性监控资源,或访问 Amazon CloudWatch 营销页面

有关 Arc Publishing 的更多信息,请访问 www.arcpublishing.com

本篇作者

Zach Perry

Zach Perry 是华盛顿邮报 Arc Publishing 的平台工程副总裁。Zach 领导的工程团队负责在 Arc 数字体验平台中构建和交付内容和 Web 发布解决方案。在加入 Arc Publishing 之前,Zach 从事电子商务工作,管理 W.W.Grainger 的软件开发团队。工作之余,他喜欢旅行,体验不同的文化。在芝加哥的家中,他花时间关注体育、流媒体并在他的 Peloton 上锻炼身体。

Yuriy Sannikov

Yuriy Sannikov 是华盛顿邮报 Arc Publishing 的首席软件工程师。他为 Arc 平台的许多业务关键型项目做出了贡献,包括内容发布 Web 应用程序和高负载分布式后端系统,这些系统有助于向世界各地的观众提供重要内容。在加入 Arc Publishing 之前,Yuriy 曾在一家位于华盛顿特区的初创公司工作,帮助非营利组织充分利用云。在业余时间,他喜欢在华盛顿特区徒步旅行、设计 DIY 电子产品以及研究机器学习算法。

Chris McPeek

Chris McPeek 是亚马逊云科技的高级解决方案架构师。他喜欢与客户合作,帮助他们解决难题,并怀揣使用亚马逊云科技平台帮助他们实现业务目标的远大梦想。在加入亚马逊云科技之前,Chris 从事的是网络工程工作,并在一家全球非营利组织和一家位于华盛顿特区的初创公司领导技术团队。工作之余,他喜欢陪伴家人、远足、飞行,有时还会骑着他的公路自行车在华盛顿特区度过几个小时的时光。

Omur Kirikci

Omur Kirikci 是 Amazon CloudWatch 的高级产品经理,常驻爱尔兰都柏林。他热衷于创造新产品,并通过确保客户满意度来争取成功。 他认为,成功的产品源于知道客户的痛点。他会从各处寻找想法,以便及时提供相应质量水平的解决方案。在加入亚马逊云科技之前,Omur 在产品管理、计划管理、上市策略和产品开发领域工作了 15 年以上。工作之余,他喜欢户外活动和远足、陪伴家人、品尝不同的美食以及与朋友一起看球。