为何Heroku上的DEV托管(以及我们如何配置我们的服务)
披露:Heroku是DEV赞助商,但这篇文章本身并非“赞助”。
我之所以选择撰写这篇文章,是因为我想对DEV如何思考这些事情提供一些思考。我对这类事情提出了很多疑问,我的回答通常是“它取决于”。话虽这么说,我已经成为Heroku的一贯用户已有近十年了,所以必须有一些能让我(和DEV)保持一致的东西。
有很多很棒的云选择,包括我们的另一个赞助商:DigitalOcean。托管/云环境对于开发人员来说越来越好,但这不是一个苹果对苹果的讨论。这些不是商品,它们是具有不同服务,不同用户体验问题和许多权衡的特定服务。
我们不会以任何方式使用Heroku,但由于平台提供的开发人员经验,我们始终将其用于我们的一些核心工作。
首先,Heroku究竟做了什么?
Heroku将自己描述为“平台即服务”,这实际上意味着它比您在其他云服务中找到的更加集成。我从来没有完全确定在哪些地方勾勒出一些这些东西;但原则上,Heroku捆绑了运行时环境,插件生态系统以及对集成开发人员体验的一般关注。
最大的好处是什么?
在短语中,我们多年来一直在使用Heroku,因为它给了我们时间,而且真的不需要教。也就是说,Heroku的入职流程可以在很大程度上直观地进行,而不是仅仅为了使用该服务而通过学校。他们已经做了很好的工作,概述了我们需要与伟大的指南一起采取的几乎所有路径。
Heroku CLI和Web界面均提供与服务交互的有效方式。我发现不同的团队成员在这方面做出了不同的选择而不会导致团队内部的错误传达。
以不同的方式与Heroku交互,例如附加生态系统,通常可以通过命令行完成,如:
heroku addons:create rediscloud:100
但是,如果我想进入网络界面,我通常会觉得很舒服,并在两个环境之间跳跃。我们团队中的一些人甚至可能直接在浏览器中使用我们的应用程序控制台…如果这适合他们的流程。
与Herok互动
没有锁定的集成
也许我们坚持使用Heroku的最大原因是我们从未发现自己特别被锁定在Heroku的生态系统中。我们需要构建的第一个版本几乎总是可以在Heroku附加组件生态系统中使用,但是当我们因任何原因需要换档时,总是很容易删除这些搭配因为集成几乎总是可以通过app config以交易所服务的方式定义
我们的Heroku配置
我们运行单个Performance L Dyno,如果流量有任何减速,自动缩放配置为并行化为2+。我们使用Puma分叉我们的应用程序在一台Heroku机器上运行并发实例(即一个dyno)。早期我们使用标准2x Dynos,直到我们最终通过运行一个大的效率来看到更高的效率。
使用Heroku管理Postgres作为我们的核心数据库,我们的大多数其他服务都是非Heroku产品,但通常仍然通过Heroku提供的附加系统进行管理。然而,当我们根据最简单的方式访问仪表板等时,我们已经能够移除附加系统。附加系统是一个很好的默认设置,但我们可以转移也很重要我们的方法,当我们觉得有必要。
如需进一步阅读,这里有一篇文章,非常了解Heroku服务……
Heroku vs自托管PaaS
Magnus Skog·7月18日·13分钟阅读
#heroku #hosting #selfhosting
快乐的编码