客户案例/媒体与娱乐行业/日本

2024 年
SmartNews_Logo_181x48

借助 SmartNews 在竞价型实例和 AWS Graviton 上进行扩展,将工作负载成本降低多达 50%

了解新闻媒体应用程序 SmartNews 如何通过使用 AWS Graviton 和竞价型实例,在削减成本的同时提升性能。

50%

使用竞价型实例实现的主要工作负载成本节省幅度

15%

使用 AWS Graviton 实现的机器学习工作负载成本节省幅度

68%

的延迟降低幅度,从 190 毫秒降至 60 毫秒

概述

新闻聚合平台 SmartNews 采用机器学习(ML)算法为读者推送相关新闻。该公司的主要目标之一,是通过展示来自可信发布者关于同一问题各个方面的新闻(而不只是反映用户观点或用户感兴趣的来源)来帮助读者打破信息茧房。

为完成这一使命,SmartNews 借助 Amazon Web Services(AWS)来满足其基础设施需求。在 2023-2024 年间,SmartNews 迁移至 AWS 上的新型实例类型与替代定价模式,在不影响客户服务的前提下优化成本。它实施了利用 Amazon Elastic Compute Cloud(Amazon EC2)竞价型实例的最佳实践,这一定价方案可运行容错、无状态的工作负载,与 Amazon EC2 按需定价相比,折扣最高可达 90%。同时,它还采用了由 AWS Graviton 处理器支持的实例,该处理器是 AWS 专门设计的服务器处理器,旨在为 Amazon EC2 上运行的云工作负载提供最佳性价比。因此,SmartNews 既降低了成本,又提升了工作负载的性能。

SmartNews_Core_Infrastructure_Team

Yu Hu核心系统高级软件工程师;Ankit Singhal,SmartNews 核心基础设施小组负责人

机会 | 通过 AWS Graviton 和竞价型实例优化 SmartNews 的成本

SmartNews 创建于 2012 年,这款应用程序采用机器学习,每天浏览来自 14000 家可信发布者的 1000 多万篇文章,以选择要向读者推送的新闻。该应用程序在全球的下载量已超 5000 万次。自 2023 年起,该公司与日本一家大型移动运营商达成合作,将 SmartNews 应用程序预装在该运营商的手机上,从而进一步扩大了用户群体。

SmartNews 一直使用 AWS 为其应用程序提供支持,但随着业务增长,它希望优化成本。在后端,SmartNews 自 2021 年起就在Amazon Elastic Kubernetes Service(Amazon EKS,一项托管的 Kubernetes 服务)上采用容器化架构。“我们使用 Amazon EKS 创建一个环境,让所有工程团队都能无缝部署,同时保持工作负载相对统一,”SmartNews 核心基础设施团队负责人 Ankit Singhal 表示。2024 年,SmartNews 采用了 Karpenter,这是一款由 AWS 开发的 Kubernetes 节点生命周期管理器,旨在优化应用程序的可用性、性能和成本。Karpenter 近乎实时地动态扩展 Kubernetes 集群,响应应用程序需求和资源要求的变化,同时智能地在多个可用区中选择具有成本效益的实例类型,包括按需型实例、竞价实例和预留实例。

随后,SmartNews 考虑采用竞价型实例以进一步优化成本,并与 AWS 的专家团队合作,学习在 Amazon EKS 中使用竞价型实例的最佳实践和监控策略。此外,为进一步提升性能并优化成本,SmartNews 还将机器学习推理和新闻推送等工作负载迁移至基于 AWS Graviton 的 Amazon EC2 实例。与 AWS 团队合作过程中,该公司确定了基础设施战略,并优化代码,使其能在基于 AWS Graviton 的实例上成功运行。通过这两次大规模迁移,SmartNews 成功降低了成本。

kr_quotemark

采用 AWS Graviton 的主要动机是节省成本,但由此带来的附带好处是,我们的性能也得到了提升。”

Ankit Singhal
SmartNews 核心基础设施团队负责人

解决方案 | 使用竞价型实例将主要工作负载成本降低 50%

通过使用竞价型实例,SmartNews 将主要计算工作负载的成本降低了高达 50%。该公司的工作负载具有较强的可预测性 — 夜间使用率较低,而在日本和美国时区用户登录查看新闻的时段,使用率会持续上升。SmartNews 利用 AWS 进行容量的扩缩,并结合内部监控系统以及价格-容量优化分配策略等最佳实践。对于部分后端服务工作负载,该公司采用 70% 的竞价型实例与 30% 其他付费方案的组合。

此外,当 SmartNews 发布突发新闻警报时,会动态纵向扩展集群,以便应用程序能更快响应流量的增加。“使用竞价型实例是公司的一个成功案例,”Singhal 表示,“根据新闻的重要程度,我们已经知道所需的容量,进而适当地扩展系统。”

SmartNews 通过使用 AWS Graviton 优化成本与性能,将机器学习工作负载的计算成本降低了 15%。借助基于 AWS Graviton 的实例,该公司还将这些工作负载的延迟从 190 毫秒降至 60 毫秒,降幅达 68%。如今,SmartNews 60% - 70% 的机器学习工作负载都使用 AWS Graviton,并且正在将其数据管道也迁移至 AWS Graviton。其新闻排名算法采用 Amazon EC2 C7g 实例运行,该实例由 AWS Graviton3 驱动,为 Amazon EC2 中的计算密集型工作负载提供高性价比。

“采用 AWS Graviton 的主要动机是节省成本,但由此带来的附带好处是,我们的性能也得到了提升。”Singhal 说,“我们发现,在 AWS Graviton 上,现在相同数量的请求所使用的资源减少了。” 该公司还将其 Apache Spark 工作负载迁移至基于 AWS Graviton 的实例。几乎所有的 Spark 工作负载都在 AWS Graviton 和竞价型实例上运行,使用由 AWS Graviton2 处理器驱动的 Amazon EC2 R6g 实例,以及由 AWS Graviton3 处理器驱动的内存优化型 Amazon EC2 R7g 实例。这可以提供高达 8000 个 CPU 核心,平均 2500 个 CPU 核心。

成果 | 将节省资金再投资于 AWS 的其他功能

结合使用 AWS Graviton 和竞价型实例,SmartNews 显著降低了月度成本,提升了性能,且未对客户产生负面影响。这些节省的成本直接促进了未来的创新,因为该公司将其用于改进产品和机器学习模型。“所有与基础设施相关的成本节省都被再投资于扩大业务和开发新产品,”Singhal 说。

SmartNews 正致力于采用更多 AWS 服务,如内容分发网络服务 Amazon CloudFront。并且,该公司已在使用 Amazon Bedrock,这是一项完全托管服务,可提供来自领先人工智能公司的高性能基础模型选择,用于开发新闻文章分类和排名的新模型。“展望未来,我们期待继续在 AWS 上实现规模增长,”Singhal 说。

关于 SmartNews

SmartNews 是一款新闻聚合应用程序,利用机器学习筛选来自可靠发布者的文章,将其推送给其在日本和美国的数百万读者。

使用的 AWS 服务

AWS Graviton 处理器

AWS Graviton 是一系列处理器,旨在为在 Amazon Elastic Compute Cloud(Amazon EC2)中运行的云工作负载提供最佳性价比。 

了解详情 »

Amazon EC2 竞价型实例

Amazon EC2 竞价型实例可让您利用 AWS 云中未使用的 EC2 容量,与按需型实例的价格相比,可享受高达 90% 的折扣。 

了解详情 »

Amazon EC2 C7g 实例

Amazon Elastic Compute Cloud(Amazon EC2)C7g 实例由最新一代 AWS Graviton3 处理器提供支持,专为计算密集型工作负载而设计。 

了解详情 »

Amazon EKS

Amazon Elastic Kubernetes Service(Amazon EKS)是一项托管 Kubernetes 服务,用于在 AWS Cloud 和本地数据中心上运行 Kubernetes。 

了解详情 »

行动起来

无论行业无论规模,每天都有各种机构在使用 AWS 实现自身业务转型、实现企业愿景。欢迎您联系我们的专家,立即踏上您的 AWS 之旅。