发布于 2026-01-06 7 阅读
0

“无服务器”的不同定义

“无服务器”的不同定义

原文发表于winterwindsoftware.com

与之前的许多行业流行语——“云计算”、“DevOps”、“大数据”——一样,关于“无服务器”一词定义的争论也成了吹毛求疵者的温床。

“但仍然需要服务器啊!”
——Reddit 用户 Dave 说道。

谢谢你,戴夫。😏

如果你今天正在阅读一篇与无服务器相关的文章,那么作者很有可能会在引言中给出该术语的定义(可能是为了避免触怒互联网上的“戴夫们”)。

经验丰富的从业者可以直接跳到下一段,但如果你是这个领域的新手,那么深入了解这个概念是值得的。

在本文中,我们将探讨无服务器领域几位杰出倡导者提供的定义,并在此过程中提炼出一些共同的主题,最后我将尝试给出我自己的不太优雅的定义。

注:以下引文中的所有强调均为我所加。

专家们怎么说

我们先从AWS本身说起:

“无服务器计算让您无需考虑服务器即可构建和运行应用程序及服务。无服务器应用程序无需您配置、扩展和管理任何服务器。您可以为几乎任何类型的应用程序或后端服务构建它们,运行和扩展应用程序所需的一切高可用性工作都由系统自动处理。”(来源

Serverless Framework的作者们也表达了类似的观点:

“就像无线网络也需要线路一样,无服务器架构也仍然需要服务器。‘无服务器’的真正含义是,作为开发人员,你无需考虑这些服务器,只需专注于代码即可。”

您无需主动管理应用程序的扩展。您无需配置服务器,也无需为未使用的资源付费。”(来源

Auth0 副总裁Tomasz Janczuk在其定义文章中提供了一个高层次的总结:

“无服务器趋势的本质在于软件开发过程中摒弃了服务器的概念。”(来源

AWS Lambda 产品经理Ajay Nair重点介绍了那些消失的任务的具体细节:

拥有服务器意味着承担责任:

  1. 您负责管理您的基本元素(应用程序中的函数,或存储中的对象)如何映射到服务器基本元素(CPU、内存、磁盘等)。
  2. 您可以自行决定如何扩展容量以应对应用程序规模。
  3. 无论实际流量如何,您都拥有处理应用程序预计流量所需的容量(并因此需要付费)。
  4. 您负责管理可靠性和可用性机制,例如冗余、故障转移、重试等。

对我而言,无服务器意味着你不再需要关注与服务器相关的活动/责任。”(来源

📖 相关:无服务器世界中消失的担忧列表

前AWS Serverless高级数据分析师Paul Johnston给出了一个简洁明了、以财务为重点的解释:

“无服务器解决方案是指,如果无人使用,则运行成本为零的解决方案(数据存储除外)。”(来源

保罗还指出了我经常遇到的一个常见误解:

“人们通常认为,无服务器意味着使用函数即服务 (FaaS),但这只是无服务器解决方案的一部分。”

A Cloud Guru 的工程副总裁Peter Sbarski发表了他的看法:

“无服务器架构旨在将用户与服务器、基础设施以及底层配置或核心操作系统隔离开来。相反,开发人员使用单一用途的服务(例如用于存储的 S3 或用于身份管理的 Auth0)和弹性计算平台(例如 AWS Lambda)来执行代码。”(来源

共同主题

从以上引述中提炼出核心内容,我们可以发现一些反复出现的观点,这些观点围绕着无服务器架构包含哪些内容以及排除哪些内容展开:

里面有什么

  • 资源成本必须与使用水平紧密匹配。
  • 更加注重应用程序代码

有什么?

  • 服务器配置和维护
  • 主动管理服务的可用性和扩展性

我的定义

我将站在上述巨人的肩膀上,并将这些观点整理成散文,给出我自己的定义:

无服务器解决方案是指开发人员可以腾出精力专注于应用程序开发,而无需担心服务器(或容器)的配置、扩展或维护,并且其运行成本与系统的使用水平成正比。

最后,如果你正在写一篇关于无服务器架构的文章,并且觉得有必要向读者解释一下这个术语,那就直接复制粘贴以下内容到你的文章里,然后继续写作吧!😎

👉 不确定什么是无服务器架构?来看看专家们整理的这些无服务器架构定义吧。


💌如果您喜欢这篇文章,可以订阅我的每周新闻简报,了解如何在 AWS 中构建无服务器应用程序

文章来源:https://dev.to/paulswail/the-differing-definitions-of-serverless-2h3k