作者 | 山猎
近年来,Serverless 一直在高速发展,并呈现出越来越大的影响力。主流的云服务商也在不断地丰富云产品体系,提供更好的开发工具,更高效的应用交付流水线,更好的可观测性,更细腻的产品间集成,但一切才刚刚开始。
国内一些大公司已经有了一些成熟的 Serverless 应用案例,一些创业公司也开始加入 Serverless 阵营,如果说Serverless 到底解决了什么问题,核心就是节约成本、节省精力。
蓝墨是一家由美国留学生回国创业的高科技公司,专注于移动互联时代数字出版和移动学习领域的新技术研究及平台运营,依托自主研发的蓝墨移动交互式数字教材核心技术体系,为出版社、学校和教师提供移动交互式数字教材、校园移动学习平台及教师自助数字出版等解决方案。
自 2012 年成立以来,蓝墨的技术团队对于一些开放的新技术抱有极大的热情,并愿意应用快速迭代的互联网新技术,来确保其业务系统稳定运行。2020 年初,疫情期间,在线教育迎来需求爆发。为了应对高流量,蓝墨加大了整合业界优质课程资源的力度,不断拓展自身的业务边界,在赢得机遇的同时,技术团队也面临了前所未有的挑战。
作为教学平台,蓝墨每天要处理大量视频教材资源,涉及到视频剪辑、切分、组合、转码、分辨率调整、客户端适配等一系列复杂的技术工作,视频处理相关业务是蓝墨的技术团队面临的最大挑战之一。通过几年的技术实践,蓝墨技术团队通过 FFmpeg 等技术已经建立起一整套自主可控视频处理机制,支撑了业务的快速发展。但今年的业务增长速度让蓝墨的技术团队始料未及,高峰期数十倍于往年的视频处理需求让现有的架构不堪重负,严重影响了用户体验。
面对挑战,最初蓝墨技术团队希望通过水平扩容解决问题,但在全天范围内,视频处理的需求量存在极为陡峭的波峰波谷,大量的任务发生在几个高峰时间段,而且具有一定程度上的突发性。如果按照最高峰期的需求量来规划系统容量,会造成计算资源的大量浪费,而且最高峰期的需求量到底是多少,也是很难预判的。如果采用错峰处理的方式,可以降低计算资源成本,但对于用户的需求得不到及时的处理。水平扩容方案因此被放弃。
还有一种解决方案是直接使用云厂商提供的视频转码服务,类似于 BaaS 的方式。采用这样的方案的优势是,可以完全不用考虑容量规划的问题,根据实际业务量按需调用云服务即可。但蓝墨的视频处理机制做得非常精细,包含着大量自定义的业务逻辑,需要使用代码来实现,第三方的视频转码服务根本无法满足要求。
推倒重来!蓝墨现在的核心诉求概括有三个:节省成本、极致弹性、免运维,而这些恰恰是 Serverless 最擅长解决的问题。经过对国内云厂商提供的 Serverless 服务的多方面调研后,蓝墨技术团队一致认为在视频处理领域阿里云函数计算是最适合他们的方案。
阿里云函数计算(Function Compute,简称 FC)是一个事件驱动的全托管 Serverless 计算服务,对于使用者而言,无需管理服务器等基础设施,只需编写代码并上传,函数计算会准备好计算资源,并以弹性、可靠的方式运行代码。由于阿里云函数计算完全兼容现有的代码逻辑,也能够支持各类主流的开发语言,所以蓝墨技术团队可以把代码逻辑以近乎无缝衔接的方式从原有的架构迁移到阿里云函数计算上,并且成本极低。通过对接 OSS 触发器,只要 OSS 上有新的视频源文件上传,就能自动拉起函数计算实例,开启一次视频处理业务的生命周期。通过整合 Serverless 工作流,还能对分布式任务进行统一编排,实现对于大文件切片后进行并行处理并最终合并的复杂操作,更进一步的提升了处理效率。
对于蓝墨的技术团队而言,函数计算是一种完全按需调用的 Serverless 化方案,能够充分利用云计算的弹性能力。
一方面,阿里云函数计算能够在短时间内迅速调集上万个实例的计算资源,实现视频处理任务的快速执行;
另一方面,由于不需要预留计算资源,也不需要对底层的软硬件进行维护,可以极大地降低运营成本,让蓝墨技术团队更专注于复杂业务逻辑的实现上。
相比于传统的方式,基于阿里云函数计算的 Serverless 方案在视频处理场景下,帮助蓝墨节省了 60% 左右的 IT 成本投入。
在享受到函数计算所带来的巨大价值后,蓝墨也积极在视频处理之外的其他业务领域探索可以进行 Serverless 化改造的场景,并成功落地了阿里云函数计算和日志服务的集成,当日志以流的方式源源不断写入时,日志服务会自动触发函数计算对数据进行处理,分析日志中的重要信息,实现异常事件的报警,并按照业务规则把日志进行压缩、转换后存放到其他媒介中。函数计算集成了大量的阿里云服务如 OSS、OTS、MNS、CDN 等,也支持被其它云服务集成,其独特的 callback机制帮助蓝墨串联起 OSS、SLS 等存储服务,符合开发者的编写习惯,无需为异步回调浪费大量的设计和容灾。
蓝墨技术团队负责人表示,将来蓝墨会将更多场景与阿里云函数计算进行整合,充分享受云原生的技术红利,提升整个团队的战斗力。而阿里云也将一直与用户站在一起,打赢接下来每一场漂亮的战斗!
阿里云是国内最早一批推出 Serverless 计算服务的企业,函数计算(Function as a Service)更是 Serverless 中最具代表性的产品形态。可以说,蓝墨并不是第一家享受到函数计算 FC 巨大价值的企业,新浪微博、石墨文档、芒果TV等都是函数计算的拥趸者。前不久,在2020可信云线上峰会上,阿里云函数计算FC通过了基础能力要求、平台可观测能力、服务性能、服务和服务计量准确等21项测试,以全部满分的成绩通过了可信云函数即服务能力认证。此前,在 Forrester 发布的报告中,阿里云函数计算被给予“强劲表现者”的评价。
除了拓展更加丰富的产品形态,阿里云函数计算也不断优化用户体验,包括做了硬盘挂载、预留实例、镜像加速、大规模实例等业内领先的实践,真正把用户需求放在首位,沉下心来做对用户更有价值的产品。