AWS全球化的覆盖使我们这个初创公司能够为遍及全球的客户提供安全、稳定、可靠的音频指纹检索服务。利用AWS丰富的功能和灵活的资源配置模式,我们的计算成本降低了50%~60%,运维成本下降了80%。
尹忠兴 ACRCloud联合创始人&平台架构师

高第网络技术(北京)有限公司(以下简称“ACRCloud”)是全球优秀的自动内容识别服务提供商,向企业客户提供音乐识别、车载虚拟数字广播、电视第二屏互动、广播内容监播等多类音频指纹识别解决方案,并连续多年在国际音频检索大赛MIREX中获得音频指纹技术及哼唱识别技术竞赛第一名。目前,ACRCloud利用AWS实现了全球化的服务器部署,为世界各地的用户提供了稳定可靠的音频指纹识别服务,公司服务的客户遍布全球150多个国家和地区,包括小米、北汽、网易、夏普、TCL、DTS、Deezer卡通频道、瑞典国家电台等。

ACRCloud的核心业务是为全球用户提供音频指纹检索服务,用户将音频数据传输至ACRCloud的SaaS平台、提取音频指纹、与ACRCloud后台音频数据库中的数据进行比对,然后返回识别结果。这种处理系统是计算密集型的,对服务器的计算能力、内存容量和网络带宽提出了很高的要求。在创业之初,ACRCloud采用了IDC托管服务器的方式,但很快就发现这种方式完全无法满足业务需求,主要体现在三个方面:其一是成本太高,音频识别对流量要求很高,但IDC托管服务器的宽带费用很高,导致系统整体成本上升;其二是运维复杂,IDC上的所有服务都需要用户自己搭建,包括数据库、存储等,且随着业务规模的扩大,需要投入更多的人力负责系统运维,对ACRCloud这样的初创公司来说是难以承受的;其三是ACRCloud的目标客户遍及全球,为了给客户提供快捷的服务,需要在全球不同的区域部署服务器,而IDC模式根本无法实现低成本的全球化快速部署。

为了应对这些挑战,ACRCloud决定放弃IDC模式。在对市场上主流云平台进行综合评估后,ACRCloud最终选择了AWS。“我们的海外业务增长迅速,2018年11月,AWS已经在全球19个区域提供云服务,这使我们可以在各个区域就近部署服务器并获得预期的网络性能,AWS提供的托管服务如Amazon Route 53Elastic Load Balancing (ELB)Amazon Relational Database Service (Amazon RDS)等使我们摆脱了无差别化的基础设施搭建工作,专注于核心业务系统的研发,让遍及全球的用户都能稳定快速地使用ACRCloud所提供的音频指纹检索服务。”ACRCloud联合创始人&平台架构师尹忠兴说。
 

ACRCloud通过SaaS平台为全球用户提供音频指纹检索服务,因此在选择云服务提供商时最看重三个方面:全球化覆盖能力、成本、稳定性与可靠性。
“首先,AWS遍及全球的云服务使我们可以在距客户最近的区域部署服务器,快速开展全球业务;其次,AWS灵活的计费方式可以帮助我们大幅度降低成本;其三,AWS极高的稳定性和可靠性使我们可以放心地把为企业级客户提供的音频检索SaaS平台部署在AWS上并始终为客户提供稳定可靠的服务。”尹忠兴说。

全球化覆盖

AWS在全球19个区域设立了可用区,开发人员可以使用在全球不同地点运作的相同AWS云服务,轻松部署应用程序以覆盖多个地理区域的最终用户。ACRCloud的客户遍及全球,为了给客户提供快捷的服务,ACRCloud依据客户数量选择服务器的部署区域,尽可能将服务器部署在距离客户最近的区域,同时利用Amazon Route 53将用户访问请求自动映射到访问延迟最低的区域,从而使ACRCloud SaaS平台的客户无论身处何地,都可以快速访问并迅速获得检索结果。与其他云平台不同,Route 53与AWS云服务高度集成并提供了一组简洁的API,客户既可以直接调用,也可通过AWS管理控制台访问其全部功能,简化了应用开发工作。

灵活的计费方式

“我们是初创公司,在拓展业务的同时必须有效地降低成本,部署在AWS各个可用区的Amazon Elastic Compute Cloud (Amazon EC2)是ACRCloud SaaS平台的主要成本,通过最大限度地利用Amazon EC2 Spot实例,我们在确保系统稳定性和可用性的同时显著地降低了成本。”尹忠兴说。Amazon EC2 Spot 实例是AWS可用区中的可用空闲计算容量,与按需实例的价格相比,Spot实例可提供超低折扣,用户只需在启动Amazon EC2 实例时选择“Spot”,即可节省按需实例价格的90%。Amazon EC2 Spot 实例还可与其他AWS产品紧密集成,包括 Amazon EMRAWS Auto ScalingAmazon Elastic Container Service (Amazon ECS)AWS CloudFormation等,用户可以灵活选择如何启动和维护Spot实例上运行的应用程序以确保整个系统的稳定性和可靠性。此外,AWS还提供了Spot队列,用于自动管理 Spot 实例,用户只需告诉Spot队列需要多少容量,队列就会自动完成余下的工作。

极高稳定性与可靠性

ACRCloud为企业客户提供SaaS服务,因此云平台的稳定性和可靠性至关重要。AWS云服务的稳定性和可靠性是全方位的,不仅每个云服务本身具备极高的稳定性和可靠性,同时还从架构设计、安全管理、防止恶意攻击、可用区数量等方面不断提升其稳定性和可靠性,使AWS的用户无论身处何处,都能始终获得稳定、可靠的云服务。“AWS提供了完善的SDK和API,我们可以充分利用Amazon CloudWatch、ELB、AWS Auto Scaling等功能,监控和管理资源的使用情况,确保系统始终稳定可靠。”尹忠兴说。

从2015年起,ACRCloud就彻底放弃了IDC托管服务器方式,将整个音频指纹检索SaaS平台部署在AWS上,使用了AWS在中国、亚洲、美洲和欧洲区域的云服务,为150多个国家的数万家企业客户提供音频指纹检索服务。目前,ACRCloud所使用的AWS云服务包括Amazon EC2、AWS Auto Scaling、Amazon CloudWatch、Amazon Route 53、ELB、Amazon Virtual Private Cloud (Amazon VPC)Amazon Simple Queue Service (Amazon SQS)Amazon Simple Storage Service (Amazon S3)、Amazon RDS、Amazon Elasticsearch Service等。图1是ACRCloud SaaS部署在AWS上的架构示意图。

acrcloud-arch-diag

图1:ACRCloud SaaS部署在AWS上的架构示意图

在这一架构下,ACRCloud充分利用了AWS全球化部署的优势,在亚洲、美洲、欧洲等不同区域部署服务器,使用Amazon RDS作为底层持久化存储关系型数据库,在不同区域创建主从数据库,将业务进行读写分离,既能实现不同区域间数据的一致性,也可为用户提供快速的访问请求。在服务上,采用Amazon Route 53进行全球范围的客户服务接入,将用户访问请求分配给最近的服务器,使用ELB + AWS Auto Scaling进行动态扩展应对流量变动,同时利用Amazon CloudWatch和第三方管理工具进行运维自动化管理,大幅度提升系统的稳定性和可靠性,用户访问的请求延时由过去的1秒以上降低到500毫秒以内。

在成本节省上,ACRCloud将价廉物美的Amazon EC2 Spot实例用到极致,计算成本节省了50%~60%。“我们采用Amazon EC2按需实例作为接口服务器和缓存服务器,其他服务器则大量采用Spot实例并利用AWS API和SDK对Spot实例进行自动化管理和控制,在保证系统高稳定性和高可用性的同时大幅度降低计算成本。”尹忠兴说。此外,AWS丰富的API和SDK使ACRCloud可以通过编写脚本实现自动化运维,大幅度降低运维成本,提升了开发效率。过去需要2个人将50%的工作时间耗费在服务维护上,现在只需要1人20%时间用于服务维护,运维成本减少了80%。在数据存储方面,ACRCloud在AWS的不同区域创建Amazon S3 Bucket,存储就近用户的日志、图片、音视频等信息,既保证了数据的安全性,也提高了访问速度,同时根据数据的访问频率使用不同类型的Amazon S3或将Amazon S3中低访问频率的数据存储在Amazon Glacier上,大幅度降低存储成本。

在安全性方面,ACRCloud利用Amazon VPC在每个区域创建VPC,不同区域间VPC通过VPC Peering Connections进行连接以实现VPC内部服务器之间以及VPC之间均可通过内网IP进行访问,从而极大地提升了整个SaaS平台的安全性。“AWS全球化的覆盖使我们这个刚刚起步的小公司能够以可负担得起的成本,为遍及全球的客户提供安全、稳定、可靠的音频指纹检索服务,这在IDC模式下是无法实现的,而我们作为AWS标准级别的技术合作伙伴(APN),在资源使用、架构设计等方面都得到AWS合作伙伴团队的大力支持,帮助我们节约成本,降低项目风险。”尹忠兴说。

随着全球业务的快速发展,ACRCloud正计划更充分地利用AWS的各种功能,优化运维程序,实现完全自动化的运维服务,同时进一步优化存储结构,降低整个系统的存储成本。

若要了解关于 AWS 如何帮助初创公司构建并启动业务,请访问AWS初创公司页面