**本文介绍下我之前在Avazu做的一个关于一个个程序广告平台在AWS上成功部署的案例经验。
Avazu携手AWS,为移动程序化广告注入时代生命力
“AWS 云服务全球覆盖,安全,高性能低延迟,系统稳定,出色的大数据处理能力,将 Avazu 从管理服务器基础架构等繁冗的工作当中解脱出来,使 Avazu 能够投入更多的精力和时间在应用的开发与创新上,助力 Avazu 在领跑全球跨屏广告的路上更进一步。”
——邹晨亮
艾维邑动(Avazu)运维工程师
Avazu
艾维邑动(Avazu)使用AWS平台服务,大幅度提高了系统的稳定性和可扩展性,满足了广告平台日处理200亿次以上展示曝光和100万次以上QPS的需求。艾维邑动隶属于DotC United Group集团,DotC United Group总部位于上海,在全球多个国家和地区有分支机构。艾维邑动的前端应用运行在AWS平台上,采用的服务包括Amazon EC2、Amazon CloudWatch、AWS Key Management Service、Route 53、Amazon SNS、Amazon S3、Amazon Aurora、Redshift等。
为什么选择 AWS?
DotC United Group是一家通过创建和构造互联网平台来应对全球化挑战和简化出海过程的技术型公司。旗下主要业务平台包括:艾维邑动广告平台、DotC App 应用矩阵、Noogenesis 数据 BI 平台。其中,艾维邑动广告平台,DotC App 应用矩阵也使用 Amazon Web Services (AWS) 的服务。
作为全球跨屏推广服务的领先者,艾维邑动在精准定位与大数据算法等方面具备独有的竞争优势,一直力求整合媒体优质资源,连接媒体和广告主,针对目标客户以合理的价格帮助全球的广告主实时购买广告库存以达到有效有量的媒体覆盖率,最大限度利用自身广告平台的资源。为实现广告营收最大化,实现流畅的广告交互体验,最大程度曝光广告给到高精准的目标客户,缩短RTB的延时,艾维邑动迫切需要低延迟、高效、安全、可用性强并长期稳定的云服务伙伴。经过多番比较,Avazu最终选择了AWS 云平台来支撑其迅猛发展的全球跨屏广告业务。
全球访问低延迟
艾维邑动在全球拥有1000+客户数,覆盖全球200个国家,并且许多客户也在使用 AWS 服务。为了提升用户的访问速度,增强用户体验,艾维邑动使用了 Amazon Route 53 服务。Route 53 是一种可用性高、可扩展性强的云域名系统(DNS)Web 服务,具有速度快、使用方便,而且经济高效的特点。它使用 DNS 服务器的全球网络响应 DNS 查询,延迟时间短。对域的查询将自动路由到最近的 DNS 服务器,能够更快速地响应请求,并高效地将终端用户请求路由到延迟更低的 AWS 可用区。
另外,为了增强用户体验,降低系统延迟,艾维邑动广告数据都缓存在 Amazon ElastiCache 的 Redis 中,最后存储在 Amazon Aurora 数据库中。同时,其它广告平台的广告资源也会定期更新到 Aurora 数据库。Amazon ElastiCache 是一项 Web 服务,借助该服务,艾维邑动能够在云中轻松部署、运行和扩展内存数据存储或缓存;支持用户从快速安全的托管内存数据存储中检索信息,而无需完全依赖于速度较慢的、基于磁盘的数据库,从而提高了 Web 应用程序的性能。
最后,数十亿的点击量也会伴随着大量实时数据的产生,这是一个非常大的数据处理量,需要服务器有出色的数据处理能力。而 AWS 的 Aurora 服务恰逢其时,是一种为云打造并且兼容 MySQL 和 PostgreSQL 的关系数据库,既具有高端商用数据库的性能和可用性,又具有开源数据库的简单性和成本效益;速度最高可以达到标准 MySQL 数据库的五倍、标准 PostgreSQL 数据库的三倍。
应对每日200亿次曝光,系统稳定
艾维邑动广告平台主要分为三大模块:合作媒体接入模块、点击数据追踪模块、广告转化率计算模块。合作媒体接入模块提供给媒体平台一个 Ads API,当广告竞价完成时服务器会通过此接口将广告内容推送到媒体平台;点击数据追踪模块,负责记录并追踪用户点击合作媒体平台上的广告行为;广告转化率计算模块提供一个接口 Post back API,负责给广告主做广告传播效果统计。
艾维邑动所有业务均面向海外,与全球范围内数十家优质广告交易平台(Ad Exchange)对接,如 Google、Facebook、百度等,覆盖全球85%的网民。面对大流量、高并发的访问,系统的稳定性将承受巨大挑战,因此艾维邑动在这三个模块的业务处理方面都使用了 AWS 的 Amazon Elastic Compute Cloud (Amazon EC2) 集群,并将 Auto Scaling 用于 Amazon EC2实例的动态扩展,以便在流量高峰期自动增加 Amazon EC2 实例的数量来维持性能,并在流量较低时自动减少容量来降低成本,保证了自身广告平台的稳定性。
快速高效分析大数据
数十亿用户点击合作媒体平台上的广告,会有大量的实时数据产生。这些数据所呈现出来的商业价值,对广告主来说非常重要,因此需要系统对实时产生的大量流数据进行快速高效准确的分析、挖掘。艾维邑动使用了 Amazon Kinesis 及 Amazon Kinesis Firehose 将数据缓存在 Amazon Simple Storage Service (Amazon S3) 并导入到数据仓库 Amazon Redshift 中,如此一来,艾维邑动的客户(广告主/媒体)只需要使用标准 SQL 和现有的商业智能(BI)工具就可以经济高效地轻松分析所有数据。另一方面,通过数据仓库 Amazon Redshift,艾维邑动还能够通过流量的多种表现数据,识别出作弊流量进行评比,针对每个广告位做相对应的数据预测进而实现优化,以及实时计算出合理的价格,既保证竞价胜出率,又能尽量达到客户的优化目标。
覆盖范围全球化
AWS 云可用区的覆盖范围之广,也是艾维邑动决定将广告业务部署在 AWS 平台上的原因之一。截至2017年12月20日,AWS 在全球 18 个地理区域内运营着 49 个可用区,并宣布计划增加巴林、中国香港特别行政区、瑞典和美国第二个 AWS GovCloud 区域这四个地区,同时再增加12个可用区。
基于 AWS 的广告平台系统架构图
图1 基于 AWS 的广告平台系统架构图
如图1,是艾维邑动广告平台的系统架构图,所采用的AWS云服务包括 Amazon EC2、Auto Scaling、Amazon CloudWatch、AWS Key Management Service、Amazon Route 53、Amazon Simple Notification Service (Amazon SNS)、ElastiCache、Amazon S3、Aurora、Amazon Redshift、 Kinesis Firehose 等。
除了广告平台艾维邑动,DotC United Group 集团旗下 App 矩阵业务也采用了 AWS 服务。例如,DotC App 应用矩阵近期在新加坡区域部署的一个相册应用 Vera Photo,就使用了 AWS 的 Amazon Cognito 和 Amazon Rekognition 服务。
借助 Amazon Cognito,DotC App 应用矩阵的开发者能够为移动应用程序添加用户注册和登录功能,可以选择通过 Facebook、Twitter 或 Amazon 等社交身份提供商,或使用自己的身份系统对用户进行身份验证。此外,Amazon Cognito 还允许将数据保存到用户设备本地。因此即使用户设备在离线状态下,也能保证应用程序的正常工作,同时还可以在多个用户设备之间同步数据,因此,不论用户使用何种设备,DotC App 应用矩阵都能获得一致流畅的应用程序体验。
Amazon Rekognition 是一种为应用程序添加图像分析功能的服务。利用 Rekognition,可以检测对象、场景和面孔;识别名人、识别图像中的不当内容;还可以搜索和比较面孔。借助 Rekognition 的 API,DotC App 应用矩阵的开发者能够快速为应用程序添加基于深度学习的复杂视觉搜索和图像分类功能。
如图2,是 DotC App 应用矩阵中一个相册 App 的系统架构图,所采用的 AWS 云服务包括 CloudWatch、Amazon Cognito、Amazon EC2、ElastiCache、AWS KMS、Amazon SNS、Amazon S3、Rekognition、Amazon Relational Database Service (Amazon RDS )等。
Avazu携手AWS,为移动程序化广告注入时代生命力
图2 基于 AWS 的相册 App 系统架构图
获得的成效
AWS 服务为艾维邑动带来的成效,主要体现在系统稳定、低延迟、高效大数据分析和流畅的用户体验几方面。
首先,在使用 AWS 云服务之前,艾维邑动广告平台是基于混合云模式搭建,属于租赁海外的物理服务器,服务器经常出现系统不稳定、硬件故障、系统延迟等现象。在接入 AWS 平台后,Avazu 广告平台业务系统再没有出现任何问题,非常稳定。
其次,Amazon EC2 集群、Auto Scaling 弹性伸缩、Route 53、ElastiCache 等服务有力地促进了广告平台在全球范围部署,并将用户访问延迟控制在200毫秒内。低延迟、响应速度快、快速高效的大数据挖掘和分析能力,都为艾维邑动广告平台上的客户提供超预期的用户体验。
最后,AWS 通过解耦的方式,大幅度提升了 DotC App 的开发效率。至今 AWS 已帮助 DotC App 矩阵开发出200多个覆盖全球区域、且日用户触达20亿的 App 产品。
总体而言,艾维邑动作为优秀的移动程序化广告平台,对一站式采购百亿级全球优质流量有着极高的要求。第一是精准投放和多维度定向;第二是对不同维度的定向选择都可以通过一键点击来实现,自动化优化;第三是为全球客户提供透明真实的流量和数据;第四是通过机器学习引擎来识别作弊流量。
要同时做到以上这四点,艾维邑动不仅需要一个全球覆盖范围广、稳定并且高效的服务平台,也需要系统根据平台上超过一万个注册账号的历史数据进行实时的计算和分析。特别是反作弊流量引擎和竞价优化引擎,需要对每次竞价进行分析和优化,这是一个非常大的数据处理量,需要服务器有出色的数据处理能力。AWS 完全满足这方面的需求,同时还提供个性化的配置方案,可以按照需求选择不同的处理器类型,或是升级磁盘、内存的配置,这样的方式也在很大程度上降低了服务器的成本。
关于艾维邑动
艾维邑动(Avazu)是一家致力于 PC 和移动互联网广告全球投放,通过程序化广告技术进行效果营销的技术型公司。2009年在文莱成立,同年建立上海总部。经过多年坚持不懈的努力,目前在北京、上海、西安、阿姆斯特丹、柏林、香港等地设有办公室,并计划未来在其他地区如纽约、首尔和伦敦设立分部,完成全球市场战略布局。旗下包括 Avazu APX、Avazu aNative 和 Avazu DSP 三大业务。随着 DotC United Group 集团在今年7月份完成总额3.5亿美元的B轮融资,艾维邑动也正式成为 DotC United Group 集团的全资子公司。