"serverless" 和 "fully managed" 有什么区别?

What's the difference between "serverless" and "fully managed"?

根据 Google 云文档,Cloud Dataflow 是无服务器的,而 Cloud Firestore 是完全托管的。如果无服务器意味着基础架构和资源由云提供商管理。 那么这两种范式之间有什么区别呢?

根据我的经验,Google 倾向于使用 "fully managed" 术语来指代无需编写任何代码的数据库和缓存层技术。

另一方面,"serverless" 倾向于在必须部署某种代码的地方使用。在大多数云平台中,如果您编写,您将拥有并管理它。因此 Google 不会声明完全托管的 DataFlow 平台。

无论如何,这就是我的解释,很高兴得到纠正。 :)

如果 GCP 推出无服务器数据库,看看会发生什么很有趣。

无服务器全托管概念在Google云平台

中的区别

As per the documentation, Google Cloud’s serverless platform lets you write code your way without worrying about the underlying infrastructure, which is fully-managed by Google.

我想说这两个概念的含义存在 细微差别;但是,它们的含义在很多方面确实存在重叠。

当我想到 serverless 时,我会想象制作服务或应用程序的代码图片 运行。在英语中,这将是您最喜欢的编程语言、运行 次、框架和库。您甚至可以选择部署为函数、应用程序、源代码或容器,因为该服务是 完全托管.

另一方面,我认为 fully-managed 指的是服务使用的架构,即什么是真正的发生在幕后。 Google 处理配置、供应、负载平衡、分片、扩展和基础架构管理,因此您可以专注于构建出色的 serverless应用程序。

注意我解释中的悖论。希望对您有所帮助。

我们以AWS为例。 AWS 提供多种计算服务,但最受欢迎的是 EC2 和 Lambda。 EC2 是一项完全托管的服务,基本上,AWS 为您提供了一个空的 VM,您可以在那里安装所需的一切。但这意味着您还必须管理服务器的升级、维护以及许多其他与服务器相关的事情。同时,在 Lambda 中,您只需上传代码,AWS 会处理剩下的事情。

这2个词没有脚本定义。 Serverless 和 Fully managed 非常接近并且共享一个主要概念:不要担心基础架构,关注您的业务价值。

对我来说,在大多数 Google 产品中,无服务器意味着 "pay as you use"。无流量,不付费,流量大,自动缩放,按流量付费。

Cloud 运行、Cloud Function、AppEngine standard、firestore、datastore、dataproc、dataflow、ai-platform 都是无服务器的例子。

其他服务是托管的,但不是无服务器的,例如 Cloud SQL、BigTable 或 Spanner。你总是有最少数量的 VM/node 并且你为这些付费,无论是否有流量。但是,您无需担心:补丁、更新、网络、备份、HA、冗余 (...) 都为您管理。 AppEngine flex 属于此类。

最后你有了混合产品,比如 Cloud Storage 或 BigQuery:你在使用处理 (BigQuery) 或流量 (Cloud Storage) 时付费,但如果你没有流量,存储总是收费的。

这适用于 GCP。如果您寻找其他云提供商,定义就不一样了。比如AWS,Lambda和Fargate都是Serverless产品。但是对于 Lamba,没有流量 = 0 账单,Fargate 至少保持 1 个 VM 并为此向您收费(不要扩展到 0)。

小心,serverless 成为一个时髦的营销词。请注意它对您和您的用例意味着什么!