GCP端点和Apigee有啥区别

Posted

技术标签:

【中文标题】GCP端点和Apigee有啥区别【英文标题】:What is the difference between GCP endpoint and ApigeeGCP端点和Apigee有什么区别 【发布时间】:2020-02-05 10:33:59 【问题描述】:

GCP 端点和 Apigee 有什么区别?什么时候应该使用 GCP Endpoint,什么时候应该使用 APIgee。

我们将不胜感激任何输入。

【问题讨论】:

【参考方案1】:

基本上,两种产品都做同样的事情。但它们非常不同。

首先,端点是integrated to App Engine,可以部署在其他地方,例如Cloud Run。 Endpoint 具有 Endpoint Proxy 的基本功能:身份验证、API 密钥验证、JSON 到 gRPC 转码、API 监控、跟踪和日志记录。 Endpoint 是免费的(或者您在其上部署时只需支付 Cloud Run 费用)

Apigee 做同样的事情,但具有更多高级功能,例如配额、计费、请求预处理和后处理……此外,它能够连接不同于 REST 和 gRPC 的 API,因此可以集成使用遗留应用程序并允许它公开 API,即使它没有设计用于。 Apigee 价格昂贵,但功能强大!

一切都取决于您的用例和您的资金!

【讨论】:

我今天学到了一个很大的不同,在 GCP 文档中,Cloud Endpoint 既没有在 HIPPA 合规性中列出,也没有在 PCI 合规性中列出。但是,GCP 推出了与 Open API 兼容的新服务 API Gateway。看起来它现在支持 GCP 的无服务器组件。 目前,API Gateway 只是一个托管的 Cloud Endpoint(功能相同)。但是功能列表会增加,并且该服务将来应该符合一些法规。 我认为端点也是supports quotas。您的回答暗示这仅在 Apigee 中可用。 而且由于 API Gateway 是 Endpoints 的托管版本,它也是 supports quotas。 Cloud Endpoint 和 API Gateway 支持配额。但是您需要一个 API 密钥来识别“项目”调用者。【参考方案2】:

对于 Endpoints,Service Manager 代理部署在您自己的基础架构中(无论是 App Engine、Cloud Run、Compute VM 还是非 GCP 机器)。

对于 Apigee,代理部署在自己的基础架构中。

还有很多其他的差异,但它的表现对我来说是最突出的。对于其他差异,您可以阅读Endpoints 和Apigee 的文档。

选择其中一个将取决于您需要的功能。

【讨论】:

一个好的经验法则是开发对你来说更容易/更快的东西。如果您已经习惯了一种产品,请坚持使用它。重新培训团队并从头开始学习通常更昂贵,除非您需要只有一种产品支持的非常具体的功能。【参考方案3】:

我最近花了几周时间在 Apigee 中研究原型,我的总体印象是它使 API 开发工作变得轻而易举。文档是合理的,Web 界面由一个看起来很健壮的管理 API 补充。我能够通过一些 openAPI3 规范构建一个功能强大的 API 表面,与大量外部服务交互、提取数据、进行身份验证;调用外部服务来解析并返回经过验证的数据。一旦我完成了教程和示例,一切都非常简单。

端点是另一回事。对于部署的每个服务,文档并不是完全最新的。我已经提交了一些错误问题,结果被告知在 PR 中进行了修复。 Endpoints 有很多难以发现的限制,因为它们是您部署 Endpoints 的方式(CR、KUbernetes 等)和部署服务的位置(AE、Functions 等)的相互作用。我在 Endpoints 上度过了一段地狱般的时光,因为我不得不放弃 Apigee,因为它的成本太高了,即使是他们可以为我的公司提供的最低价格。考虑一下开发人员工资水平的年度成本。

虽然 Apigee 可以让 API 开发变得非常迅速,但对于渴望开始的小公司来说,成本是一个重大障碍。由于与每种部署运行时选择相关的限制,端点带来了更多挑战。也就是说,GAE 的免费配额甚至它们的定价模式都不算高。

如果它是我的选择,并且有划痕,我会选择 Apigee。有传言说他们正在做介于两者之间的事情。

【讨论】:

作为对此的更新,中间产品称为API Gateway。原来的名字,我知道。它刚刚进行了公开测试,到目前为止,实施过程大大减少了繁琐。

以上是关于GCP端点和Apigee有啥区别的主要内容,如果未能解决你的问题,请参考以下文章

GCP Kubeflow 和 GCP 云作曲家有啥区别?

GCP 中的 KMS 和秘密管理器有啥区别?

BigQuery 和 GCP 上的存储有啥区别?

GCP 中的网络和 HTTP(s) 负载平衡器有啥区别

Google Cloud Spanner 和 Cloud SQL 有啥区别?

查询数据库和请求端点有啥区别?