为什么下一个十年的主战场在 Serverless?

本文涉及的产品
可观测可视化 Grafana 版,10个用户账号 1个月
任务调度 XXL-JOB 版免费试用,400 元额度,开发版规格
注册配置 MSE Nacos/ZooKeeper,182元/月
简介: 我们对阿里云 Serverless 负责人-不瞋做了一个简单的采访,针对大家比较关心的 Serverless 发展、技术难点以及落地情况,听听他的想法。

lu-lu-f-gGPNOZbRI-unsplash.jpg

作者 | 不瞋  阿里云 Serverless 负责人

"唯有超越,才能让我们走下去。"

这是不瞋在阿里的第十年。从 2010 年加入阿里云,不瞋参与了阿里云飞天分布式系统的研发,历任批量计算的架构师、表格存储(NoSQL)研发经理,深度参与了阿里云系统研发和产品迭代的全过程。2016 年不瞋成为阿里云函数计算产品研发负责人,致力于构建下一代弹性、高可用的无服务器计算平台。

无服务器(Serverless)是不瞋下一个十年要攻克的技术难题。在这波 Serverless 浪潮里,阿里云一直走在最前面,无论是技术还是产品,在国内的丰富度都是第一。“从不敢掉以轻心,Serverless 在国内还处于早期阶段,只有把技术和产品打磨成熟,让用户体验做到更好,这一战才算胜利。”

我们对不瞋做了一个简单的采访,针对大家比较关心的 Serverless 发展、技术难点以及落地情况,听听他的想法。

接受还是观望?

云计算未来一定会成为整个社会和商业的基础设施,届时使用云计算就应该像现在我们使用水电煤一样简单,不需要了解水从哪里来、怎么过滤、怎么铺设管道等一系列问题,只需要打开水龙头接一杯水而已。而 Serverless 的概念正好可以帮助云计算朝这个方向往前走一步,它提倡的是人们不需要关心应用逻辑以外的服务相关的事情,包括管理、配置、运维等,用多少就付多少。

从这个角度来看, Serverless 是真正让云计算变成社会商业基础设施的一个实现路径,也更接近现在业内提倡的云原生的方式,因此人们在使用云计算的过程中自然就应该按照 Serverless 的方式来使用。

国外的开发者在 Serverless 领域的心智明显比国内开发者建立的更好。因为国外很多公司一开始就是基于 Lambda 生态来创业的,而国内一些大企业已经陆续开始使用 Serverless 的工具和产品,还有很大一部分企业处于观望状态。

一个新产品的出现也是要有一个适应期的,所以在 Serverless 这样一系列产品出现之后,用户对于是否使用、是否迁移、如何迁移是有很多顾虑的。经常会有企业咨询关于函数计算的安全性如何保证,函数计算的稳定性如何保证,以及传统项目迁移到 Serverless 架构是否有比较大的改造成本和改造风险等。这些顾虑很正常,但是我相信,随着 Serverless 的发展, FaaS 定义的越发广泛,工具链建设的越发完整,这些问题都会逐渐被解决。理论上,技术能解决的问题,都不算问题。

没有规模,不要自建 Serverless

Serverless 带来的极致弹性体验、成本节约、开发效率提升等,都是非常具有吸引力的。传统业务在开发上线的过程中,需要团队合作,每个人开发一部分,合并代码,开发联调,然后进行资源评估,测试环境搭建、线上环境搭建、测试上线、运维。但是在 Serverless 时代下,开发者只需要开发自己那部分功能/函数,然后部署到测试环境、线上环境即可,后期很大一部分运维工作都不用考虑和担心。

可以毫不夸张的说,如果企业自己通过云主机搭建的数据库服务,一般情况下可用性不如云厂商提供的数据库服务,此外,API 网关、数据存储服务等也是云厂商提供的产品性能更好,也更安全可靠。

小企业最好不要自己去建设 Serverless。因为 Serverless 的核心要素是按量使用,这就意味着如果今天的量很小,你就用很少的资源;如果今天的量很大,就需要调动更多的资源。“双十一”的时候,流量都是亿的量级,如果你的企业内部没有按亿级做单位的这种流量的机器资源,你怎么去调度这些资源给他人使用呢?没办法实现按量调度,就别提 Serverless 了。那些不具备资源规模化的企业不建议去自建 Serverless 能力,但是可以通过使用公有云的产品来实践 Serverless。

当下,各大厂商都看准了 Serverless 是未来,就算它不是云计算的终态,也是通往终态的一个途径,一方面是因为 Serverless 可以解决很多实际问题,更“像”或者说更“贴近”真正的云计算;另一方面,大家都不想在云计算发展的浪潮中掉队。所以, Serverless 成了必争之地。

关于 Serverless 能力的竞争主要有三部分:

一是性能,包括安全、稳定、弹性等在内,性能这部分如果做不好,我觉得不用说做不做 Serverless ,就算云计算也别做了,因为性能是 Serverless 的核心能力,一切都建立在安全、稳定、性能之上。

二是功能,想要把 Serverless 做好,功能是不可缺少的。因为 Serverless 不仅仅是 FaaS ,就算是 FaaS 也不仅仅是在线运行,还包括很多东西,如 BaaS 、触发器、日志、监控、告警等。只有在功能上满足开发者的诉求,开发者才有可能愿意使用。

最后是体验, Serverless 的体验太重要了,体验包括方方面面,如功能的易用性、稳定性、安全性、产品的灵活性、工具链的完整性等。除了前面说的三点,我觉得社区、生态、开放等,也非常重要。

阿里云作为国内第一批推出 Serverless 平台的公有云厂商,其 FaaS 平台产品被称为函数计算。从事件触发、支持语言以及用户体验等方面考量,函数计算有很多数据值得关注:

  • 事件触发:阿里云函数计算可以被阿里云上的服务事件触发,例如阿里云对象存储(OSS)、日志服务(SLS)、消息服务(MNS)、表格存储(OTS)、API 网关、CDN 等,其特性在于独特的 Callback 机制大大减少开发者对于异步模型的架构和代码成本;
  • 支持语言:阿里云函数计算目前支持主流开发语言如 Node.js、Java、Python,并通过 Custom Runtime 支持 Go、C/C+、Ruby、Lua 语言等;
  • 用户体验:阿里云函数计算提供了基于 Web 的控制台和 SDK ;用户可以通过 Web 控制台管理函数应用,也可以通过交互式的命令行来操作;
  • 服务模式:函数可以被服务和应用管理,单个函数实例可以并行执行多个请求,有效节省计算资源成本。

棘手的难题

Serverless 的痛点很棘手,例如传统项目如何快速迁移到 Serverless ,如何平滑过渡,如何 Serverless 化, Serverless 架构下如何进行更优的调试,如何更好地节约成本等,每一个都是难题。我的同事许晓斌在《喧哗的背后:Serverless 的概念及挑战》一文中曾提到落地 Serverless 面临的挑战:

在主流的场景大规模的落地 Serverless,并不是一件容易的事情,面临的挑战有很多,下面我具体分析一下这些挑战:

挑战一:业务轻量化困难

要实现彻底的自动弹性,按实际使用资源付费,就意味着平台需要能够在秒级甚至毫秒级别扩容出业务实例。这对基础设施是一个挑战,对业务,尤其是比较庞大的业务应用来说,更提出了很高的要求。如果一个应用的分发和启动需要十分钟,那么自动弹性的响应能力就基本无法跟上业务流量的变化了……

挑战二:基础设施响应要求极高

一旦 Serverless 的应用或者函数的实例能够实现秒级,甚至毫秒级扩容,相关基础设施就很快会面临巨大的压力。最常见的基础设施就是服务发现和日志监控系统,原本整个集群实例的变化频率可能是每小时几次,现在这个频率变成了每秒几次;此外,如果这些系统的响应能力跟不上实例变化的速度,那么整个体验也就大打折扣了。

挑战三:业务进程生命周期与容器不一致

Serverless 平台依赖标准化的应用生命周期,才能实现完全自动的容器腾挪,应用自愈等特性。而在基于标准容器及 Kubernetes 的体系下,平台能控制的生命周期就是容器的生命周期。因此就需要业务做到业务进程的生命周期和容器的生命周期保持一致,具体包括启动、停止、以及 readiness probe 和 liveness probe 的规范等等……

挑战四:可观测能力需完善

在 Serverful 的模式下,如果生产环境出现任何问题,服务器是不会消失的,用户会很自然的想到登陆到服务器上去。到了 Serverless 模式下,用户不需要关心服务器了,也就是说默认情况下是看不到服务器了,那么这个时候如果系统出现异常了,而且平台无法完成自愈怎么办呢?……当围绕 Serverless 模式的全面可观测能力不足的时候,用户必然不会对此感到放心。

挑战五:研发运维心智需要改变

几乎所有的研发,在职业生涯中第一次部署自己的应用程序的时候,都是面向一台服务器的,或者说是面向一个 IP 的,这是一种非常强大的习惯。在 Serverless 逐渐落地的过程中,研发需要转换一些思维的模式,逐步地去适应 “IP 随时可能会发生变化” 这样一种心智,转而更多的从服务版本,以及从流量的视角去运维自己的系统。

打个比喻,Serverless 目前确切来说已经有了一个形态,也就是有一个框架,但是这个框架里还有很多格子(问题)没有被填满(解决),这也是大家今天对是不是该用Serverless 存在疑问的地方,原因之一是还没有看到足够多的成功案例。但事实上,阿里在2019年双十一就已经成功实践了 Serverless。不仅如此,阿里云还带动了一批企业使用函数计算产品,从而节省了大量的 IT 成本。 

"成为用户需要的 Serverless"

函数计算有几个非常典型的应用场景,比如 Web 应用、AI 推理、音视频处理、图文处理、实时文件处理、实时流处理等,目前函数计算拥有大量的客户群体,如石墨文档、芒果TV、新浪微博、码隆科技等。

以微博为例,函数计算平均每天承载微博几十亿次请求,其毫秒级伸缩计算资源能够确保在热点事件发生时,应用仍能保证稳定的延时,用户体验完全不受访问次数的影响。通过函数计算运行图片处理服务,微博实现了持续的成本节省,再也不需要为平滑处理业务高峰带来的流量激增而提前预留大量闲置机器资源,同时由于不需要维护复杂的机器状态,工程师可以集中精力与产品团队合作增加业务价值,而不是花时间管理基础设施。

不仅像新浪这样的早期互联网企业已经落地 Serverless,一些新兴的创业公司也正在加入 Serverless 阵营。

蓝墨是一家由美国留学生回国创业的高科技公司,专注于移动互联时代数字出版和移动学习领域的新技术研究及平台运营。随着在线教育迎来需求爆发,蓝墨加大了整合业界优质课程资源的力度,不断拓展自身的业务边界,在赢得机遇的同时,技术团队也面临了前所未有的挑战。

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

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

由于 FC 完全兼容现有的代码逻辑,也能够支持各类主流的开发语言,所以蓝墨技术团队可以把代码逻辑以近乎无缝衔接的方式从原有的架构迁移到 FC 上,并且成本极低。通过对接 OSS 触发器,只要 OSS 上有新的视频源文件上传,就能自动拉起函数计算实例,开启一次视频处理业务的生命周期。

通过整合 Serverless 工作流,还能对分布式任务进行统一编排,实现对于大文件切片后进行并行处理并最终合并的复杂操作,能够在短时间内迅速调集上万个实例的计算资源,实现视频处理任务的快速执行;

另一方面,相比于传统的方式,基于函数计算 FC 的 Serverless 方案在视频处理场景下,可以帮助蓝墨节省了 60% 左右的 IT 成本投入。

下一个十年的主战场

理想中的 Serverless,应该是:更完善的产品形态,更极致的弹性能力,更好用的工具链,更节约的成本,更高效的开发效率,更便捷快速的迁移速度,更简便强大的上云体验。要做到能让开发者以一种方式专注于业务代码的开发,无需关注运行平台的差异性,一处编写可以处处运行,开发者只要掌握一种方式就可以在不同业务之间没有学习成本地切换。

站在开发者的视角,Serverless 的整个研发模型对研发体系也带来了挑战。对于前端来说,Serverless 不仅补足了前端工程师现有的能力,还可能使整个前端行业的定位发生变化。原来经常有人会认为前端的工作很简单,面向 UI 做好开发就行,剩下的工作可以交给后端。但是前端和 Serverless 结合之后,大家对前端的诉求就不仅仅是开发一个页面了,而是要能交付整个应用的开发。

但是相应来讲,后端同学可能第一反应就是,那这是不是把我革命了?我就不需要干活了?其实不是这样的。Serverless 研发模式的演进有助于帮助他们往更底层演进,让他们聚焦于真正需要做技术研究的部分。比如,这些数据的能力、服务的能力,怎么做得更好、更扎实,这是我们期望看到的。

阿里云正在通过工具链、社区以及产品能力的结合,打一张非常有趣且会对Serverless 的整体发展非常有利的牌。阿里云 Serverless 的目标是成为“大家需要的 Serverless ”,这是与其他云厂商截然不同的地方。只有将用户需求放在首位的 Serverless 厂商,才能将 Serverless 产品做好。

未来,Serverless 将无处不在,任何足够复杂的技术方案都可能被实现为全托管、Serverless 化的后端服务。不只是云产品,也包括来自合作伙伴和三方的服务,云及其生态的能力将通过 API + Serverless 来体现。事实上,对于任何以 API 作为功能透出方式的平台型产品或组织,如钉钉、滴滴、微信等,Serverless 都将是其平台战略中最重要的部分。

课程推荐

为了更多开发者能够享受到 Serverless 带来的红利,这一次,我们集结了 10+ 位阿里巴巴 Serverless 领域技术专家,打造出最适合开发者入门的 Serverless 公开课,让你即学即用,轻松拥抱云计算的新范式——Serverless。

点击即可免费观看课程:https://developer.aliyun.com/learning/roadmap/serverless

Serverless 公众号,发布 Serverless 技术最新资讯,汇集 Serverless 技术最全内容,关注 Serverless 趋势,更关注你落地实践中的遇到的困惑和问题。

相关实践学习
【AI破次元壁合照】少年白马醉春风,函数计算一键部署AI绘画平台
本次实验基于阿里云函数计算产品能力开发AI绘画平台,可让您实现“破次元壁”与角色合照,为角色换背景效果,用AI绘图技术绘出属于自己的少年江湖。
从 0 入门函数计算
在函数计算的架构中,开发者只需要编写业务代码,并监控业务运行情况就可以了。这将开发者从繁重的运维工作中解放出来,将精力投入到更有意义的开发任务上。
相关文章
|
存储 运维 前端开发
为什么下一个十年的主战场在Serverless | 云原生Talk
今天我们推出了一个新的栏目「云原生Talk」,聚焦云原生时代下,企业数字化转型的路径和实践方法。站在2020年这个节点,有太多企业数字化转型的故事值得被记录,无论是互联网与科技企业,还是(新)零售、芯片、电子材料、社交资讯、房地产、新能源、在线教育、汽车与出行…… 预见未来的最好方式就是创造未来,用「云原生Talk」记录云原生时代下每个造梦者的故事。
2784 0
为什么下一个十年的主战场在Serverless | 云原生Talk
|
9天前
|
存储 人工智能 Serverless
函数计算进化之路:AI 应用运行时的状态剖析
AI应用正从“请求-响应”迈向“对话式智能体”,推动Serverless架构向“会话原生”演进。阿里云函数计算引领云上 AI 应用 Serverless 运行时技术创新,实现性能、隔离与成本平衡,开启Serverless AI新范式。
175 12
|
6月前
|
SQL 分布式计算 Serverless
鹰角网络:EMR Serverless Spark 在《明日方舟》游戏业务的应用
鹰角网络为应对游戏业务高频活动带来的数据潮汐、资源弹性及稳定性需求,采用阿里云 EMR Serverless Spark 替代原有架构。迁移后实现研发效率提升,支持业务快速发展、计算效率提升,增强SLA保障,稳定性提升,降低运维成本,并支撑全球化数据架构部署。
547 56
鹰角网络:EMR Serverless Spark 在《明日方舟》游戏业务的应用
|
4月前
|
存储 编解码 Serverless
Serverless架构下的OSS应用:函数计算FC自动处理图片/视频转码(演示水印添加+缩略图生成流水线)
本文介绍基于阿里云函数计算(FC)和对象存储(OSS)构建Serverless媒体处理流水线,解决传统方案资源利用率低、运维复杂、成本高等问题。通过事件驱动机制实现图片水印添加、多规格缩略图生成及视频转码优化,支持毫秒级弹性伸缩与精确计费,提升处理效率并降低成本,适用于高并发媒体处理场景。
218 0
|
4天前
|
人工智能 运维 安全
聚焦 AI 应用基础设施,云栖大会 Serverless AI 全回顾
2025 年 9 月 26 日,为期三天的云栖大会在杭州云栖小镇圆满闭幕。随着大模型技术的飞速发展,我们正从云原生时代迈向一个全新的 AI 原生应用时代。为了解决企业在 AI 应用落地中面临的高成本、高复杂度和高风险等核心挑战,阿里云基于函数计算 FC 发布一系列重磅服务。本文将对云栖大会期间 Serverless+AI 基础设施相关内容进行全面总结。
|
6月前
|
人工智能 开发框架 安全
Serverless MCP 运行时业界首发,函数计算让 AI 应用最后一公里提速
作为云上托管 MCP 服务的最佳运行时,函数计算 FC 为阿里云百炼 MCP 提供弹性调用能力,用户只需提交 npx 命令即可“零改造”将开源 MCP Server 部署到云上,函数计算 FC 会准备好计算资源,并以弹性、可靠的方式运行 MCP 服务,按实际调用时长和次数计费,欢迎你在阿里云百炼和函数计算 FC 上体验 MCP 服务。
512 30
|
15天前
|
人工智能 Kubernetes 安全
重塑云上 AI 应用“运行时”,函数计算进化之路
回顾历史,电网的修建,深刻地改变了世界的经济地理和创新格局。今天,一个 AI 原生的云端运行时的进化,其意义也远不止于技术本身。这是一次设计哲学的升华:从“让应用适应平台”到“让平台主动理解和适应智能应用”的转变。当一个强大、易用、经济且安全的 AI 运行时成为像水电一样的基础设施时,它将极大地降低创新的门槛。一个独立的开发者、一个小型创业团队,将有能力去创造和部署世界级的 AI 应用。这才是技术平权的真谛,是激发全社会创新潜能的关键。
|
9月前
|
人工智能 运维 物联网
云大使 X 函数计算 FC 专属活动上线!享返佣,一键打造 AI 应用
如今,AI 技术已经成为推动业务创新和增长的重要力量。但对于许多企业和开发者来说,如何高效、便捷地部署和管理 AI 应用仍然是一个挑战。阿里云函数计算 FC 以其免运维的特点,大大降低了 AI 应用部署的复杂性。用户无需担心底层资源的管理和运维问题,可以专注于应用的创新和开发,并且用户可以通过一键部署功能,迅速将 AI 大模型部署到云端,实现快速上线和迭代。函数计算目前推出了多种规格的云资源优惠套餐,用户可以根据实际需求灵活选择。
|
6月前
|
Cloud Native Serverless 流计算
云原生时代的应用架构演进:从微服务到 Serverless 的阿里云实践
云原生技术正重塑企业数字化转型路径。阿里云作为亚太领先云服务商,提供完整云原生产品矩阵:容器服务ACK优化启动速度与镜像分发效率;MSE微服务引擎保障高可用性;ASM服务网格降低资源消耗;函数计算FC突破冷启动瓶颈;SAE重新定义PaaS边界;PolarDB数据库实现存储计算分离;DataWorks简化数据湖构建;Flink实时计算助力风控系统。这些技术已在多行业落地,推动效率提升与商业模式创新,助力企业在数字化浪潮中占据先机。
348 12
|
6月前
|
人工智能 开发框架 运维
Serverless MCP 运行时业界首发,函数计算让 AI 应用最后一公里提速
Serverless MCP 运行时业界首发,函数计算支持阿里云百炼 MCP 服务!阿里云百炼发布业界首个全生命周期 MCP 服务,无需用户管理资源、开发部署、工程运维等工作,5 分钟即可快速搭建一个连接 MCP 服务的 Agent(智能体)。作为云上托管 MCP 服务的最佳运行时,函数计算 FC 为阿里云百炼 MCP 提供弹性调用能力。
 Serverless MCP 运行时业界首发,函数计算让 AI 应用最后一公里提速

相关产品

  • 函数计算