什么 "are" Heroku 附加组件?他们在做什么_?

What "are" Heroku add-ons? What do they _do_?

我可能会因为过于含糊/基于意见而被拒绝,无论如何。但这是一个严肃的问题,尽管 Heroku 在 how add-ons work 上有很好的文档,但我终其一生都无法弄清楚 什么 他们 (即定义 "addon" 的统一主题是什么)。

据我所知,他们为您的应用创建了一个 API,外部提供商可以通过通用方式与之交互(即 SendGrid 团队不必配置他们的服务可以与提供附加组件的每个 Heroku 应用程序一起使用)。这样(继续上面的示例),SendGrid 可以将信息从您的应用程序提取到他们的服务中,写入您的应用程序等。

我更不确定的是这有什么限制。这些操作是否会绑定到 my 特定的 SendGrid 帐户,一般情况下能够被 SendGrid 使用,或者两者兼而有之。有权限吗?在我配置附加组件后,我能否保护我的数据或我的用户数据免受恶意 SendGrid 员工的侵害?

我说的对吗?还有什么吗?

插件真的很简单。基本上,这是供应商使用 Heroku 的计费系统来提供一些您可能会觉得有用的 'add on' 服务的一种方式。

让我们以 Heroku Postgres 为例。它是最受欢迎的插件。作为 Heroku 应用程序的用户,如果您 运行 heroku addons:create heroku-postgresql 命令,会发生以下情况:

  • 一个 API 请求从您的笔记本电脑发送到 Heroku 说 "provision a Heroku database for me!"
  • Heroku 获取此 API 请求,并将其转发给插件提供商(在本例中为 Heroku Postgres)。
  • Heroku Postgres 获得一个配置 API 请求以及您的 Heroku 应用程序名称,为您配置一个新数据库,然后在您的 Heroku 应用程序中设置一些环境变量 (DATABASE_URL)。
  • 从现在开始,Heroku 将开始向您收取 Heroku Postgresql 插件的费用(取决于您选择的计划以及使用时间)。
  • 每个月 Heroku 都会向您收取应用程序和插件的费用,并向插件提供商支付他们的分成。

与直接访问数据库供应商的网站、购买数据库然后创建自己的环境变量相比,使用插件的主要好处是:

  • 统一计费。 Heroku 通过一张信用卡向您收取您在一个地方使用的所有服务的费用。这对很多公司来说更容易追踪。
  • 您可以使用 Heroku 的支持系统与您使用的所有供应商进行交互。这使得获得支持变得更加简单。
  • 您始终保证只为您使用的东西付费。如果您配置一个 Heroku 插件,然后在 10 秒后将其删除,您只需支付 10 秒的使用费。如果你直接从供应商那里购买数据库,他们通常会以不同的方式向你收费,这通常对你来说更贵。

要查看完整的插件 API,您可以查看此 link:https://devcenter.heroku.com/articles/add-on-provider-api

一般来说,插件只是提供您可能已经用于您的应用程序的有用服务的一种非常方便的方式。

它们没有安全优势或缺点。他们是完全中立的。将它们视为一种便利因素,它们根本不会影响帐户安全等。