“AWS 云服务全球覆盖,安全,高性能低延迟,系统稳定,出色的大数据处理能力,将 Avazu 从管理服务器基础架构等繁冗的工作当中解脱出来,使 Avazu能够投入更多的精力和时间在应用的开发与创新上,助力 Avazu 在领跑全球跨屏广告的路上更进一步。” ——张志辉 艾维邑动(Avazu)运维团队负责人 身为全球跨屏推广服务的佼佼者,Avazu在精准定位与大数据算法等方面有着独有的竞争优势,一直力求整合媒体优质资源,连接媒体和广告主,针对目标客户以合理的价格帮助全球的广告主实时购买广告库存以达到有效有量的媒体覆盖率,最大限度利用自身广告平台的资源。为实现广告营收最大化,实现流畅的广告交互体验,最大程度曝光广告给到高精准的目标客户,缩短RTB的延时,Avazu迫切需要长期稳定的云服务伙伴。经过多番比较,Avazu最终选择了AWS 云平台来支撑其迅猛发展的全球跨屏广告业务,采用的服务包括 Amazon EC2、Amazon CloudWatch、AWS Key Management Service、Route 53、Amazon SNS、Amazon S3、Amazon Aurora、Redshift 等。与AWS的合作,大幅度提高了系统的稳定性和可扩展性,满足了广告平台日处理200亿次以上展示曝光和100万次以上 QPS 的需求。 为什么选择 AWS? DotC United Group 集团的定位是,通过创造和构建互联网平台型产品来解决国际化中复杂的问题。旗下主要业务平台包括:艾维邑动广告平台、DotC App 应用矩阵、Noogenesis 数据 BI 平台。除了艾维邑动广告平台,DotC App 应用矩阵也使用 Amazon Web Services (AWS) 的服务。 艾维邑动作为程序化广告的先行者,为广告商提供一站式效果营销解决方案(按效果付费),也为开发者和发布商提供完善的产品变现。艾维邑动广告平台每天要处理200亿次以上展示曝光,并且要通过预测引擎来计算每秒100万次以上展示曝光(QPS)的价值。系统面临着大流量、高并发、客户群体全球化的多重挑战,因此对系统的稳定性、安全性、可用性有较高的要求。
全球访问低延迟 艾维邑动在全球拥有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个可用区。 图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 )等。
图2 基于 AWS 的相册 App 系统架构图
|