近年来,Serverless 一直在高速发展,并呈现出越来越大的影响力。主流的云服务商也在不断地丰富云产品体系,提供更好的开发工具,更高效的应用交付流水线,更好的可观测性,更细腻的产品间集成,但一切才刚刚开始。

国内一些大公司已经有了一些成熟的Serverless应用案例,一些创业公司也开始加入Serverless阵营,如果说Serverless到底解决了什么问题,核心就是节约成本、节省精力。

蓝墨是一家由美国留学生回国创业的高科技公司,专注于移动互联时代数字出版和移动学习领域的新技术研究及平台运营,依托自主研发的蓝墨移动交互式数字教材核心技术体系,为出版社、学校和教师提供移动交互式数字教材、校园移动学习平台及教师自助数字出版等解决方案。

自2012年成立以来,蓝墨的业务就一直保持着高速增长,其技术团队也在逐步发展壮大。从创业开始,蓝墨的技术团队对于一些开放的新技术抱有极大的热情,并愿意应用快速迭代的互联网新技术,来确保其业务系统稳定运行。在疫情期间,在线教育迎来需求爆发,蓝墨加大了整合业界优质课程资源的力度,不断拓展自身的业务边界,在赢得机遇的同时,技术团队也面临了前所未有的挑战。

视频处理相关业务是蓝墨技术团队遇到的最棘手的问题之一。蓝墨每天都要处理大量视频教材资源,涉及到视频剪辑、切分、组合、转码、分辨率调整、客户端适配等一系列复杂的技术工作。在前几年的技术实践中,蓝墨技术团队通过FFmpeg等技术已经建立起一整套自主可控视频处理机制,支撑了业务的快速发展。但今年的业务增长速度是蓝墨的工程师们始料未及的,高峰期数十倍于往年的视频处理需求让现有的架构不堪重负,严重影响了用户体验。

怎么办?蓝墨技术团队的第一个想法是扩容!

水平扩容是能够立竿见影解决问题的,但在全天范围内,视频处理的需求量存在极为陡峭的波峰波谷,大量的任务发生在几个高峰时间段,而且具有一定程度上的突发性。如果按照最高峰期的需求量来规划系统容量,会造成计算资源的大量浪费,而且最高峰期的需求量到底是多少,也是很难预判的。如果采用错峰处理的方式,可以降低计算资源成本,但对于用户的需求得不到及时的处理。

水平扩容方案因此被放弃。

如果水平扩容走不通,能不能从视频处理的角度提升效率。比如使用云厂商提供的视频转码服务,类似于BaaS的方式。这样的方案可以完全不用考虑容量规划的问题,根据实际业务量按需调用云服务即可。看似可行,但是结合蓝墨自身业务的实际情况,技术团队又陷入了犹豫。蓝墨的视频处理机制做得非常精细,这里面包含着大量自定义的业务逻辑,需要使用代码来实现,而这些功能是第三方的视频转码服务根本无法实现的。

推倒重来!蓝墨现在的核心诉求概括有三个:节省成本、极致弹性、免运维,而这些恰恰是Serverless最擅长解决的问题。经过对国内云厂商提供的Serverless服务的多方面调研后,蓝墨技术团队一致认为在视频处理领域阿里云函数计算是最适合他们的方案。

函数计算(Function Compute,简称FC)是一个事件驱动的全托管 Serverless 计算服务,对于使用者而言,无需管理服务器等基础设施,只需编写代码并上传,函数计算会准备好计算资源,并以弹性、可靠的方式运行代码。由于FC完全兼容现有的代码逻辑,也能够支持各类主流的开发语言,所以蓝墨技术团队可以把代码逻辑以近乎无缝衔接的方式从原有的架构迁移到FC上,并且成本极低。通过对接OSS触发器,只要OSS上有新的视频源文件上传,就能自动拉起函数计算实例,开启一次视频处理业务的生命周期。通过整合Serverless工作流,还能对分布式任务进行统一编排,实现对于大文件切片后进行并行处理并最终合并的复杂操作,更进一步的提升了处理效率。

对于蓝墨的技术团队而言,函数计算是一种完全按需调用的Serverless化方案,能够充分利用云计算的弹性能力。一方面,函数计算FC能够在短时间内迅速调集上万个实例的计算资源,实现视频处理任务的快速执行;另一方面,由于不需要预留计算资源,也不需要对底层的软硬件进行维护,可以极大地降低运营成本,让蓝墨技术团队更专注于复杂业务逻辑的实现上。相比于传统的方式,基于函数计算FC的Serverless方案在视频处理场景下,可以帮助蓝墨节省了60%左右的IT成本投入。

Serverless的价值不言而喻。阿里云是国内最早一批推出Serverless计算服务的企业,函数计算(Function as a Service)更是 Serverless 中最具代表性的产品形态。可以说,蓝墨并不是第一家享受到函数计算FC巨大价值的企业,新浪微博、石墨文档、芒果TV等都是函数计算的拥趸者。前不久,在2020可信云线上峰会上,阿里云函数计算FC通过了基础能力要求、平台可观测能力、服务性能、服务和服务计量准确等21项测试,以全部满分的成绩通过了可信云函数即服务能力认证。此前,在Forrester发布的报告中,阿里云函数计算被给予“强劲表现者”的评价。

除了拓展更加丰富的产品形态,阿里云函数计算也不断优化用户体验,包括做了硬盘挂载、预留实例、镜像加速、大规模实例等业内领先的实践,真正把用户需求放在首位,沉下心来做对用户更有价值的产品。

所以,蓝墨才会坚定地选择函数计算,并在视频处理之外的其他业务领域,积极探索可以进行Serverless化改造的场景,成功落地了FC和日志服务的集成。当日志以流的方式源源不断写入时,日志服务会自动触发函数计算FC对数据进行处理,分析日志中的重要信息,实现异常事件的报警,并按照业务规则把日志进行压缩、转换后存放到其他媒介中,从而更好地保障系统稳定高效运行。

蓝墨技术团队负责人表示,将来蓝墨会将更多场景与函数计算FC进行整合,充分享受云原生的技术红利,提升整个团队的战斗力。而阿里云也将一直与用户站在一起,打赢接下来每一场漂亮的战斗!

原文链接
本文为阿里云原创内容,未经允许不得转载。

轻松处理高于平常10倍的视频需求,还能节省60%的IT成本,蓝墨做对了什么?的更多相关文章

  1. 视频需求超平常数 10 倍,却节省了 60% 的 IT 成本投入是一种什么样的体验?

    作者 | 山猎 近年来,Serverless 一直在高速发展,并呈现出越来越大的影响力.主流的云服务商也在不断地丰富云产品体系,提供更好的开发工具,更高效的应用交付流水线,更好的可观测性,更细腻的产品 ...

  2. 程序员需要经纪人吗?10x 最好的程序员其生产力相当于同行的 10 倍~

    原文地址 10x 起源于技术界一个流行的说法,即最好的程序员是超级明星,其生产力相当于同行的 10 倍: Google 园区以好玩的设施闻名:小憩舱.球坑.按摩.干洗.随便吃到饱的自助餐.(为了拍人才 ...

  3. 多伦多大学&NVIDIA最新成果:图像标注速度提升10倍!

    图像标注速度提升10倍! 这是多伦多大学与英伟达联合公布的一项最新研究:Curve-GCN的应用结果. Curve-GCN是一种高效交互式图像标注方法,其性能优于Polygon-RNN++.在自动模式 ...

  4. Web 应用性能提升 10 倍的 10 个建议

    转载自http://blog.jobbole.com/94962/ 提升 Web 应用的性能变得越来越重要.线上经济活动的份额持续增长,当前发达世界中 5 % 的经济发生在互联网上(查看下面资源的统计 ...

  5. Nginx:承受3万并发连接数,胜过Apache 10倍

    编者按:Nginx是目前比较重要的开源性负载均衡技术,新浪.网易.六间房等很多网站都将Nginx部署进自己的网站系统架构,并解决部分问题.本文是作者长期的实战经验,很有参考价值. 本文是我撰写的关于搭 ...

  6. 搜索 比MySQL快10倍?这可能是目前AWS Aurora最详解读!

    作者介绍 朱阅岸,中国人民大学博士,现供职于腾讯云数据库团队.研究方向主要为数据库系统理论与实现.新硬件平台下的数据库系统以及TP+AP型混合系统.   编者按 Aurora作为AWS云上的关系数据库 ...

  7. 10倍处理能力 阿里云推云上首个支持12层4K非编NAS产品

    5月23日,阿里云在2017云栖大会·成都峰会上正式推出了云上首个支持广电级非编的文件存储产品------NAS Plus,作为阿里云文件存储NAS的升级款,NAS Plus提供高达200Gbps的吞 ...

  8. 存算分离下写性能提升10倍以上,EMR Spark引擎是如何做到的?

    ​引言 随着大数据技术架构的演进,存储与计算分离的架构能更好的满足用户对降低数据存储成本,按需调度计算资源的诉求,正在成为越来越多人的选择.相较 HDFS,数据存储在对象存储上可以节约存储成本,但与此 ...

  9. 使用 PyTorch Lightning 将深度学习管道速度提高 10 倍

    ​  前言  本文介绍了如何使用 PyTorch Lightning 构建高效且快速的深度学习管道,主要包括有为什么优化深度学习管道很重要.使用 PyTorch Lightning 加快实验周期的六种 ...

  10. SmartIDE v0.1.18 已经发布 - 助力阿里国产IDE OpenSumi 插件安装提速10倍、Dapr和Jupyter支持、CLI k8s支持

    SmartIDE v0.1.18 (cli build 3538) 已经发布,在过去的Sprint 18中,我们集中精力推进对 k8s 远程工作区 的支持,同时继续扩展SmartIDE对不同技术栈的支 ...

随机推荐

  1. [模板]01trie,维护异或最大值

    // 查询异或最大值,每次插入和查询时间都是log(C) template<class T> class trie01 { vector<vector<T>> tr ...

  2. 安装YCM

    安装Vundle git clone https://github.com/VundleVim/Vundle.vim.git ~/.vim/bundle/Vundle.vim Vundle也是vim的 ...

  3. c语言之遗漏---标准C的标记化结构初始化语法

    PS:要转载请注明出处,本人版权所有. PS: 这个只是基于<我自己>的理解, 如果和你的原则及想法相冲突,请谅解,勿喷. 前置说明   本文发布于 2015-12-29 19:22:14 ...

  4. 【剑指 Offer II 118. 多余的边】并查集求回路

    class Solution { int[] parent; int[] rank; public void init(int n) { parent = new int[n + 1]; rank = ...

  5. 用Vue3.0 写过组件吗?如果想实现一个 Modal你会怎么设计?

    这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助 一.组件设计 组件就是把图形.非图形的各种逻辑均抽象为一个统一的概念(组件)来实现开发的模式 现在有一个场景,点击新增与编辑都弹框出来进行 ...

  6. HDFS Balancer负载均衡器

    目录 1.背景 2.什么是平衡 2.1 每个DataNode的利用率计算 2.2 集群的利用率 2.3 平衡 3.hdfs balancer语法 4.运行一个简单的balance案例 4.1 设置平衡 ...

  7. 任何样式,javascript都可以操作,让你所向披靡

    前言 习惯了在 css 文件里面编写样式,其实JavaScript 的 CSS对象模型也提供了强大的样式操作能力, 那就随文章一起看看,有多少能力是你不知道的吧. 样式来源 客从八方来, 样式呢, 样 ...

  8. vue中elementui表格错位问题解决(一次到位)

    引入element-resize-detector 在项目引入插件(用来监听元素宽度变化) npm install element-resize-detector --save 在文件中引入(写在sc ...

  9. AntvG6-graph图谱工具

    1 快速上手 1.1 在项目中使用 npm 包引入 Step 1: 使用命令行在项目目录下执行以下命令 npm install --save @antv/g6 Step 2: 在需要用的 G6 的 J ...

  10. FPGA原语初步试验

    FPGA原语初步实验 1.实验原理 将FPGA的原语基本语法加入到实际的工程中,可以通过实验具体得到相应的数字电路.这里先从与.或.非门开始,准备将数字电路的设计思路引入verilog细节设计. 2. ...