简单极致,极具伸缩性,是我对AWS的理解。使用AWS,让汇量科技能够快速扩展、快速创新,从2017年到2019年,汇量科技的日均广告请求量从180亿次增长到500多亿次,最高峰值达1000亿次,我们的IT运维依然能够从容应对。
蔡超 汇量科技技术副总裁兼首席架构师

广州汇量信息科技有限公司(Mobvista)成立于2013年3月,是一家全球知名的移动广告及营销服务技术平台,专注于为全球应用开发者提供移动广告及数据分析服务。2018年12月12日,汇量科技在香港联交所主板成功挂牌上市,股票代码为1860.HK。2019年被中国互联网协会、工业和信息化部网络安全产业发展中心选入中国互联网企业100强榜单。截至2019年6月30日,汇量科技接入APP数量已经超过11,000款,覆盖超过2,440个应用开发者。在截至2019年6月30日止的报告期内,汇量科技营收为15.5亿元(2.25亿美元)。

汇量科技从成立之初,就采用All-in on Cloud的云原生架构,基于AWS逐步建立起全栈式的移动广告平台,包括SSP (Supplier Side Platform,供应方平台)、DSP (Demand Side Platform,需求方平台)、AdExchange广告交换平台、以及DMP数据分析平台,所有的业务应用都在云端完成。汇量科技深入应用AWS上各种技术,例如数据存储服务Amazon S3、NoSQL数据库服务Amazon DynamoDB、数据库仓库服务Amazon Redshift、无服务器服务AWS Lambda等等,AWS新发布的技术,汇量科技都会第一时间去探索。

图1是汇量科技的系统架构示意图,使用的AWS云服务包括Amazon Elastic Compute Cloud (Amazon EC2)、Amazon Simple Storage Service (Amazon S3)、Amazon Redshift、Amazon KinesisAmazon CloudWatch、Amazon DynamoDB、Amazon Relational Database Service (Amazon RDS)、AWS Lambda、Amazon EC2 Auto ScalingAmazon Simple Queue Service (Amazon SQS)Amazon ElastiCache等。

mobvista-arch-diag

图1:汇量科技基于AWS的系统架构示意图

对业务高速发展的有力支撑

自公司成立以来,短短几年时间,汇量科技业务快速膨胀,迎来了高速发展阶段。日均广告请求量从2017年的180亿次,猛增至2018年的500亿次左右。2019年,日均广告请求量持续增长到600亿次,峰值攀升至1000亿次。与此同时,IT业务量也随之直线上升,目前汇量科技所使用的服务器规模是之前的10倍左右。如此迅猛的业务成长速度和大规模的业务需求全部依托于云上的应用。汇量科技技术副总裁兼首席架构师蔡超说:“AWS的表现总体超过预期。不仅能够支撑业务系统快速扩展,加快创新速度,而且通过对AWS新技术的深入应用,整体可用性不断提升,并使单次请求的服务成本降低了60%之多。” AWS提供云服务的深度、广度以及服务本身的稳定性、可用性和可扩展性很好地帮助汇量科技实现了从零到一的突破,从容应对大规模高速扩展的挑战。

汇量科技的业务是遍布全球的,如何以最快速度响应各地用户请求,系统的全球化部署是一个非常大的挑战。而且,系统的稳定性要求极高,因为流量高峰时常出现,瞬间的点击量会急剧上升,这就要求系统能快速处理,具备非常好的可扩展性。受益于AWS健壮且广泛深入的服务,使汇量科技能够简化运维复杂度,降低运维成本。业务发展至今,运维团队人数仍然与2016年持平。

面向云原生的IT重构

2017年,随着业务规模和IT规模一路高速增长,汇量科技的系统越来越复杂,IT投入也随之增加。汇量科技开始考虑:如果按照如此势头增长下去,如何管理云上的复杂性?如何优化和控制成本?

AWS上有很多超大规模的企业,例如Amazon.com、Netflix等。汇量科技认为他们的经验非常有价值,尤其是在运用微服务和DevOps理念上。经过与Amazon.com进行对照之后发现,如果按照其应用架构进行改造,单次请求的成本至少可以降低40%。于是,汇量科技开始对应用架构进行全面重构。

重构的第一步是微服务化。当时,汇量科技的应用由一个个大型的单体系统构成,当需要进行扩展时,就是不断克隆整个单体系统,比较粗放。通过微服务改造,可以在更细的粒度定位瓶颈,在关键的位置增加资源进行扩展。事实证明,微服务模式更适合云原生架构。

微服务改造的同时,汇量科技还构建了面向错误、面向恢复的高可用系统,实施混沌工程。汇量科技希望做到,哪怕关闭系统中的任何一个实例,都不会影响整个系统的运行。接着,汇量科技又开始进行无服务架构的演进,通过使用Amazon DynamoDB、AWS Lambda等服务,进一步细化系统架构的颗粒度,在更微小的层面增强弹性伸缩能力,更大程度上简化系统,降低运维成本。
为了实现低成本构建大规模云上系统,除了以上最佳实践的应用,汇量科技开始大量采用Amazon EC2 Spot实例,大幅节省成本。Spot实例是AWS开创的一种云上计费方式。它以远远低于按需实例的价格(通常只有按需实例价格的10%-20%)提供资源,但是价格会根据供求关系的变化、以小时为周期实时调整。汇量科技充分利用Spot实例的特点,借助其强大的弹性和可恢复性,在高可用的系统架构中大规模采用Spot实例。在确保整个系统稳定可靠的同时,大幅降低IT成本,成为在AWS上实现成本节省的典型客户。目前汇量科技的整个在线系统中,70%的实例采用Spot实例。

经过以上改造,汇量科技单次广告请求的IT成本较先前降低了65%。汇量科技2018年年报指出,服务器成本占总收入的比例从2017年的4.4%下降到 2018年的4.1%。

对于AWS,蔡超给予了非常高的评价“我个人对AWS的理解就是,简单极致,极具伸缩性。使用AWS,让汇量科技能够快速扩展、快速创新。”

在支撑业务快速扩展方面,依托AWS全球覆盖、海量强健的云计算IT架构,汇量科技可以随时满足业务扩展的需求。汇量科技经历了初创期、达到相当规模之后,业务扩展的势头依然强劲,IT运维都能够从容应对。汇量科技基于Amazon EC2和Amazon S3的底层支持,构建了EnginePlus大数据计算中台,对10+PB级数据进行分析和处理,为业务升级迭代打下坚实基础。

在支持业务快速创新方面,2017年时,汇量科技的应用还是以SSP为主,到现在2019年8月,AdExchange广告交换平台、程序化购买(RTB)已经成为业务主角,是全球为数不多的有能力提供相关服务的供应商。通过使用AWS简单极致的云服务,为汇量科技解除了大量的运维负担,简化了应用开发和部署,从而加快了汇量科技的创新速度。

通过结合AWS的特点不断优化升级系统架构,汇量科技搭建起了一套适合云原生的业务模式,能够以轻盈、灵活的方式应对业务的高速发展,同时有效释放IT成本压力,实现了单位请求服务成本降低65%的超预期目标。

目前,汇量科技正在进一步加大研发投入,将大数据计算能力、大规模机器学习能力和弹性集群管理能力充分应用于业务发展,引入人工智能技术进行深度学习,以更低的成本有效赋能程序化平台的千人千面投放体系。同时,汇量科技将以上能力沉淀为成熟的技术解决方案,逐步实现对外商业化。2019年7月,汇量科技成为AWS合作伙伴网络(APN)的APN技术合作伙伴,其技术中台产品SpotMax弹性集群管理中台、EnginePlus大数据计算中台和MindAlpha大规模机器学习中台等产品和服务自今年8月陆续在AWS Marketplace上线,计划依托AWS,以技术中台为基础拓展新的商业领域。

要了解如何借助AWS的可扩展性、高效率和安全性,提高敏捷性和速度创新,请访问适用于数字营销的AWS详细信息页面。

要了解在AWS上大规模轻松利用未使用的计算容量从而节省成本,请访问Amazon EC2 Spot实例详细信息页面。