原文:

https://martinfowler.com/arti...

Serverless架构特指那些依赖第三方服务(即后端即服务或者是“BaaS”)的应用或其自定义代码跑在短周期容器中(函数即服务或“FaaS”),最知名的提供此类主机服务的厂商就是AWS Lambda。 在这个思想指导下, 并且将大量行为移到前端,此类架构移除了对传统部署在应用后“永远在线”的服务系统。 在这种情况下, 这种系统可以明显减少运维成本和复杂度,代价是对厂商的依赖和(目前)不太成熟的支持服务。

什么是Serverless?

像很多软件业的概念一样‘Serverless’没有一个明确的定义, 下面两种不同风格但互相覆盖的领域仍然很难解释这个概念:

  1. Serverless最初用来描述那种重度或完全依赖第三方应用/服务(在云上)来管理服务端逻辑和状态的应用。这些一般是使用巨大云上生态系统的数据库(像Parse
    ,Firebase),认证服务(Auth0, AWS Cognito)的“富客户端”应用(想一下单页网站应用,或者移动应用)。此种类型的服务之前被描述为“(移动)后端即服务”,我在文章的后面会用“Baas”作为这个词的缩写。

  2. Serverless也可以指代那种大量的服务器端逻辑仍然是由应用开发者来完成的而不像传统运行在无状态计算机容器的架构 - 由事件触发,周期短暂(只会在一次调用中存在),并且完全由第三方管理。(感谢ThoughtWorks定义的技术雷达)。 可以认为这就是“Functions as a service/FaaS”。 AWS Lambda是目前最流行的FaaS实现,但还有其他的。在本文后面我会用“FaaS”在指代这种形式的Serverless。


祝坤荣
1k 声望1.5k 粉丝

科幻影迷,书虫,硬核玩家,译者