2天时间,聊今年最热的 Agent、上下文工程、AI 产品创新等话题。2025 年最后一场~ 了解详情
写点什么

看完这篇你就知道什么是无服务器架构了

  • 2019-12-25
  • 本文字数:2029 字

    阅读完需:约 7 分钟

看完这篇你就知道什么是无服务器架构了

Gartner 最近的一份报告表明,到 2020 年,全球将有 20%的企业部署无服务器架构


这说明无服务器架构不只是一个流行语,而是一种众所周知的云计算趋势,并且已经在软件世界掀起一场革命。大型厂商(如亚马逊、微软和谷歌)已经在无服务器架构领域重资投入,追赶革命的浪潮。


与其名字相反,无服务器架构实际上并没有把服务器去掉。那么,究竟什么是无服务器架构?

什么是无服务器架构?

无服务器架构是指应用程序使用第三方 Function 和服务,但不需要管理服务器。无服务器架构主要包含了两个方面:


  • FaaS(Function as a Service,Function 即服务):包含服务器端业务逻辑的无状态 Function。这些 Function 运行在独立的容器里,基于事件驱动,并由第三方厂商托管,如 AWS Lambda 或者 Azure Functions。

  • BaaS(Backend as a Service,后端即服务):使用第三方服务(如 Firebase、Auth0)来达成目的。使用 BaaS 的应用程序通常是富客户端应用程序,如 SPA 或移动 App。客户端负责处理大部分的业务逻辑,其他部分则依赖外部服务,如认证、数据库、用户管理,等等。


无服务器架构包含了 BaaS 和 FaaS,不过这篇文章着重关注 FaaS。

无服务器架构的特点

  • 不需要管理服务器;

  • 无状态;

  • 自动伸缩;

  • 没有运营成本;

  • 成本由事件驱动;

  • 处理第一个事件需要一些启动时间;

  • 因为运行时小,所以具有较高的安全性。

无服务器的生命周期

下图描述了一个 Function 的生命周期。


无服务器应用程序架构示例

假设有一个简单的线上汽车拍卖应用程序,用户可以登录并出价,拍卖时间结束时价高者得。


传统上,架构里会包含一个部署了应用程序和前端的单体服务器。



上述架构采用的是瘦客户端方式,所有的业务逻辑(如认证、回话管理、车辆管理等)都部署在服务器端。


那么,在一个无状态的微服务架构中,这个应用程序又会是什么样子?



原来的单体应用程序被拆分成了多个服务器端组件。


  • 认证 Function:这是一个用于管理用户认证(登录)的 Function(Function,FaaS)。

  • 车辆管理服务:一个处理与车辆相关操作的微服务,如列出车辆、查看车辆信息、比较车辆,等等。这个服务可以使用任意的语言或框架来开发,它与数据库通信,并且独立运行。

  • 车辆出价 Function:这是另外一个 Function,也与数据库通信,录入用户出价记录。

  • API 网关:所有服务的入口点和反向代理。来自客户端的请求会先到达网关,网关根据路由规则将请求重定向到特定的服务。


在将服务拆分成微服务或 FaaS 时,需要考虑到业务逻辑、负载、规模等方面的因素。


上述的例子描述了无服务器架构和基于无服务器架构设计微服务时的大致过程。

无服务器架构与 PaaS

平台即服务(Platform as a Service)是另一个不需要开发人员管理服务器(包括硬件和软件)的架构莫斯。正因为如此,开发人员容易把无服务器架构和 PaaS 混为一谈。接下来,我们来看一看它们之间的相似点和不同点。

相似点

  • 开发人员不需要管理服务器。

  • 开发人员只要关注应用程序代码本身。

不同点

  • PaaS 提供了更为可控的部署方式,而无服务器的部署则更为严格。

  • 无服务器架构可以自动伸缩,而 PaaS 的伸缩需要进行配置。

  • 无服务器架构的成本是由事件驱动的,而 PaaS 是固定的。

  • PaaS 应用程序在部署之后会一直运行,并马上开始处理请求,而无服务器需要等待第一个事件,具体取决于事件的发生频率。

用例

无服务器的应用应该不仅限于某个领域、业务或架构。在进行应用程序架构时,你需要考虑多个因素,这些因素同样适用于无服务器架构。


  • 成本——无服务器架构非常节约成本,具体取决于实际的负载。

  • 服务器管理——无服务器架构可以极大地降低用于管理服务器的运营成本。

  • 伸缩——无服务器架构可以自动伸缩。

  • 响应时间——FaaS 需要一些初始化时间。如果负载很小(比如一个小时只有一个事件),每个请求都会经历冷启动,导致整体响应变慢。

  • 更快的发布周期——因为这些 Function 都是很小的单位,发布周期就变得很短。


以下是一些常见的用例


  • Web 应用程序;

  • 批处理和调度;

  • 移动和 IOT 后端;

  • 聊天机器人。

为什么要采用无服务器架构?

使用无服务器架构和 FaaS 有以下这些好处。


  • 减少服务器管理成本;

  • 减少运营成本;

  • 自动伸缩;

  • 比不间断运行的服务更安全;

  • 成本由请求或事件数来决定;

  • 更简单的打包和部署流程;

  • 缩短发布周期;

  • 开箱即用的监控。

无服务器架构的限制

与其他任何一种技术架构一样,无服务器架构也存在同样的限制。


  • 启动延迟;

  • 厂商锁定,对服务器缺乏控制;

  • 性能优化局限于代码内部;

  • 执行时间限制(AWS Lambda 的执行时间限制为 15 分钟);

  • 成本不可预测;

  • 开发环境和生产环境不一样;

  • 测试和调试更为复杂。

总结

无服务器架构是一种架构风格,通过 FaaS 将业务逻辑从长期运行的组件中移到临时的 Function 里。它可以解决很多架构和运营问题,简化开发者和运维人员的工作。


与其他解决方案一样,无服务器架构并不是银弹。它无法直接取代现有的组件,在决定是否要采用无服务器架构之前需要先分析一下自己的业务和技术需求,通盘考虑各种优点和缺点。

英文原文

Serverless Architecture- Why and How It’s a Smart Choice?


2019-12-25 10:5410407
用户头像
小智 让所有人认同的文字称不上表达

发布了 408 篇内容, 共 408.3 次阅读, 收获喜欢 1986 次。

关注

评论 1 条评论

发布
用户头像
平台即服务(Platform as a Service)是另一个不需要开发人员管理服务器(包括硬件和软件)的架构莫斯。

“架构莫斯”-错别字
2020-01-15 10:45
回复
没有更多了
发现更多内容

鸿蒙运动项目开发:封装超级好用的 RCP 网络库(中)—— 错误处理,会话管理与网络状态检测篇

王二蛋和他的张大花

OS系统安装包下载工具 Mist for mac,简化macOS操作系统的更新和维护过程

Rose

京东商品列表数据接口详解

tbapi

京东API 京东商品列表API 京东数据采集

3D雕刻建模 ZBrush 2021 Mac版 支持M1 附安装教程

Rose

Eagle For Mac 很好地完成设计师收集、管理素材的工作

Rose

华为开发者大会2025来袭,华为云开源邀您一同共赴盛会

华为云开源

开发者 云原生 华为云开源 华为开发者大会2025

火山引擎以实用AI赋能效率跃迁与创作升级,解锁智慧生活新图景

新消费日报

Proxyman Premium for Mac(网络调试和分析工具)

Geek贝

小飞贼老牌防火墙Little Snitch Mac注册码及安装教程

Rose

Mac应用序列号查找工具Serial Box for mac

晨光熹微

智能车间管理系统(源码+文档+讲解+演示)

深圳亥时科技

设计师必备!Vector Magic——像素图转矢量图的终极神器!

Rose

Mac序列号、激活码分享工具KCNcrew Pack v1.8

晨光熹微

深度解析 Cursor(逐行解析系统提示词、分享高效制定 Cursor Rules 的技巧...)

Baihai IDP

人工智能 AI 智能体 cursor AI 编程

Logic Pro X for mac(音乐创作软件)

Geek贝

从曲线到曲面,Rhino 8 精准建模再进化!

Rose

火山引擎携手厂商共同推动手机 AI 应用迈向智能化、全能化新高度

新消费日报

博世X阿里云:智能座舱接入通义大模型!

科技汇

九家Top手机厂商牵手火山引擎,共建AI助手新生态

新消费日报

等保一体机:网络安全的坚实守护者

等保测评

不用WebSocket也能搞定实时消息推送?试一试SSE吧!

左诗右码

扎克伯格亲自发Offer,年薪超千万美元:AI抢人大战“卷疯了”

Y11

求职 找工作 大模型

等保测评:网络安全的重要防线

等保测评

火山引擎全栈 AI 服务再升级,七大合作成果引爆智能终端生活新想象

新消费日报

邀请函丨年度 AI 仿真全球线上会议报名开启!AI For Engineers 2025,为工程设计、仿真与制造赋能

Altair RapidMiner

AI 制造业 数字孪生 仿真 CAE

Carbon Copy Cloner for Mac(磁盘克隆/同步/备份软件)

Geek贝

大模型技术持续演进,安卓厂商携手火山引擎加速推动AI能力融入终端体验

新消费日报

Mac在线视频下载工具Downie for mac

晨光熹微

Illustrator 2024最新破解下载 AI完整激活安装包

Rose

Beyond Compare 4破解版附永久密钥 Mac/win文件夹比较工具

Rose

SecureCRT\FX (终端模拟器\FTP客户端)组合绿色便携版

Rose

看完这篇你就知道什么是无服务器架构了_服务革新_Systango_InfoQ精选文章