1 背景概述
网易云音乐是一家以音乐为主体的公司,音视频技术被广泛应用于网易云音乐的众多业务场景中。在音视频算法的服务化部署工作中,需要了解很多相关音视频算法的特点,如部署环境、执行时间、能否支持并发处理等。网易云音乐基于阿里云函数计算 FC 创建网易云音乐音视频算法处理平台,为整个云音乐提供统一的音视频算法处理平台。
2 需求分析
客户需要有足够大规模的弹性资源,让开发音视频算法服务的程序员不用再多去关注机器管理,具体痛点如下:
1.存量资源和增量资源的差异变大,和新算法落地的增多,花在处理存量和增量的资源协调时间越来越多;
2.随着算法复杂度的增高,申请/采购机器的时,需要关注机器的整体规格、利用率等;
3.希望存量资源的处理能够加快,在处理存量的时候有足够大的资源,在海量音视频数据处理时候,能够压缩存量与增量不一致的时间。
实际改造不仅仅是关注最终服务能力,还需要综合考虑投入的 ROI。具体来看:
1.关注成本:包含两方面,改造的实施成本和计算资源的成本。在改造成本能够接受的情况下,未来的 IT 成本不会大额的增加;
2.运行环境的支持:开发人员不需要在此类事项上花费过多的时间和精力,更多的关注算法执行本身;
3.弹性能力:除了云厂商提供的计算资源池的规模,还会关注弹性算力的启动速度,是否能够对固定场景进行实例预留,以及是否提供更符合业务诉求的灵活弹性能力,以更好的支持业务的发展。
3 解决方案
云音乐的开发环境与函数计算的适配是改造的重点,针对部署、监控和混合云支持进行了改造。
部署上,网易云音乐充分应用了函数计算在 CI/CD 上的支持及镜像部署的支持,实现了镜像的自动化拉取;在监控设计上,一方面利用云上的监控报警功能,另一方面把它转化为内部已有监控系统的参数,让整体的开发运维处理能够维持一致性,最后是从代码设计上,考虑能够兼容混合云部署的实现,最终完成了我们音视频处理平台的 Serverless 改造。
4 用户价值
引入函数计算的第一阶段,特征提取类的算法得到了 10 倍速的提升;稀疏类的算法,可以理解为日常使用率很低的算法,在成本上得到了极大的节约。除此之外,通过函数计算的镜像缓存加速能力,优化了我们节点的启动速度,让所有的服务拉起可以在秒级完成。这些工作,降低了算法运维处理中大量的运维成本,让开发人员能够更聚焦关注在算法及业务自身。