AWS助力FreeWheel构建现代化应用,高效处理万亿级数据

2022

FreeWheel创建于2007年,现隶属于美国综合性传媒集团康卡斯特(Comcast),是业界知名的高端视频广告管理技术和服务提供商,主营业务为高端视频媒体广告服务。其总部位于美国硅谷,在纽约、旧金山、芝加哥、伦敦、巴黎、北京等地分别设有办公室。

作为全球视频广告和数字广告领域的先行者,FreeWheel拥有业界完整的广告管理解决方案,为客户提供互联网视频广告的投放、监测、预测、增值等关键服务,已成功为伦敦奥运会、索契冬奥会、巴西世界杯、里约奥运会等大型顶级赛事媒体提供过广告技术支持。目前,FreeWheel广告平台正在被90%以上的美国主流电视媒体和运营商使用。

海量数据处理和运维压力剧增,FreeWheel亟待构建现代化应用

FreeWheel 致力于打破视频广告买卖双方由于不同屏幕、数据类型和销售渠道等带来的限制,助力广告行业蓬勃发展,通过对技术的精益求精和创新的不断探索,帮助大型媒体公司在数字时代最大化地挖掘内容的商业价值。但数字广告行业交易需求不断变化,高度依赖数据驱动,这对 FreeWheel 不断发展的业务提出了新挑战。

首先,由于产品和服务需求的快速更新,促使 FreeWheel 要实现应用的高效创新与迭代。然而,FreeWheel 最初采用在物理服务器上部署单体应用的模式,复杂性高、可靠性和部署效率低,制约着平台本身的创新,也阻碍了业务的发展。

其次,FreeWheel 每年在平台上展示的电视广告量有 3000 亿次以上,广告请求量又是展示量的 50~100 倍,这需要更富弹性伸缩的平台来支持高达百倍的流量暴增。同时FreeWheel 每天还需要处理 80TB 左右的流动数据,最后存储时也有 10TB 之多,之后还要对各种不同的应用进行分析和预测,这对平台的扩展性和容量提出了更高要求。

最后,业务量增长也给 FreeWheel 的基础设施运维带来了压力。在使用物理机的情况下,开发人员除了管理应用程序代码之外,还需要花费时间精力兼顾网络、数据安全与合规、系统扩容等运维问题,不仅耗时耗力还加剧了企业负担。

为解决以上问题,FreeWheel 走上了云原生改造之路,希望可以借助云服务的大容量、高扩展和自动化等特点,实现现代化应用转型。AWS提 供了完善的无服务器计算服务,以及丰富的产品和实践经验,让 FreeWheel 选择其作为现代化应用转型的云服务商。

start a python tutorial
kr_quotemark

利用 AWS 无服务器计算技术,FreeWheel 完成了现代化应用架构改造,微服务化、容器化的平台构架,让我们轻松应对 2 秒内激增百倍的超大流量。”

曹宇

FreeWheel 

依托AWS完成架构现代化转型,2秒内百倍流量激增也能轻松应对

2018年 FreeWheel 开始现代化应用转型。考虑到运维管理压力分散了开发人员的精力,FreeWheel 率先选用了AWS Lambda 无服务器计算服务,并使用 Amazon Elastic Kubernetes Service (Amazon EKS) 容器编排服务,将业务应用“平移”上云,在保持现有架构不变的情况下完成了应用迁移,使 FreeWheel 系统具备了资源弹性扩展能力。

迁移上云后,由于 FreeWheel 还保留了 MySQL 数据库等原有应用,因此尚不能充分发挥云原生优势。对此,FreeWheel 采用 Amazon AuroraAmazon DynamoDB 替换MySQL 数据库集群,使用 Amazon Simple Storage Service (Amazon S3) 搭建可扩展存储。另外,在广告预测业务方面,还利用 Amazon SageMaker 的分布式训练集群,大幅缩短模型的迭代周期,效果倍增。

微服务化、容器化的应用架构,让 FreeWheel 能够更灵活地应对业务需求不断变化带来的挑战。在奥运会、超级碗、世界杯等 10 多个全球收视率最高的赛事活动期间,FreeWheel 成功支持了所服务的顶级媒体,顺利应对 2 秒内激增 100 倍的超大流量。

“通过将应用容器化,迁移到AWS的无服务器架构模式下,我们持续应用与开发 DevOps 实践,实现了持续集成和交付(CI\CD),在无需特别关注基础设施的前提下,应用可以更快速地更新和迭代。AWS让我们以现代化的方式现代化了那些可以被现代化的部分,便于我们应对不断变化的业务需求。” FreeWheel 曹宇表示。

AWS Lambda 释放运维压力,让FreeWheel专注于业务创新

AWS Lambda 是一项无服务器计算服务,可通过运行代码来响应事件并自动管理底层计算资源。因此,在AWS上构建起应用平台之后,FreeWheel 最直观的感受就是开发人员只需专注编写应用程序代码即可,而对基础设施的调用、弹性扩缩等问题交由 AWS处理,让 FreeWheel 的工程师可以集中精力于业务创新。

在 FreeWheel 看来,AWS Lambda 这样的无服务器计算技术更适合于像 FreeWheel 这样的业务敏捷性高、成本预算严格控制的企业,以及需求多变,应用快速迭代、快速交付的业务场景,包括 Web API、事件驱动、存在波峰波谷的业务需求,以及数据流等。

例如,FreeWheel 一个客户业务的数据流场景,它每周要传输 3GB 数据。在部署AWS之前,每次客户通过 FreeWheel 平台传输数据时,FreeWheel 团队都需要有专门人员去维护 MySQL、消息队列或者 FTP、NFS 等传统技术栈,以确保用户的数据得到正确处理。但是现在 FreeWheel 可以直接使用 Amazon S3上传数据,而后 Amazon S3 自动唤起一个 AWS Lambda 的数据预处理,再将处理后的数据写入 Amazon DynamoDB,AWS Lambda不仅在数据并发时自动扩容,确保 FreeWheel 平台高可用性,还减少了运维工作量。

随着精力从繁杂的基础运维中解放出来,FreeWheel 开发团队快速构建了广告交易平台(Marketplace)、传统电视广告(Linear Addressable)等多个创新业务,为其全球电视和视频广告客户提供了更好的产品和增值服务。

未来,无服务器计算模式将无处不在

目前,FreeWheel 仍在推动更多业务向微服务转型,也期望现代化应用平台可以驱动更多的数据价值和人工智能价值,同时无服务器计算技术也还有更多值得发掘的潜力。

“AWS Lambda 迭代速度非常快,而且它作为一个编排器,还可以连接云上各种服务,连接一切。不远的将来,这种 “Function as a Service” 模式应该会无处不在,无服务器架构将会解决更多的复杂业务场景。”FreeWheel 曹宇说。


关于FreeWheel

FreeWheel创建于2007年,现隶属于美国综合性传媒集团康卡斯特(Comcast),是业界知名的高端视频广告管理技术和服务提供商,主营业务为高端视频媒体广告服务。

为什么使用AWS

  • 完善的无服务器计算服务,降低开发和运维成本
  • 微服务架构提高开发效率,增强业务敏捷性
  • 自动扩容能力应对大规模业务量并发

使用的AWS服务

Amazon EKS

Amazon Elastic Kubernetes Service (Amazon EKS) 为您提供在 AWS 云和本地启动、运行和扩展 Kubernetes 应用程序所需的灵活性。

了解更多》

AWS Lambda

通过 AWS Lambda,无需预置或管理服务器即可运行代码。您只需按使用的计算时间付费。

了解更多》

Amazon Aurora

Amazon Aurora 是一种与 MySQL 和 PostgreSQL 兼容的关系数据库,专为云而打造,既具有传统企业数据库的性能和可用性,又具有开源数据库的简单性和成本效益。

了解更多》

Amazon DynamoDB

Amazon DynamoDB 是一个键/值和文档数据库,可以在任何规模的环境中提供个位数的毫秒级性能。

了解更多》


开始使用

各行各业中所有规模的公司都在使用 AWS 对其日常业务进行转型。联系我们的专家,立即踏上您的 AWS 云之旅。