将应用程序集成为Heroku附加组件

Heroku是受欢迎的平台即服务提供商,它为供应商提供了作为附件提供的选项。 Heroku客户可以以不同的方式使用加载项,但是典型的情况是“启动数据库”,“启动MQ”或“启动日志记录解决方案”。 将附加组件添加到您的帐户后,您可以连接到所选的数据库,MQ,日志记录解决方案或其他。

据称,作为Heroku插件进行集成非常简单,并且Heroku 提供了有关如何执行此操作的良好文档 。 但是,这里有一些陷阱,所以我想分享一下我作为Heroku插件提供服务( Sentinel Trails和SentinelDB )的经验。

两者都是SaaS(一种是日志记录解决方案,另一种是云数据存储库),因此,当Heroku客户想要将其添加到他们的帐户时,我们只需要在他们的末端创建一个帐户即可。

为了与Heroku集成,您需要实现多个端点:

  • 置备–资源的初始创建(=帐户)
  • 计划变更–由于Heroku支持多种订阅计划,因此这也应反映在您的终端上
  • 取消配置-如果用户停止使用您的服务,则可能需要释放一些资源
  • SSO –允许用户通过单击Heroku控制台中的图标来登录您的服务。

在教程之后实现这些端点应该很简单,但事实并非如此。 因此, 我将共享处理它的Spring MVC控制器-您可以在此处进行检查。

一些重要的方面:

  • 如果您不打算进一步与Heroku API进行交互,则可以选择不获取令牌。
  • 我们正在使用 @ heroku.com形式的虚假电子邮件注册用户。 但是,您可以选择使用令牌来获取团队成员和协作者的电子邮件, 如此处所述。
  • 最重要的数据是resource_id –将其存储在用户(或组织)表中,并考虑添加索引以便能够快速检索记录。
  • 作为置备请求的一部分,返回您的密钥和机密。 它们将在Heroku中设置为环境变量
  • 除SSO调用外,所有请求均直接从Heroku服务器发送到您的服务器。 它在浏览器中被调用,因此您应该在响应中设置会话cookie /令牌。 这样,用户将登录到您的服务。
  • 生成插件清单时,请确保更新端点URL。

完成后,alpha版本将出现在市场中(例如, here和here )。 然后,应该有一些Alpha用户来测试加载项,然后才能在市场上看到它们。

将SaaS解决方案与现有的云提供商集成在一起是一件好事,我很高兴Heroku提供了一种自动化的方法。 (例如,AWS也有一个市场,但是那里的集成感觉有些奇怪并且不完善(我遇到了一些由AWS团队手动解决的问题)。

由于许多公司都选择IaaS或PaaS作为其服务,因此能够轻松集成附加服务的功能非常有用。 我什至会更进一步,为云附加组件提出一些级别的标准化,但是我想时间会证明我们是否真的需要它,或者我们可以为每个提供商节省几天的时间。

翻译自: https://www.javacodegeeks.com/2019/01/integrating-applications-as-heroku-add-ons.html

你可能感兴趣的:(将应用程序集成为Heroku附加组件)