亚马逊与数字广告

2018-02-24 20:07逆水行舟
电脑知识与技术·经验技巧 2017年6期
关键词:架构利用数字

逆水行舟

近日,由亚马逊(AWS)联合Morketing举办的“云计算撬动的数字营销”高端沙龙在北京盛大召开,现场汇集了40多位数字广告行业的CTO进行思想碰撞。作为AWS首席云计算技术顾问的费良宏现场做了关于《亚马逊与数字广告》的主题演讲,分享了广告行业里企业应用AWS的成功案例、对大数据再思考以及对技术的思考和实践。

有一个说法,在互联网发展的几十年里,只有广告和游戏属于赚大钱的行业。数据显示,广告产业的确是一个巨大的市场。2016年,全球广告市场总支出达到4,070亿美元,这个规模里超过一半多是数字化广告,份额高达2,100亿美元,而且增长的势头极好。

根据ZenithOptimedia的报告显示,传统的广告媒体的份额在逐年下降,新兴数字广告的媒体增长速度明显增幅。过去一年全球移动广告增幅超过了35%,视频广告的增幅高达40%,Facehook的广告收入的增长也达到了27%,数字广告在各个方面都呈现快速增长的态势。

针对数字广告行业,我们可以通过一个简单的价值链来理清这个产业的脉络。图2涵盖了市场和媒体之间的数字广告的价值链。这里面包括了像Razorfish这样的广告代理机构,DataXu这样的广告需求端平台;在广告发布方面,我们看到了发行解决方案提供商或供应方平台如Fiksu和Zedo等。

同样在这样一个生态链里,有很多中国的企业都利用AWS成就了他们的成长。利用AWS的成功经验,帮助中国企业如何立足于本地,尝试用新的技术解构遇到实际的困难,帮助企业成功。

一效率与规模

目前,移动、视频和数据这三大要素是数字广告技术中的关键。此外,跨渠道的属性和真正的受众识别的能力也是能提升收入并决定企业在市场中成功的关键。

AWS提供的是基础的云计算服务。在基础设施之上的数字广告从市场到媒体的所有企业,都是AWS的服务对象。随着市场的发展,新的需求也会不断地涌现,云计算提供的服务也将得到进一步拓展。

目前的市场上有很多广告企业借助AWS的技术、产品和服务取得了成功。全球第三大的广告与传播集团阳狮集团( Puhlicis Groupe),也是其中之一。他们总结使用云计算的心得就是:效率很重要,但能力更为重要。

对于初创企业公司,比如美国这家专注于视频市场的BrightRoll就认为AWS无论成本、效益、满足需求方面都是创业公司的完美基础设施和技术服务的提供者。

AWS对于数字广告市场的目标就是帮助这个行业的参与者能够以适当的价格在正确的时间将正确的信息送达正确的受众。程序化的购买提供了新的机遇,它对于技术有了新的要求。利用技术手段,例如利用NoSQL的数据库实现100多亿条数据的管理;利用新的数据分析技术实现对于用户行为的洞察力。

一个令人惊叹的关于成长和成功的例子是一家来自美国加州的名为AdRoll企业。这是一家重定向广告( Retargeting)服务的技术公司,提供了基于用户浏览记录等信息,为广告主提供几乎瞬时的广告位购买服务。伴随着广告业的发展,其在2012年的增长率达150%。但是,为了有效地服务于广告,AdRoll需要能够灵活快速地增加容量,在极快的响应时间内实时中标,并通过自动化确保系统迅速响应竞价。他们面向全球100多个国家庞大的群体提供服务,成本是非常重要的,在超过2,500台服务器上运行RTB平台,运行时间每天大约8小时,但是每台机器每天花费不到0.05美元。这中间,AWS起到了关键的作用。

在这个数据平台上,如何将之前数据处理的延迟由分钟级降到秒级,就是利用了Amazon Kinesis为代表的流处理技术,解决了大量数据处理压力的效率的难题。相信这样的架构对大家、对于更好的架构设计都会有一些启发。

二、成本、实时竞价与全球化

如何以更低的成本满足更高的处理的需要。许多人抱怨AWS的云计算服务报价复杂、计价也比较复杂,这实际上也给予每个云计算的使用者成本优化的能力。例如,可以通过向上或向下的扩展能力实现真正的弹性。此外这种弹性的能力可以通过SDK、脚本等实现自动化的处理。

这里想特别强调的是AWS的竞价型实例(SpotInstance)。这种服务提供了一种通过竞价的方式得到低于市场价格的计算资源。许多时候,这个价格低于正常市场价格的30%。大家也许会担心这种模式对于数字广告行业是否有效,我们就先看—下有没有人做这样的尝试。

Netseer这家公司提供基于概念的广告解决方案,将搜索查询和网页内容与广告客户和发布商的相关广告相匹配。每天的处理请求高达soo亿次,对他们来说计算成本压力非常大。于是他们的选择成本方法就是竞价型实例。按照他们的说法“使用AmazonEC2 Spot Fleet实例,我们的投标成本是可以预测的。”有人会担心竞价型实例会有不方便的地方?许多的实践证明,可以选择通过自动化的方法实现资源的管理,尤其是将日志管理能力结合在一起,可以动态的去决定申请一個新的竞价实例。这样的方式更大程度上兼顾了计算能力和计算成本。

对于第一次接触AWS的人来说有必要解释—下所谓的“区域”和“可用区”的概念。“区域”是指全球范围内的某个物理节点,每个“区域”由多个“可用区”组成。“可用区”由一个或多个分散的数据中心组成,每个都拥有独立的配套设施,其中包括冗余电源、联网和连接。可用区能够提高生产应用程序和数据库的运行效率,使其具备比单个数据中心更强的可用性、容错能力以及可扩展性。AWS云在全球16个地理区域内运营着42个可用区。接下来还将会新增三个新的区域,这三个区域为中国宁夏、法国巴黎和瑞典斯德哥尔摩。这个基础设施足以支持数字广告企业实现全球化的业务覆盖。

如何有效地利用AWS的云计算资源帮助企业实现全球化是一个很有意义的话题。一家名为BrightRoll的故事提供了很好的参考。BrightRoll的业务针对视频的Ad Exchange。它提供了一个独立的、统一的视频广告平台,可在网络,移动设备和连接的电视机上提供数字视频广告。这样一家创业型企业面临的压力是每天要处理海量的广告请求,于是他们尝试利用AWS实现了每天处理300亿条广告数据,每个月投放30条视频广告的业务。endprint

而另一家名为Eyeota的企业提供的DMP平台遇到问题是业务规模非常庞大,合作的媒体数量有3万多家、用户规模达到15亿之多。他们最关心的一点是如何进入到新的市场,也就是快速的产品投放,这决定了一个公司的生死。他们的结论就是“AWS能够帮助我们进入到新的市场而不是在新市场出现以后几周或者几个月以后……”

总结几个案例,也归纳出企业目前共同面对的挑战。二方面是程序化媒体的效率与规模的问题;另一方面是如何通过技术创新增加受众范围和提高参与度,这里面包括了应用流分析和机器学习的技术以及利用新的广告技术。

三、大数据再思考

大数据是不断出现的话题,大家可能觉得已经不那么新鲜。但大数据领域的技术发展还是会有一些新的方法可以帮助我们解决今天面临的问题。

以往大数据处理更多地是使用“批处理”的模式,而今天我想为大家强调所谓的“流”式的处理模式。在AWS的产品家族里面,Amazon Kinesis就是这样的一款实现了数据“流”处理的服务。

Beeswax公司在去年的AWS re:lnvent大会上分享了他们的系统架构。这个架构中的核心就是Streaming Message Hub,利用了“流”技术实现了数据的低延迟、缓存、持久化,以满足最后的实时分析和任务的处理。利用这个特性刚才所说的大数据的许多问题,都可以通过这样的架构加以解决。按照Beeswax的说法他们的系统峰值的QPS已经超过了1M。

与刚才分享的案例有异曲同之处,就是利用Amazon Kinesis作为数据的缓冲区将前端和后端的处理能力做了极好的缓冲,这个方式对于降低大数据处理的延时已经被证明是行之有效的。

DataXu是一家很神奇的企业,被认为是行业内成长最快的企业之一。通过他们的介绍我们了解到,他们每秒的业务请求超过了200万次,数据规模已经达到PB级别,日增日志超过了180TB,仅仅用于分析的数据就有2PB之多。

在他们的架构中,将Amazon S3作为数据存储的核心,原始数据都保存在S3之上。对处理之后的数据也会保存在S3上。DataXu利用了Amazon Kinesis实现了数据的缓冲,将数据处理的响应时间控制在10毫秒。

这个架构的好处是什么?这样的设计意味着数据只需保存一份,所有的业务处理都可以共享同一个数据源,这也是我们后面谈到的最佳实践的原则之一。而在MediaMath分享的案例里面,提到了他们名为“Firehose”的架构。架构的关键就是基于AmazonKinesis组件,功能就是通过“流”技术来简化流数据的摄取。

AOL的案例有另外的借鉴意义。首先,采用了混合的架构,在原有的数据中心跟新的云计算服务之间做了很好的集成,兼顾了原有的处理能力和新的云计算的服务方式;其次,使用数百个Hadoop集群,这在成本上和运维的效率上有很大的优势。

总结下来这些案例值得借鉴的地方有三点:

第一,对于创业企业来说,更少的维护成本是非常重要的;

第二,利用新的技术不断创新。AWS在2016年有超过1000多项新的服务和更新,我们可以不断利用这些新的技术保持我们创新的能力;

第三,在成本方面,很多人说AWS服务的价格贵。或许单纯比较价格,或者对比自己搭建的服务,AWS的服务价格要高一些。但是有没有讨成本优化的空间?我相信是有的。因为看到在很多的案例都证明了这一点。

四、数字广告业的创新

数字广告业发展到今天,出现了一些创新,比如说新的广告格式、新的投放方式、新的数字营销中心(HUB)以及物联网和地理位置驱动等等。

我们完全可以通过借鉴去找到新的创新点。其中的一个新的广告技术被称作In Image广告。这是针对图片进行广告投放的方法。这种广告的针对性更强,而且可视率非常高。GumGum就是进行这种尝试的广告企业之一。他们与2000多家媒体合作,覆盖的图片数量达数十亿,日数据量达到6TB。Localytics是一家针对地理位置实现广告投放的企业,全球范围合作的移动应用达到37,000多个,覆盖的移动设备高达30亿台。他们的一个很值得称道的地方是利用Amazon Lamhda实现了灵活的编排处理。

这种被叫做Serverless的技术允许我们用小块程序块组织我们的业务架构。它并不像传统的业务架构,需要去开发一个耦合度很高的精密的处理系统。这种变化让我们的架构设计可以变得更简单,开发者可以更容易的去实现业务功能。这是一个非常值得关注的方向。

对于数字广告在技术领域的热点目前有三个:第一是大数据,数据量非常大,动辄TB级别。所以需要用新的技术去解决这样一个海量数据。其中一个考虑就是用数据流去替代批处理。对于数据本身我们还希望借助新的算法去实现增值、个性化、推荐等。另外一点就是低延迟的需求。程序化的购买方式、程序化的广告,需要在100到150毫秒内完成,这是一个迫切的需求。再有一个是广告内容的发布,利用现有合作技术和手段去实现高效、安全的发布。

五、技术的思考和实践

第一是混合架构的模式。对于许多业内的企业混合架構是目前可以尝试的一个办法。就实现而言通过专线的方法将我们现有的数据中心与云计算进行连接和集成。在兼顾原有的系统和处理能力的同时可以利用云计算带给我们新资源和服务。

第二是数据的解耦。对于数据处理的流程而言无非就是采集、存储、处理、分析这样几个环节。以往,我们习惯将数据的存储和处理混在一起,但在今天看来这样的系统会遇到越来越多的问题。所以比较好的方法就是将数据解耦,让我们共享同一份数据但可以完成不同的处理任务。AWS提供的众多服务都可以帮助我们实现这一点。

还有一点是“数据湖”的概念。所谓数据湖的概念是数据仓库理论的一个延伸。强调的是在业务环境下一个全数据管理的实现。不同于传统意义上的将数据按照不同的任务进行切分,而是利用现代大数据的管理处理能力实现全数据的管理的能力。在AWS的框架下很多人选择利用Amazon S3这样一款虽然时间最久,虽然看起来最简单,但却是朴实无华的数据服务来实现这个目标。

最后一点就是机器学习。机器学习目前已经成为业内的热点技术。以DataXu公司为例,在过去几年他们在这方面投入非常之大。对他们而言在机器学习领域最看重的就是处理的延时以及模型的尺寸。相信在数字广告行业,这个技术一定会得到快速的发展。endprint

猜你喜欢
架构利用数字
基于云控平台雾计算架构的网联汽车路径控制
画与理
答数字
数字看G20
利用“隐性”圆,巧解一类题
VIE:从何而来,去向何方
企业架构的最佳实践
废物巧利用
成双成对
三层架构在企业信息化中的应用