组织: OpenX是全球领先的针对受众、数据和身份定位的独立供应方平台。
挑战: OpenX 必须确保以每天数千亿个广告请求的规模持续、有效地提供实时动态服务,这需要大量的计算资源,同时还要保持其 Net Zero 和 CarbonNeutral® 认证和状态。
解决方案: OpenX 迁移了其部分云计算,以利用可通过 Google Cloud Platform 获得的由 AmpereOne 提供支持的 C3A 实例。
结果:与 x86 实例以及一些知名行业领导者推出的更快芯片相比,OpenX 通过 Ampere 实例实现了开箱即用的性能对等。
案例研究 {#h-case-study}
OpenX 使用 Google Cloud 上由 AmpereOne® 提供支持的 C3A 实例来大规模推动可持续性和性能。
OpenX是一个程序化广告平台,可帮助数字出版商通过实时买卖的动态广告将其资产变现,并帮助广告商通过数据驱动的策划有效地定位其受众。Ampere® 与 OpenX 的 Mark Chodos 和 Kenneth Kharma 进行了交谈,以深入了解基于AmpereOne构建的 Google Cloud C3A 实例的云计算如何帮助他们的平台团队在可持续性和性能方面取得积极成果。
100% 基于云、碳中和认证、净零验证 {#h-100-cloud-based-carbonneutral-certified-net-zero-verified}
OpenX 是一个独立的全渠道供应方平台 (SSP),也是供应方策划、透明度和可持续性领域的全球领导者。通过其 100% 基于云的技术堆栈,OpenX 为 CTV、应用程序、移动网络和桌面上的广告提供支持,使发布商能够为营销人员提供更佳的性能和动态的面向未来的解决方案。凭借 17 年的程序化创新记录,OpenX 是全球最大发布商的直接和值得信赖的合作伙伴,与超过 130,000 个优质发布商域和超过 100,000 个广告商合作。作为可持续发展领域的市场领导者,OpenX 是第一家获得 CarbonNeutral® 认证并通过第三方验证实现其 SBTi 净零目标的广告技术公司。
OpenX 是唯一一家 100% 基于云的 SSP,拥有业内最高效的技术堆栈。自从完全转向在 Google Cloud Platform (GCP) 上运营以来,产品和平台团队已有效提高了性能、可扩展性、速度和全球覆盖范围。这包括覆盖全球地区和市场等成果;通过完整的 CI/CD 管道和自动化基础设施显著缩短了新产品和新功能的上市时间;并推动了成本降低和构建由 Google Cloud AI(Cloud TPU、Kubeflow、AutoML)支持的高级 AI 功能的能力。
数十亿笔交易的可持续表现 {#h-sustainable-performance-across-billions-of-transactions}
Ampere 与 OpenX 平台团队的现场可靠性工程师 Mark Chodos 和隐私与可持续性杰出工程师 Kenneth Kharma 取得了联系,该团队负责验证通过 GCP 提供的新产品和功能。该团队的部分职责包括关注 OpenX 内的可持续性计划,包括不断优化他们对 GCP 的使用,并寻找经济有效的方法来减少或抵消计算密集型资源产生的碳排放。据 Mark 说,"谷歌提供了大量有关我们平台内排放影响的有用数据",这为 OpenX 提供了有效分配和扩展计算资源所需的一些见解。
作为 SSP,OpenX 促进了广告商与发布商拥有的网站、域名、应用之间的公平价值交换,促成了在发布商的数字房地产上投放广告。这些渠道通过 OpenX 发送请求,OpenX 实时为这些广告位寻找广告商或潜在买家,同时返回最佳出价以及与之相关的广告创意,然后将其显示在可用的发布商资产上。由于请求量巨大,而且需要时间满足广告定价、可用性和投放之间的这种交换需求,OpenX 最持续、最关键的业务优化是围绕规模和延迟进行的。
有大量后端基础设施和技术,使大量功能能够无缝并行运行。据 OpenX 称,这包括用户界面、管理 API 以及广告投放和数据系统等组件。他们的投放和数据系统是吞吐量最高的,也是 GCP 资源的最大消耗者。投放系统的计算量特别大,因为"我们每天要处理数千亿个广告请求,而且我们需要在几毫秒内以低延迟完成这些任务,"Chodos 分享道。
在数据方面,"我们每天要处理数 PB 的数据,我们需要及时处理、汇总并提交报告。"为了快速生成数据并将其呈现为内部仪表板和面向客户的报告等可用输出,OpenX 不再使用微服务,而是使用 Google Kubernetes Engine (GKE) 和 Google 的 BigQuery 服务,这符合他们全面部署 Google Cloud 的战略。它还使 OpenX 能够最大限度地利用区域数据中心来满足尽可能靠近源头的请求。
无缝访问 Ampere 业界领先的计算性能 {#h-seamless-access-to-ampere-s-industry-leading-compute-performance}
OpenX 自 2019 年以来一直 100% 基于云,是第一个完全转向云的 SSP。Mark Chodos 于 2023 年在 Google Cloud Next 上被介绍给 Ampere 团队,两家公司因共同提供强大、可持续的大规模云计算和服务的机会而联系在一起。借助 AmpereOne 为 GCP 的 C3A 实例提供支持,OpenX 将 Ampere 无缝集成到他们的计算优化计划中,其性能证明与其他基于云的实例提供商相当或更好。
当 OpenX 于 2019 年实施云迁移时,平台团队将他们的应用程序容器化并在 Kubernetes 中运行,这在 Chodos 开始探索将 Ampere 和基于 Arm 的架构用于三个应用程序时起到了帮助作用。每个应用程序都使用不同的编程语言,是核心 OpenX 广告投放系统的一部分。第一个应用程序是 OpenX 前端应用程序,称为"Frontier",用 Golang 编写 - 它直接接收来自负载均衡器的请求并启动每个广告交易。
第二个应用程序称为"Broker",它是一个 Java 应用程序,充当 OpenX 广告投放系统的中心,接收广告请求,通过其他后端服务处理这些请求,然后将其发送到第三个应用程序 - 他们的服务器端实时竞价服务 (SSRTB),该服务用 Erlang 编写。该服务接收广告请求,将其发送到需求方平台 (DSP),每天的请求数高达一万亿或更多,接收返回响应,并通过其他应用程序将其路由回去。对于 OpenX 来说,尽快处理所有请求、最小化延迟和高吞吐量是业务的关键。
这三个应用程序及其执行的众多任务(包括发送和接收请求以及实时数据处理和流式传输)都是计算密集型的,可在 Ampere 的 C3A 实例上轻松运行。由于 Ampere 的单线程核心设计,C3A 实例在负载下提供更可靠的延迟,并与其他实例类型相比提供相当大的优势。
在测量延迟方面,OpenX 平台团队不断评估其应用程序执行的各种操作的时序指标。当团队将 Ampere 引入其基础设施时,他们能够调出内部仪表板,并并排比较 Ampere 与他们通过 GCP 使用的其他处理器的延迟。Chodos 表示:"与我们在 GCP 中使用的速度更快的 Intel 和 AMD 芯片相比,Frontier 和 SSRTB 应用程序几乎开箱即用,无需进行任何特殊调整。"他承认,在三个 OpenX 应用程序中的第二个应用程序中,该团队在所有平台上都面临一些挑战。"我们重新与 Ampere 团队接洽,我们还聘请了一些内部工程团队深入研究这个应用程序。"通过一些建议和团队之间的合作,OpenX 能够将问题缩小到垃圾收集方面的一些问题。通过更改资源分配等方面的设置,确保为该应用程序分配足够的内存和 CPU,以及调整一些 JVM 设置,该团队能够实现与 x86 实例的性能一致。
Chodos 还指出,"作为另一项成本节约措施,我们在 GCP 的现货实例上运行了大量实例,因为与按需实例相比,这可以节省大量成本,因此应用程序有一种内置循环。" Chodos 分享道,"我们在应用程序的某些部分执行核心固定(其中跨核心的上下文切换是性能限制),GCP 确实添加了允许我们为某些线程启用核心固定的功能,这对我们的 SSRTB 应用程序的某些部分产生了巨大影响,这些部分对上下文切换特别敏感。"
OpenX 应用程序生命周期管理和多架构容器方法 {#h-the-openx-approach-to-application-lifecycle-management-and-multi-architecture-containers}
平台团队使用 Google 的 Cloud Build CI/CD 平台进行持续集成。在向现有 GKE 部署添加另一种架构时,OpenX 在执行其初始目标(尝试使用"docker buildx"为每个应用程序构建多架构容器以简化部署)时遇到了一些挑战。Chodos 分享道:"当我们尝试构建这些多架构容器时,在某些情况下,速度会变得非常慢。存在一些交叉编译问题,一些运行和排队时没有硬件加速。我知道我们能够在合理的时间内让多架构容器构建适用于我们的 Java 应用程序。但不同架构的库也存在一些问题,以及如何让所有这些与我们的 Golang 和 Erlang 应用程序保持一致。"
评估可持续性和排放目标 {#h-evaluating-sustainability-and-emissions-objectives}
OpenX 于 2023 年重新获得 CarbonNeutral® 和 Net-Zero 认证和验证。实现这一目标的过程始于几年前,当时对其五个全球数据中心的排放量进行了评估,其中包括他们自己的基础设施和服务器。该团队聘请了气候顾问,并与声誉良好、备受尊敬的实体合作,帮助他们在实现碳中和和零排放的过程中按章办事。据 Chodos 称,"这让我们获得了碳中和认证。我们还制定了 Net-Zero 目标,在获得科学碳目标倡议 (SBTi) 批准后不久,我们宣布我们可以在迁移到 GCP 的过程中实现这些目标。"
Kharma 补充道:"我们一直在 GCP 中寻找进一步减少排放的方法,因为我们最终必须抵消某些排放。理想情况下,我们希望尽量减少需要抵消的排放量,因此我们会考虑在气候更友好的 GCP 地区运营。"他还指出,Ampere 处理器的能效是 OpenX 选择将这些应用程序部署到 C3A 实例的因素之一。他们还尽可能利用清洁能源供电的数据中心。"我们使用的计算实例的用电量是我们最大的排放源,因此我们可以采取任何措施来优化平台性能,包括提高应用程序的效率以减少计算使用量或使用更节能的 CPU,这使我们能够更高效地运营并减少排放。很多这些措施都有双重好处,可以帮助我们降低成本。"
采用 Ampere 处理器的 OpenX 前景如何 {#h-what-s-ahead-for-openx-using-ampere-powered-processors}
OpenX 平台团队领导层正在探索在 Ampere 上运行其他服务。目前,他们过去六个月在 C3A 实例上运行的三个应用程序正在三个 GCP 区域运行------一个集群在美国,一个集群在欧洲,一个集群在亚洲。Chodos 表示:"一旦 Google 团队能够分享何时会有更多区域,我们就准备好并愿意使用更多的 Ampere 计算。"
开始使用由 AmpereOne 提供支持的 C3A 实例 {#h-getting-started-with-ampereone-powered-c3a-instances}
联系 Ampere 销售团队,了解如何访问 C3A 实例。
详细了解 Ampere 目前在 GCP 上私人预览的 C3A 实例,请访问Google博客。
订阅我们的开发者新闻通讯,以接收有关由 Ampere 提供支持的 C3A 实例的更新,并随时了解开发者主题和活动。