如何在AWS上构建SITO移动需求端平台(DSP)[案例研究]

到场的平台,定制开发和集成

如何在AWS上构建SITO移动需求端平台(DSP)[案例研究]

2020年3月4日发布,2021年4月2日更新

项目背景

SITO Mobile是一家公开上市的广告技术公司(AdTech),利用消费者和位置数据帮助品牌在移动设备上开展有针对性的媒体活动。

他们的软件被称为需求侧平台(DSP),允许媒体买家(如品牌、广告商和代理)从出版商(如网站和移动应用程序)购买广告空间。

在2013年,SITO Mobile使用Clearcode来解决他们所面临的一些技术挑战。这两家公司之间的合作关系仍在继续,有超过12名全职工程师致力于该项目。

由于我们从合作之初就开始为SITO Mobile提供AWS解决方案,我们将下文分为两部分:第一部分描述我们在2013年至2018年期间提供的AWS解决方案,第二部分描述2018年至2019年期间提供的最新解决方案。

AWS解决方案:2013-2018 7月

我们面临的主要挑战:

  • 在建立基础设施之后,我们发现必须维护多个实例,这些实例使用许多不同的第三方组件和服务。优德88备用网这意味着我们必须执行许多手动任务,比如管理多个MySQL数据库和执行定期备份。
  • 我们面临的另一个关键基础设施挑战是找到一种解决方案,使我们能够替换错误的实例,并用可预测的结果更新应用程序的代码。
  • 任何需求侧平台的关键特征之一是频率覆盖,涉及限制特定在线访客在给定的时间范围内暴露于相同广告的次数(例如每24小时的最大3次)。我们需要找到一个解决方案,它将提供对用户级数据的低延迟访问权限。
  • 基于跟踪事件生成报告也是另一个关键挑战,因为我们必须确保能够以高效和及时的方式处理和提供报告。

的解决方案

  • 为了提高DSP的性能并消除冗余和手动流程,我们选择了多个Amazon Web服务,包括Amazon关系数据库服务(Amazon RDS)。优德88备用网
  • 我们选择自动缩放,因为这允许我们根据我们的预先配置的Amazon机器图像(AMI)替换不可靠的Amazon Elastic Compute Cloud(EC2)实例。
  • 为了运行投标人的关键功能(购买广告空间的DSP组件)和执行频率封顶,我们选择了DynamoDB,因为它提供低延迟的能力。
  • 为了跟踪和报告事件,我们使用弹性负载平衡(ELB),并利用Lambda处理日志。
  • 我们也选择Redis来查询分析数据(印象,点击,不同维度可钻的各种衍生指标等),并在我们遇到追踪器问题时修正招标预算。

由于项目与AWS优化和服务选择直接相关,以下日期为我们实现上述Amazon Web Services的时间。优德88备用网

  • 亚马逊关系数据库服务:2016年1月至2019年。
  • 自动缩放和亚马逊机器图像:2017年1月至2019年。
  • DynamoDB:2016年1月至2019年。
  • 弹性负荷平衡,λ和射频:2016年4月 - 2019年。

结果和结果

  • 多亏了RDS和其他Amazon Web Services,我们可以花更优德88备用网少的时间管理组件(例如数据库、实例等),并将更多的时间用于处理DSP的特性。
  • 自动扩展的主要好处是,如果它们变得无法访问或故障,我们可以快速启动新实例,这使我们能够保持DSP的高可用性。
  • DynamoDB允许我们通过在低延迟下查询用户级数据并使投标人保持高吞吐量来提供粒度频率覆盖。
  • 使用ELB、Lambda和Redshift使我们能够在很短的时间内提供最终报告——不超过15分钟。

由于AWS及其集成的工具和组件,DSP能够每秒最多收到260,000个出价请求 - 每秒查询(QPS)。

AWS解决方案:2018年至2019年

我们面临的主要挑战

1.建立西海岸数据中心

2019年初,SITO Mobile的DSP在西海岸建立实例的需求出现了。其原因与在线媒体的交易方式有关。

每当用户访问一个移动应用程序时,一个广告请求就会从应用程序发送到供应端平台或广告交换,然后由供应端平台将广告请求(又称投标请求)传递给多个需求端平台,包括SITO mobile的DSP。

SITO Mobile的DSP将他们的报价返回给SSP和广告交易所。如果他们的出价是成功的(即最高的),那么它就被选中,广告就会显示给用户。

为了确保移动应用程序提供良好的用户体验,需要尽快向用户显示给用户。意思是,这个过程的主要技术挑战涉及Sito Mobile的DSP可以将他们的出价返回到SSP和广告交换的速度。

如果他们的DSP在特定的时间内(通常在120毫秒到300毫秒之间)没有响应广告请求,那么他们就会超时,无法购买广告空间。这意味着SITO Mobile的客户失去了机会,通常是失去了销售和转化率。

为确保SITO Mobile的DSP能够响应集合时间框架内的广告请求,因此他们需要在与SSP和广告交换中相同的数据中心中的实例。

此外,来自移动应用程序的广告请求有时会被发送到最近的数据中心。这意味着,如果SITO Mobile想要获得更多供应并向西海岸的用户展示广告,他们就需要在那里设置实例。

我们在这个项目中面临的技术挑战是改变架构以支持新数据中心中的应用程序。

2.建立并实施预算控制(又名银行家)

SITO Mobile的DSP每秒接收来自ssp和广告交换的10万多个广告请求。然而,他们直到以后才被告知拍卖的结果(即他们是否赢得了投标)。

这给广告商带来了一个问题,因为他们不确定他们的预算花了多少,因为从ssp和广告交易所接收数据的延迟。这最终会导致过度消费。

我们最初使用REDIS通过录制预算支出来控制超支,这在投标人中被询问。为了进一步减少超支,我们实施了预算控制系统,也称为银行家。

的解决方案

  • 我们在西海岸数据中心设置了投标人和Lambda(用于监视),并从东海岸复制了Amazon Machine Images (AMI)设置,以便在两个数据中心部署相同的应用程序。
  • 我们使用Elasticache Redis来存储预算,预订,并从银行家执行快速查询以获得特定投标人的预订。我们还利用了VPC窥视从西海岸数据中心转移数据。

如何使用AWS作为解决方案的一部分

  • 亚马逊关系数据库服务(Amazon RDS)
  • 自动缩放
  • Amazon机器映像(AMI)
  • 亚马逊弹性计算云(EC2)
  • Elasticache Redis.
  • 弹性负载平衡(ELB)
  • lambda.
  • 红移

结果和结果

  • SITO Mobile客户可以通过来自美国西海岸-美国西部(北加州)地区的广告请求从出版商那里购买广告空间。
  • SITO移动客户端品牌、广告商和代理机构可以在所有活动中减少预算超支。

为什么是亚马逊网络服务?优德88备用网

  • 我们可以降低维护成本,因为我们不再需要专门的资源来维护数据库的基础设施。w88优德中文
  • AWS允许我们将投标人托管在与ssp /广告交易所相同的世界地区,这缩短了DSP和ssp /广告交易所之间的通信路径。
  • 得益于AWS提供的稳定性和性能,DSP每秒可接收26万次查询(QPS)。

案例研究

营销自动化

广告商利用SITO Mobile的广告技术平台来创建、管理和传递营销活动。

以下是SITO Mobile平台的主要特性和技术流程的概述,以及它们与营销自动化的关系:

iso移动dsp如何运作的一个例子

每一步描述:

1.当用户访问包含广告时段的移动应用时,包含用户数据(如设备类型和位置)的广告请求将从移动应用发送到供应端平台(SSP)和/或广告交换。

2.然后将广告请求传递给Sito Mobile的投标人。

3.投标人请求银行家的预算资源。w88优德中文银行家向投标人发送预算资源,并相应地调整广告系列的预算,以w88优德中文避免超支。

4.竞标者根据广告客户提出的竞标要求进行匹配。如果有一个活动匹配,投标人发送一个出价回SSP/广告交换。

当我们提到“匹配”时,我们谈论的是广告请求中的信息是否与广告商活动中定义的目标标准相匹配。例如,如果用户位于纽约,并且正在使用iPhone,那么竞标者将搜索那些希望以纽约拥有iPhone的用户为目标用户的活动。

假设出价成功(即是最高的出价),来自投标人的出价响应(广告加价)将被发送回SSP/广告交易所,然后进入手机应用。

5。来自竞标者的广告标记加载到移动应用程序中,该应用程序向SITO mobile的广告服务器发送请求以检索该广告。

6。广告服务器返回广告并将其显示在移动应用程序中。

7。SITO Mobile的追踪器会收集有关用户和活动的信息,如广告是否显示给用户,用户是否点击了广告,用户是否转换(例如下载了广告推广的应用)以及其他分析和报告数据。

8。预算数据通过跟踪器传递到竞选报告数据库。

9.活动和分析数据通过跟踪器传递到活动报告数据库。

10.竞选报告数据库聚合数据并将其传递给用户界面。用户界面允许广告商计划广告活动,调整预算,并查看关于其活动性能的分析数据(例如,印象,点击,转换等)。

需要注意的是,上述过程并不是以线性方式发生的——它们中的许多会同时发生。

安全

我们通过以下方式安全可靠地存储客户、营销活动和跟踪数据:

  • 我们在S3上存储原始日志,这样如果数据库崩溃,我们可以从快照恢复它并重新摄取日志。
  • 对于内存数据库(即Redis的Elasticache),我们允许AWS创建特定数量的自动快照。
  • 为了安全起见,我们已经在客户端和ELB (Elastic Load Balancing)之间建立了网络访问控制和HTTPs连接。

广告系列管理功能

以下是活动管理的主要功能:

  • 用户界面:允许广告客户计划,创建,管理和计划广告活动。
  • 跟踪器:收集投标人和银行家的数据,并将其传送到竞选报告数据库。
  • 数据库活动报告:从跟踪器中聚合数据并将其显示在用户界面中,提供最新和准确的数据,以便广告商可以正确管理他们的广告系列。

营销活动的交付和测量

以下是主要营销活动交付和测量组件:

  • 投标人:对通过移动设备发送的ssp和广告交换的广告请求进行投标。
  • 广告服务器:向移动用户提供营销活动。
  • 跟踪器:收集测量市场活动的数据。
  • 银行家:跟踪广告活动的预算,确保广告商不会超支。
  • 数据库活动报告:从跟踪器中汇总数据,并将其显示在用户界面中,以提供关于广告系列性能和预算的最新报告。
  • 用户界面:允许广告商在一个地方运行和衡量他们的活动。

市场营销活动跟踪和分析

以下是主要营销活动跟踪和分析组件:

  • 跟踪器:收集投标人和银行家的数据,并将其传送到竞选报告数据库。
  • 数据库活动报告:收集来自跟踪器的数据,并将其显示在用户界面中,提供有关活动性能和预算的最新和准确的报告。
  • 用户界面:允许广告商在一个地方查看分析,广告系列和预算报告。

触发器和基于规则的自动化

  • 投标人:将来自ssp和广告交易所的广告请求与广告商的活动进行匹配,这是基于预定义的规则(即目标标准)。如果广告活动中设置的目标标准与广告请求中的数据相匹配,则投标人将触发一个投标响应。
  • 广告服务器:投标人根据AD请求中传递的数据告诉AD服务器服务哪个AD。

性能效率

计算

下面我们将描述如何选择正确的AWS计算选项。

实例:

  • 我们根据自己的基准选择实例类型。基准测试是通过运行对性能敏感的生产实例的A/B测试和使用项目的内存需求来获得的。
  • 我们比较了各种EC2实例类型,由于各种资源之间的平衡,我们最初选择了M4。w88优德中文随着DSP的流量增加,我们转而使用C4,因为它在性能测试期间的结果和它能够处理的繁重工作负载。我们已经升级到C5,作为下一代的计算优化实例类型。

容器:

  • 在选择容器时,我们评估了AWS的三个容器编排服务——弹性容器服务(ECS)、弹性容器服务Fargate (ECS Fargate)和Kubernetes弹性容器服优德88备用网务(EKS)。
  • 我们决定使用ECS,因为它比ECS Fargate提供的磁盘空间更大。

功能:

  • 我们选择Lambda来处理需要以独立的小批量相互并行运行的任务,这些任务有时由其他AWS服务调用。优德88备用网
  • 我们在ELB服务上启用了日志处理来运行跟踪程序,它负责实时操作,比如将用户重定向到登录页面,设置转换cookie,并将印象和支出通知银行家。

贮存

在决定存储服务时,我们主要考虑的是现有的体系结构设置,以及优德88备用网可用性和可靠性。

我们在过去实施和使用了各种存储解决方案,例如S3冰川和亚马逊弹性文件系统(EFS),但最终选择了亚马逊弹性块商店(EBS),因为它符合我们的要求。

数据库

在选择数据库解决方案时,我们主要考虑的是现有的体系结构。在遴选过程中,我们考虑了以下服务:优德88备用网

  • RDS的PostgreSQL
  • ElastiCache的复述,
  • 红移
  • 数据库在EC2上

在评估上述数据库解决方案后,我们使用以下设置:

  • 红移用于存储兆兆字节的事件数据
  • Redis的实时数据访问由投标人
  • PostgreSQL的所有其他存储要求

网络

我们使用:

  • 将流量路由到各种EC2实例的经典elb
  • 用于收集流量数据的ELB日志
  • 云锋服务创意资产
  • Route53管理公共和私有域和子域
  • VPC用于分离环境
  • 具有VPC凝视的多个VPC

我们开始从经典负载均衡器迁移到应用负载均衡器,因为我们可以在容器中使用应用程序,并将单个负载均衡器路由到不同域的不同实例。

资源评估

在引入新服务或对现有服务进行更改时,我们将审查体系结构决策和方法。优德88备用网

我们跟踪和观察的主要关键绩效指标与DSP本身的业务和技术要求有关。

例如,我们跟踪我们的架构的性能,以确保DSP可以:

  • 在规定的时间内响应投标请求(如150毫秒)
  • 快速生成报告(不到15分钟)
  • 向银行发送竞选预算信息,这样SITO移动客户就不会超支

性能监控

我们使用CloudWatch与自定义指标从我们的应用程序,包括警报和仪表板。

权衡

应用程序设置的主要权力之一是交换自动化,以便手动管理某些服务。优德88备用网尽管手动管理这些服务意味着我们花费更多时间与自动化服务相比配置,我们可以优德88备用网配置和优化服务的更多部分,允许我们实现更大的性能。

了解我们的AWS伙伴关系如何帮助您

与我们的团队安排一次电话会议,了解我们的AWS技术服务如何帮助您建立新的AdTech和MarTech平台,或改进您现有的产品优德88备用网

安排一个电话

免费AdTech & MarTech资源w88优德中文

通过我们的双月刊时事通讯,成千上万的c级高管、软件工程师、营销人员和广告商都可以了解AdTech和MarTech的内部工作原理——你也可以!今天就订阅,获得最新最好的文章、视频和指南!