写点什么

为“无服务器”正名

  • 2020-02-17
  • 本文字数:2250 字

    阅读完需:约 7 分钟

为“无服务器”正名

无服务器(Severless)不是一个好的术语,但它却被用来描述一个强大且经常被误解的概念。



本文将讨论“无服务器”的缺点和优点,并为其改变构建应用程序的方式带来的好处辩护——进一步向无服务器架构发展。

现有的一些定义:

AWS——无服务器允许你构建和运行应用程序和服务,而无需考虑服务器。


Paul Johnston——无服务器的解决方案是,如果没有人使用它,就没有任何运行成本。


Mike Roberts——无服务器架构是在应用程序设计中包含第三方“后端即服务”(BaaS)服务和/或包含在“函数即服务”(FaaS)平台上托管的临时容器中运行的自定义代码。


这些定义都非常简洁和巧妙,但它们缺乏实用性细节,而这些细节是理解无服务器方法能力的关键。


作为一个补充说明,在早些时候,我在一条推特主题中给出一个简单定义。



上面使用的符号“⊂”是指左边东西是右边东西的子集,也就是说,FaaS 是无服务器的子集。

更深入的讨论

自 2014 年 AWS Lambda 发布以来,人们经常将 FaaS(函数即服务)和无服务器作为同义词使用。


FaaS 是一个计算服务术语,它允许代码的功能以一种隔离方式运行。这些函数在响应事件(如 HTTP 调用)时运行,一个系统抽象了服务器的底层复杂性,包括操作系统和所有的细节或配置和扩展。


FaaS 是许多无服务器架构的关键组成部分,但你可以实现一个不使用 FaaS 的无服务器架构,也能实现一个使用 FaaS 的非无服务器架构。在很大程度上,FaaS 是一种无服务器的计算方法,但是,对于许多应用程序架构来说,计算(即运行代码)并不是其唯一的一个方面。


应用程序架构可能需要很多东西,例如:计算、存储、监控……



AWS 提供的几个无服务器架构组件示例


如前所述,FaaS 函数是由事件(events)触发的,例如 HTTP 调用。上图中的其他无服务器服务都可以由事件触发,甚至能自己生成事件,从而触发更多的服务。迁移到能高效利用这些服务的架构,通常就是迁移到事件驱动的架构。


最近,事件驱动架构的概念开始与无服务器架构这个术语一起出现。


随着 AWS 等云提供商针对无服务器架构发布越来越多的服务,这种术语链接正在进一步扩展。这并不是什么新鲜事,无服务器从早期阶段就经常被描述为“scale to zero”——这种扩展和计费的方法显然与基于事件的服务紧密结合在一起。


事件驱动架构的一个例子是 AWS 发布的一个新的重要的无服务器服务——可以说是 Lambda 以来最大的服务之一。


EventBridge 是 AWS 针对无服务器全托管事件总线给出的答案。它使得事件可以通过更少的代码、更好的可观测性和一些非常超前的附加功能(如新推出的EventBrige模式注册表)在不同服务间流动。


模式注册表(The Schema Registry)可自动检测并将大型分布式架构的所有事件聚合到一个集中式注册表中——甚至为开发人员提供自动生成代码绑定的 SDK 来从 IDE 访问事件。

潜在解决方案空间在扩大

潜在解决方案空间包括上图所示的所有服务。


以及 AWS 和其他云提供商的许多其他服务。


以及未来十年将会发布的服务。


以及由富有创造力的工程师自行构建的无服务器系统,他们将这些组件块以连云提供商都没预料到的方式组合在一起,构建出新的、令人兴奋的东西。


毕竟,EventBridge 源于 AWS 发现了 Cloudwatch 事件被用来触发 Lambdas 的奇妙方式。


这种现象的另一个例子可能是简单的无服务器事件调度系统,我们搭配使用 Step Functions 和 Lambda 构建该系统,我们的另一篇文章对此进行了详细介绍。

那么,为何我们没全都采用无服务器呢?

首先,很难从一个经常被误用的术语“无服务器” 中看到这个潜在解决方案空间。


特别是当某个框架选择使用它作为自己的名称时——这是一个令人惊叹的工具,但无助于保留术语背后的复杂语义。


现在,显然不仅仅是因为一个词汇的问题减缓了无服务器架构的普及。这是一个范式转变,可能比之前的“云”更有影响力。


构建由服务器、自管理系统和永久状态组成系统的过程中成长起来的工程师,不得不转向事件驱动的思考方式,这种方式似乎具有无限的计算规模和存储空间——同时还面临着新的挑战、约束,而且缺少工具和最佳实践。


例如,迁移到更偏向无服务器的架构,通常涉及到采用 DynamoDB(或类似的东西)来代替过去的关系型数据库。NoSQL 现在已经不是什么新东西了,但是将它用于所有核心业务需求的想法是——这是因为整个系统现在的规模更大,而且具备之前人们并不了解的事件驱动的特性。


这并不容易——DynamoDB 很复杂,要做好就更复杂了。抛弃过去熟悉的 Web 应用程序框架——不是通过低成本的修改来保持函数的轻量化,而是将典型的框架责任转移给云提供商——这些都不是小事!


当你能清楚地看到“潜在空间”时,才能让收益大于成本


人们不会为了迁移系统和转变观念而经历这种痛苦。正如在许多其他文章中讨论的那样,无服务器架构允许开发人员专注于编写最能体现业务价值的代码,同时降低 TCO(总拥有成本)、增加可伸缩性并同时减少碳足迹(carbon footprint)。


无以言表

有时候,无法用言语来表达。有时候,要用一个词来描述潜在解决方案所涉及的范围之广、形式之多,实在是太过复杂。


但是,作为一个在许多新的无服务器服务出现前就存在的词,它做得还不错。事实上,这证明了这个我们正努力把它从这个空间中分离出来的词的力量。


如果这个词是 FunctionFull ,那么随着这个 space 的扩大,我们就不可能一直使用它,如果没有无服务器这颗北斗星引导我们走向一个无形的特性,也许我们不会以这种方式扩展这个空间。


目前,至少对我来说,无服务器设法完成了一项艰巨工作,定义了一个非常灵活且复杂空间的边界。


英文原文:


In Defence of “Serverless” —the term


2020-02-17 14:282031
用户头像

发布了 723 篇内容, 共 459.5 次阅读, 收获喜欢 1537 次。

关注

评论

发布
暂无评论
发现更多内容

蓝易云 - 在PHP8中统计数组元素个数-PHP8知识详解

百度搜索:蓝易云

php Linux 运维 云服务器 PHP8

科大讯飞t20pro和t10区别 对比评测 哪个好

妙龙

科大讯飞 学习机

Match开辟双螺旋正增长模型,RFG与NFT天花板在哪儿?

石头财经

RFG与NFT天花板在哪儿?Match的双螺旋正增长模型是答案

股市老人

先锋鹏城,极速领航!深圳电信5G-A场景体验尊享权益正式发布

脑极体

通信

国内首个支持国产化信创的开源云原生平台

北京好雨科技有限公司

云原生 rainbond 企业号 8 月 PK 榜 国产化平台 信创国产化

Autodesk AutoCAD 2025 for mac(cad设计绘图软件)v2025.0.1中文版

Mac相关知识分享

cad 绘图软件

科大讯飞s30和t20区别对比

妙龙

科大讯飞 学习机

VNC Server for Mac(VNC远程控制软件) v6.11.0激活版

Mac相关知识分享

远程控制软件

百万级Python讲师又一力作!Python编程轻松进阶,豆瓣评分8.1

我再BUG界嘎嘎乱杀

Python 编程 后端 开发语言

蓝易云 - ssh登录22号端口拒绝连接Ubuntu?

百度搜索:蓝易云

Linux 运维 Shell SSH 云服务器

科大讯飞T20学生平板怎么样 科大讯飞T20参数

妙龙

科大讯飞 学习机

专为小团队设计:顶尖需求管理软件8选

爱吃小舅的鱼

需求管理 需求管理工具

科大讯飞学习机t20和P30对比

妙龙

科大讯飞 学习机

Go语言中进行MySQL预处理和SQL注入防护

左诗右码

Go 语言

鸿蒙 NEXT 应用开发训练营毕业啦(毕业总结)

SamGo

鸿蒙 训练营 HarmonyOS 移动端 鸿蒙系统

PDF Reader Pro for mac(全能pdf编辑阅读软件)

Mac相关知识分享

mac软件下载 PDF阅读软件

基于SPH方法,轻松实现FZG齿轮箱流体仿真,解决齿轮箱耐久性和可靠性的测试

Altair RapidMiner

制造业 仿真 altair 齿轮

ClueCon 2024:音视频开发者的技术盛会

声网

电子签合同有效吗?符合法规的8大电子签合同系统

易成研发中心

电子签名软件 电子合同软件

蓝易云 - Ubuntu22.04安装Mongodb7.0

百度搜索:蓝易云

mongodb 云计算 Linux ubuntu 运维

office全套办公软件Microsoft Office LTSC 2021 for Mac

Mac相关知识分享

办公软件

【YashanDB数据库】YAS-02143 invalid username/password, login denied

YashanDB

yashandb 崖山数据库 崖山DB

如何挑选文档管理软件:8款顶尖选择一览

爱吃小舅的鱼

文档管理 文档管理工具 文档管理系统

缺陷管理神器:小型团队必备的7个工具

爱吃小舅的鱼

缺陷管理系统 缺陷管理 缺陷管理工具

RFG与NFT天花板在哪儿?Match的双螺旋正增长模型是答案

BlockChain先知

蓝易云 - 使用php获取时间今天、明天、昨天时间戳的详解

百度搜索:蓝易云

php 云计算 运维 云服务器 香港服务器

Microsoft Excel 2019 for Mac(excel电子表格) 中文正式版

Mac相关知识分享

Excel表格

【第2期】INFINI Easysearch 免费认证培训开放报名啦

极限实验室

easysearch 极限科技

蓝易云 - Ubuntu下运行QEMU模拟riscv64跑Debian

百度搜索:蓝易云

ubuntu 运维 云服务器 qemu Debian

科大讯飞t20和c10 区别对比 评测

妙龙

科大讯飞 学习机

为“无服务器”正名_架构_Ben Ellerby_InfoQ精选文章