优化 20% 资源成本,新东方的 Serverless 实践之路

本文涉及的产品
Serverless 应用引擎免费试用套餐包,4320000 CU,有效期3个月
函数计算FC,每月15万CU 3个月
简介: 为了提升计算资源利用率,进一步实现降本提效目标,在几次尝试之后,新东方踏上了 Serverless 实践之路。以下内容是由新东方教育科技集团云教室直播平台技术负责人 么敬国 在云栖大会的分享。

s-tsuchiya--m9JhSLgIVg-unsplash.jpg

作者 | 么敬国(新东方教育科技集团云教室直播平台技术负责人)& 灏正(阿里云 Serverless 架构师)


新东方教育科技集团定位于以学生全面成长为核心,以科技为驱动力的综合性教育集团。新东方线上教育业务的云教室系统支持了视频直播、转码、点播等新东方所有在线教育场景。随着业务量的增大,由于直播转录及视频转码任务处理平台具有明显的波峰波谷特性,自建机房较低的资源利用率成为了业务的核心痛点。


为了提升计算资源利用率,进一步实现降本提效目标,在几次尝试之后,新东方踏上了 Serverless 实践之路。以下内容是由新东方教育科技集团云教室直播平台技术负责人 么敬国 在云栖大会的分享。


如何应对难以预测的业务量?


新东方除了自己的线上教育业务使用云教室平台以外,还通过美刻云直播对外开放了新东方的直播能力。云教室直播平台主要支持四种业务模式:


  • 云教室:在线直播互动课,讲究互动性。
  • 云点播:录播课。
  • 云直播:大型直播,以主播为主。
  • 智慧教室:软硬件结合的方案,提供类似于双师的教育模式。


直播+录播是新东方主推的课程交付模式。直播课程互动性强,可以实现良好的课堂互动,激发学生的学习兴趣;教师可以基于学生的课堂反馈或互动直接与学生进行互评,便于教师及时对教学环境作出微调,从而让教学过程更有针对性;通过互动和课堂答疑,可以让教学过程和效果更有保障,直播课程比较适合低幼年龄段的学生。


而面对高中及高中以上年龄段的学生,录播课更为合适,录播课特点为学习时间灵活,学生可以自主对学习内容进行检索,进行有选择性的学习,一般适用于高中和高中以上年龄段学生。录播课的优点在于可以对授课内容不断进行打磨、编辑,制作精品课程,需求量逐步加大。最初团队采用地录制技术方案为客户端录屏,将老师的直播进行录制,方便学生反复观看,但这样的方式出错率高, CPU 占用率也较高,无法对录制 UI 布局进行灵活定制,只能是看到什么录什么,这样的方式仅能满足低幼年龄段的课程需求。今年,新东方开始对接大学生线上教育业务,对录播课程的质量提出了更高的要求。团队开始考虑采用服务端录制的方式解决问题。服务端录制的两个核心点在于直播录制和视频标准化生产。我们的业务模式决定了我们很难准确预测业务量,因此新东方关键的技术任务是实现计算弹性


三种选择:函数计算脱颖而出


三种选择,函数计算脱颖而出要解决服务端录制的问题,摆在团队面前的有三个可选的技术路线:


  • 直接使用 ECS 自建,该方案的优势是灵活性比较高,但问题在于计算没有弹性,虽然云厂商提供了弹性分配 ECS 资源 API ,但是自己实现整个计算弹性需要巨大的开发量,同时后续运维比较复杂,资源成本高,难以做到标准化。


  • 云录屏 SaaS 方案,这个方案的优势是具备标准化的服务,研发投入比较少,运维工作也较少,但是问题在于灵活性差,资源成本极高,难以进行进一步的性能优化。我们希望寻找一家成熟的 SaaS 厂商提供地服务以快速支持业务,但是经过试用,这些平台的成熟度和技术指标等均无法满足我们的需求。


  • 采用阿里云函数计算 FC,我们发现阿里云的函数计算产品可以完美满足计算的弹性需求,只需要关注具体需求在平台上做开发即可,研发投入小同时免运维,开发过程自主可控,灵活性高,可按需使用极大降低了使用成本,实现标准化相对容易。不过函数计算是一个比较新的技术,团队需要一段时间来熟悉。


经过反复比对,新东方团队选择使用函数计算来解决服务端录制问题。


新东方的 Serverless 实践


录播转码,函数计算小试牛刀


我们首先在录播转码场景下进行了尝试。录播转码的核心诉求是对直播流进行实时转码,保存为标准的视频格式,方便后续加工使用。


在这个场景中,我们第一次感受到了函数计算 FC 带来的弹性优势。在老师进入房间发起转码请求后,可快速启动函数实例进行转码。在上课结束后,结束转码任务,将临时音视频结果上传至云存储后即可立即释放函数实例,不会存在任何计算资源的浪费。
有了在录播转码项目中应用函数计算的经验以后,我们对函数计算方案有了更大的信心。


初露锋芒,函数计算直播合流转码方案


之后,我们启动了云端录制项目。使用 Chrome 浏览器加入直播房间,对浏览器界面进行截屏录制,该方案的关键在于弹性提供浏览器实例

因此,我们利用阿里云函数计算启动 Linux 容器,在 Linux 容器运行 Chrome 浏览器实现弹性提供浏览器实例
整个的录制流程是这样的:老师进入教室以后,开始进行音视频推流以及白板操作。同时,录制平台发起录制请求,启动函数处理,开始接收教室的音视频流和白板操作,并在浏览器展现整个教室的画面,同时做截屏。课程结束后,平台发起结束录制请求,函数计算平台会优雅地终止实例。终止之前,实例会将临时结果上传至云存储,随后函数实例被销毁,整个过程不存在任何资源浪费


开箱即用的可观测能力


我们认为,可观测能力对于函数计算平台至关重要。首先,业务高峰期需要启动大量函数实例,因此,必须要完整的 metrics、log 和 trace 才能有效对海量实例进行监控。其次,因为函数计算实例按需创建,完成任务之后被销毁,平台必须保存完整的日志,以便发现问题后开发人员进行排错。


我们曾在开发录制服务的过程中面临的问题是:启动函数实例以后,Chrome 浏览器要访问直播服务,此时网络出现问题,导致录制失败。后续我们使用阿里云 SLS 日志平台查看日志,发现 Chrome 浏览器内核对网络处理过于敏感。找出问题后对症下药,加入了重试机制,问题得以解决。


超出预期:函数计算带来更多惊喜


在使用函数计算技术之前,我们期望它能通过百毫秒拉起上万个实例,定时预热彻底解决冷启动困难,帮助我们承载直播转码和录屏业务业务洪峰。有效应对大规模突发在线流量,按量付费,提高资源利用率,减少 20% 资源成本开支,极大程度降低运维成本,让我们可以只专注业务创新。


在实际使用的过程中,我们发现函数计算不但能够中我们完美满足我们的需求,还带来了惊喜:让我们的开发人员只需掌握几个新概念、使用几个 API ,即可轻松使用平台。函数计算方案运行一段时间以来,云资源费用得到较大降低。另外,函数计算允许根据自己的业务场景制作模板,并且可供其他业务方使用,也为我们带来意外收获。


🌏更多内容关注 Serverless 微信公众号(ID:serverlessdevs),汇集 Serverless 技术最全内容,定期举办 Serverless 活动、直播,用户最佳实践。

👉点击直达函数计算官网!

相关实践学习
【文生图】一键部署Stable Diffusion基于函数计算
本实验教你如何在函数计算FC上从零开始部署Stable Diffusion来进行AI绘画创作,开启AIGC盲盒。函数计算提供一定的免费额度供用户使用。本实验答疑钉钉群:29290019867
建立 Serverless 思维
本课程包括: Serverless 应用引擎的概念, 为开发者带来的实际价值, 以及让您了解常见的 Serverless 架构模式
相关文章
|
5月前
|
运维 Serverless 测试技术
函数计算产品使用问题之支持10个并发任务需要多少资源
函数计算产品作为一种事件驱动的全托管计算服务,让用户能够专注于业务逻辑的编写,而无需关心底层服务器的管理与运维。你可以有效地利用函数计算产品来支撑各类应用场景,从简单的数据处理到复杂的业务逻辑,实现快速、高效、低成本的云上部署与运维。以下是一些关于使用函数计算产品的合集和要点,帮助你更好地理解和应用这一服务。
|
27天前
|
存储 弹性计算 关系型数据库
活动实践 | 告别资源瓶颈,函数计算驱动多媒体文件处理测评
本方案介绍了一种高效处理文件的方法,适用于企业办公和社交媒体应用。通过阿里云的函数计算、对象存储OSS和轻量消息队列,实现文件的异步处理,如格式转换和水印添加,有效减轻了核心应用的负担,提高了业务稳定性和资源利用率。方案包括云服务器ECS、云数据库RDS、OSS存储等组件,支持快速部署和资源清理。
|
2月前
|
关系型数据库 Serverless 分布式数据库
PolarDB Serverless 模式通过自动扩缩容技术,根据实际工作负载动态调整资源,提高系统灵活性与成本效益
PolarDB Serverless 模式通过自动扩缩容技术,根据实际工作负载动态调整资源,提高系统灵活性与成本效益。用户无需预配高固定资源,仅需为实际使用付费,有效应对流量突变,降低总体成本。示例代码展示了基本数据库操作,强调了合理规划、监控评估及结合其他云服务的重要性,助力企业数字化转型。
35 6
|
2月前
|
运维 Serverless 数据处理
Serverless架构通过提供更快的研发交付速度、降低成本、简化运维、优化资源利用、提供自动扩展能力、支持实时数据处理和快速原型开发等优势,为图像处理等计算密集型应用提供了一个高效、灵活且成本效益高的解决方案。
Serverless架构通过提供更快的研发交付速度、降低成本、简化运维、优化资源利用、提供自动扩展能力、支持实时数据处理和快速原型开发等优势,为图像处理等计算密集型应用提供了一个高效、灵活且成本效益高的解决方案。
103 1
|
3月前
|
运维 Serverless 数据处理
Serverless架构通过提供更快的研发交付速度、降低成本、简化运维、优化资源利用、提供自动扩展能力、支持实时数据处理和快速原型开发等优势,为图像处理等计算密集型应用提供了一个高效、灵活且成本效益高的解决方案。
Serverless架构通过提供更快的研发交付速度、降低成本、简化运维、优化资源利用、提供自动扩展能力、支持实时数据处理和快速原型开发等优势,为图像处理等计算密集型应用提供了一个高效、灵活且成本效益高的解决方案。
68 3
|
4月前
|
弹性计算 关系型数据库 Serverless
告别资源瓶颈,函数计算驱动多媒体文件处理方案:https://www.aliyun.com/solution/tech-solution/fc-drive-file
本文介绍了一种基于阿里云的一键部署解决方案,利用云服务器ECS、RDS MySQL、OSS、函数计算FC及MNS等服务,实现高效的多媒体文件处理。方案通过事件驱动机制,将文件处理任务解耦,并自动弹性扩展,按需付费,简化部署流程,提高处理效率。本文还提供了详细的部署步骤与体验反馈,展示了从配置到文件处理的全过程。
|
5月前
|
存储 Serverless 数据库
告别资源瓶颈,函数计算驱动多媒体文件处理
在数字化浪潮中,体验了《告别资源瓶颈,函数计算驱动多媒体文件处理》解决方案。详尽的文档和清晰的引导让上手变得容易,尽管高级功能的文档仍有提升空间。部署时,代码示例提升了效率,虽遇少许配置难题,但最终解决。性能表现卓越,稳定性强,按需付费有效控制成本,极力推荐企业采用此方案加速云端转型。同时,配套的云产品如存储、计算及数据库服务等表现出色,操作简单易懂,适合各水平用户。
|
5月前
|
运维 Kubernetes 大数据
Kubernetes 的架构问题之在Serverless Container场景下尚不支持资源超售如何解决
Kubernetes 的架构问题之在Serverless Container场景下尚不支持资源超售如何解决
71 0
|
5月前
|
存储 消息中间件 关系型数据库
告别资源瓶颈,函数计算驱动多媒体文件处理-测评报告
【8月更文第2天】在体验过程中,整体来说文档和帮助资料是充足的。文档覆盖了从环境搭建到部署运行的全过程,并且提供了详细的步骤说明和注意事项。然而,在某些高级配置和特定问题的解决方面,文档还可以进一步丰富:
74 3
|
5月前
|
消息中间件 存储 自然语言处理
告别资源瓶颈,函数计算驱动多媒体文件处理
阿里云函数计算为多媒体处理提供全面解决方案,涵盖从服务创建到部署测试的全流程指导。官方文档详实,助您快速上手。但仍需加强错误处理指南、多语言API示例、性能优化及真实案例分享。实践中可能遇权限、依赖或网络配置等问题,建议参照文档与错误日志排查,必要时寻求技术支持。函数计算具自动伸缩与按用量计费特点,适合处理高并发多媒体任务,有效控制成本。结合消息队列等服务,实现任务异步处理,提升整体系统性能与稳定性。总体评价正面,功能丰富、性能优良且易于配置,是多媒体处理的理想选择。

相关产品

  • 函数计算