什么是Serverless?有哪些应用?终于有人讲明白了

本文深入探讨了Serverless的定义,包括FaaS、BaaS和其架构特性,强调Serverless如何减轻开发者对服务器管理和运维的负担。通过实例展示了Serverless在实时文件处理、数据ETL、AI推理等多个领域的应用,并展望了Serverless在未来云计算中的重要地位和发展潜力。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

导读:本文将介绍Serverless的定义、规范和应用场景,以及笔者对Serverless技术未来的展望。

作者:刘宇

来源:大数据DT(ID:hzdashuju)

01 Serverless的定义

1. 广义定义探索

云计算的十余年发展让整个互联网行业发生了翻天覆地的变化,而Serverless作为云计算的产物,或者说是云计算在某个时代的表现,被很多人认为是真正意义上的云计算,伯克利团队甚至断言Serverless将会引领云计算的下一个十年。那么Serverless到底是什么呢?是否有明确的定义或者规范呢?

关于“Serverless是什么”这个问题,其实是可以通过不同角度来分析的。Martin Fowler在“Serverless Architectures”一文中从Serverless组成角度给出了Serverless的定义,他认为Serverless实际上是BaaS与FaaS的组合,并针对BaaS和FaaS进行了详细的描述。

Serverless最早用于描述那些大部分或者完全依赖于第三方(云端)应用或服务来管理服务器端逻辑和状态的应用,这些应用通常是富客户端应用(单页应用或者移动端App),建立在云服务生态之上,包括数据库(Parse、Firebase)、账号系统(Auth0、AWS Cognito)等。这些服务最早被称为Baas(Backend as a Service,后端即服务)。

Serverless还可以指这种情况:应用的一部分服务端逻辑依然由开发者完成,但是和传统架构不同,它运行在一个无状态的计算容器中,由事件驱动,生命周期很短(甚至只有一次调用),完全由第三方管理。这种情况被称为FaaS(Functions as a service,函数即服务)。AWS Lambda是目前的热门FaaS实现之一。

通过Martin Fowler的描述可以总结出FaaS、BaaS以及Serverless之间的关系,如图1-1所示。

▲图1-1 Serverless架构的组成

云原生计算基金会(下文简称CNCF)则从Serverless的特征特性角度给出了Serverless的定义:

Serverless是指构建和运行不需要服务器管理的应用程序。它描述了一种更细粒度的部署模型,即将应用程序打包为一个或多个功能,上传到平台,然后执行、扩展和计费,以响应当时确切的需求。

同时CNCF也强调了,Serverless所谓的“无服务器”并不是“没有服务器”,而是说Serverless的用户不再需要在服务器配置、维护、更新、扩展和容量规划上花费时间和资源,可以将更多的精力放到业务逻辑本身,至于服务器,则“把更专业的事情交给更专业的人”去做,即由云厂商来提供统一的运维。

在信通院云原生产业联盟所发布的《云原生发展白皮书(2020年)》中对Serverless也有相关的描述:

Serverless是一种架构理念,其核心思想是将提供服务资源的基础设施抽象成各种服务,以API接口的方式供用户按需调用,真正做到按需伸缩、按使用收费。

这种架构消除了对传统的海量持续在线服务器组件的需求,降低了开发和运维的复杂性,降低了运营成本并缩短了业务系统的交付周期,使得用户能够专注在价值密度更高的业务逻辑的开发上。

如图1-2所示,从Serverless的结构上来看,Serverless = FaaS + BaaS是一个被普遍认可的概念;从Serverless的特性上来看,Serverless运行在无状态的计算容器中,由事件触发,并且拥有弹性伸缩以及按量付费等能力,让使用者不用花费更多的精力在服务器上,而是更加关注业务本身。

▲图1-2 不同角度上的Serverless的定义

2. Serverless工作流程

在实际生产中,Serverless架构通常都是FaaS与BaaS的结合,并且具备弹性伸缩和按量付费的特性。

  • 如图1-3所示,当开发者想要开发一个项目的时候,通常只需要根据FaaS提供商所提供的Runtime,选

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值