如何破除出海路障 看汇量科技怎么做
从2013年创立起,广州汇量信息科技有限公司(以下简称“汇量科技”)就采用了「All-in-Cloud」的系统架构,可以根据业务的增长随时获取所需的资源。
随着公司业务的快速发展,汇量科技为全球用户提供高质量的服务(如:低响应延迟),得益于自身All in Cloud的系统架构、以及亚马逊云科技提供的全球化的服务,汇量科技在业务规模飞速增长的同时,成功实现了资源和业务规模的动态匹配。
汇量科技副总裁 奚原
伴随着业务的不断增长,汇量科技的系统架构从all in cloud 向cloud native演进,如同汇量科技副总裁奚原所说,云平台不仅是公司的技术底座支撑,目前已经成为企业实现“全球化思考、本地化运营”的重要载体。
从0到1构建大数据机器学习平台体系
对于企业来说,在宏观层面会面临不同市场政策、法规的影响;这就需要拥有全球化的视野和本地化运营的能力,如何在全球范围内持续高效配置资源的同时,加强不同国家和地区的安全合规?
在奚原看来,无论是中小企业开发者,还是出海企业,都应该选择靠谱的云计算厂商作为计算资源的供应商和出海的合作伙伴。
据奚原介绍,公司成立以来,短短几年时间,汇量科技业务快速膨胀,迎来了高速发展阶段。日均程序化广告请求量从2017年的180亿次,猛增至2018年的500亿次左右。2019年,日均程序化广告请求量持续增长到600亿次,最高峰值攀升至2000亿次。
与此同时,IT业务量也随之直线上升,目前汇量科技需要为全世界超过200个国家与地区提供24小时不间断的移动营销解决方案和洞察。
出于这些上严苛的要求,汇量科技基于亚马逊云科技搭建一站式大数据机器学习平台体系,奚原看来,这一过程并非一蹴而就,需要需要克服三大挑战:
1)汇量科技的数据请求规模巨大,每天数十PB的数据处理规模、每小时数十亿个特征规模的模型训练,这对解决方案的高存储吞吐量与弹性提出了很高要求。
2)广告行业对数据时效性的需求极高:每个广告请求背后的复杂算法预测,其端到端的数据延迟要求必须少于50毫秒(p99 <50ms);
3)数据稀疏性较强且数据维度复杂。汇量科技的DNN模型拥有巨大的稀疏嵌入层,包含超过百亿维度的特征。
与此同时,汇量科技的移动广告业务是遍布全球的,如何以最快速度响应全球各地用户请求,进行系统的全球化部署,又是一个非常大的挑战。同时公司对系统的稳定性要求极高,因为流量高峰时常出现,瞬间的点击量会急剧上升,这就要求系统能快速处理,具备非常好的可扩展性。
事实上,在双方的合作过程中,亚马逊云科技提供云服务的深度、广度以及服务本身的稳定性、可用性和可扩展性很好地帮助汇量科技实现了从零到一的突破,从容应对大规模高速扩展的挑战,轻松应对日均10亿台独立移动设备在线数据请求,高效处理超2000亿次线上预测。
受益于亚马逊云科技遍布全球、广泛深入的云服务,汇量科技的系统能够自如应对全球客户的请求,并且简化了系统运维的复杂度、相应地降低了运维成本,使公司的收入和净利润均有大幅提升。
从all in cloud 到cloud native的演进
伴随着业务的增长带来的欣喜,用云成本成为困扰汇量科技的最大的烦恼:云计算的发展对软件架构提出了更高的要求,架构需要具备快速响应、弹性伸缩、按需获取、资源维护托管等功能,并实现成本把控。
而随着业务需求的增长,代码架构趋于庞杂,由形成代码到完成部署这一流程的时间成本增加,即“越大越慢”;业务发展带来的流量增大,使得企业成本在对机器负载需求的提升下增加,即“越大越贵”。
奚原认为,面对云计算的自身优势和企业为求发展而被迫付出的高昂成本的情况下,拥抱云原生是汇量科技在发展过程中的必选项。
这是一个从all in cloud 到cloud native的演进过程,汇量科技原有的应用程序由大型单体系统组成,所以即使是系统中仅某个功能达到瓶颈,在横向伸缩时也需要复制整个单体系统,需要较大机型来运行。
为解决这一问题,技术团队将其重构为微服务方式,以便使用更小更适合的机型精确地实现系统的伸缩,在更细的粒度定位瓶颈,在关键的位置增加资源进行扩展。
在微服务改造的同时,汇量科技还构建了面向错误、面向恢复的高可用系统,实施混沌工程。汇量科技希望做到,哪怕关闭系统中的任何一个实例,都不会影响整个系统的运行。接着,汇量科技又开始进行无服务架构的演进,通过使用Amazon DynamoDB、Amazon Lambda等服务,进一步细化系统架构的颗粒度,在更微小的层面增强弹性伸缩能力,更大程度上简化系统,降低运维成本。
为了实现低成本构建大规模云上系统,除了以上最佳实践的应用,汇量科技开始大量采用Amazon EC2 Spot实例,大幅节省成本。Spot实例是亚马逊云科技开创的一种云上计费方式。它以远远低于按需实例的价格(通常只有按需实例价格的10%-20%)提供资源,但是价格会根据供求关系的变化、以小时为周期实时调整。汇量科技充分利用Spot实例的特点,借助其强大的弹性和可恢复性,在高可用的系统架构中大规模采用Spot实例,在确保整个系统稳定可靠的同时,大幅降低IT成本,成为在亚马逊云科技上实现成本节省的典型客户。
基于此,汇量科技旗下程序化广告交易平台Mintegral得以大规模使用Amazon EC2 Spot实例降低计算资源成本,使其单位广告请求成本降低达65%。
最近,汇量科技正在着力优化一个DevOps平台产品——MaxCloud, 并已经在内部开始测试使用。MaxCloud 作为云原生的交互和管理平台,致力于帮助研发人员更好地部署和管理k8s容器集群,从而极大提升DevOps过程中研发人员对容器的使用效率。
据奚原介绍,这款产品也是脱胎于一线经验,集成了许多最佳实践,未来我们将持续关注。
中国企业正迎来一个新的大航海时代,企业应该如何乘“云”破浪,汇量科技用自己的实践给出一条路径:安全合规是首要原则,围绕当地客户的需求创新产品、服务和体验是必需品,合适的技术体系架构是经营的重要基础,企业需要与先进技术同频共振,需要与合适云计算服务商同行。