为什么我应该使用像Heroku这样的PaaS服务来使用SaaS应用程序?

时间:2014-06-06 00:29:14

标签: ruby-on-rails heroku

我和我的团队目前正在构建一个{em}至少 5k用户使用的Ruby on Rails Web应用程序(SaaS模型),之后可能会有更多。 当我们到达开发过程的最后时,我想知道我们将使用什么样的托管。

我首先考虑使用带有NginxPuma的标准Web服务器,以及专用于数据库的第二个服务器,但可扩展性是我们真正想要的。所以我开始检查另一种解决方案(知道我们团队中没有人是管理员这一事实),我最终选择了Heroku。

所以,我的问题是我为什么要使用像Heroku这样的东西?在看完价格之后,感觉它的成本会超过标准服务器以降低性能但我仍然对它很感兴趣:如果人们使用它,就必须有理由。

1 个答案:

答案 0 :(得分:2)

Heroku& DigitalOcean等,只是服务部署到"云"托管更容易。 Heroku使用AWS的计算基础架构来托管您的应用,但提供了一个环境来帮助您更轻松地部署它们:

Why do people use Heroku when AWS is present? What distinguishes Heroku from AWS?


Heroku vs ...

关于Heroku的一些重要注意事项是,您没有直接访问您的数据库,以及依靠他们的基础设施来支持(如果他们的某些事情发生了数据中心 - 以前发生过 - 你受Heroku& AWS工程师的支配。)

我们有两个问题:

  
      
  • 您有义务使用他们的AWS Postgres DB
  •   
  • 您已经通过 Heroku的域名
  • 路由   

-

<强>选择

对我来说,没有太大的区别,因为Heroku / DO只是提供了一个环境来推动Heroku在各自的合作伙伴托管服务提供商上运行。

由于易于部署(DigitalOcean),您会遇到缺点,即您的数据库,环境等无法直接配置。 I.E如果你使用Heroku,它很难摆脱它(传输数据等)。

通过使用RackSpace或AWS等直接解决方案,您可以控制环境,这意味着您可以直接访问数据库,相关服务和系统的其他方面。当然,它带来了更多的维护,但你并没有像Heroku一样被锁定在一个系统中

-

<强>系统

就系统而言,RackSpace

  

域example.herokuapp.com将始终保持活动状态,即使   您已经设置了自定义域名。如果您希望用户使用自定义   域专有,您的应用应发送HTTP状态301已移动   永久告知Web浏览器使用自定义域。主人   HTTP请求标头字段将显示用户正在尝试的域   访问;如果该字段是example.herokuapp.com,则发送重定向。

这与使用不同依赖关系的锁定相结合。 Heroku系统的其他方面。它基本上是亚马逊VPS基础设施

的商店前端

-

<强>建议

  

如果您希望拥有5k用户,我强烈建议您查看   设置你自己的环境,可能是Heroku locks you into using their domain infrastructure(正如我们所说)   使用它们。)

我认为Heroku非常适合那些只想让应用程序运行起来的开发人员,但是提供一个可以控制的环境并不是很好。

这方面的一些例子包括您的数据库 - 在Rackspace等上设置意味着您可以自己定义数据库。在Heroku上,数据库保存在第三方数据中心,您从未看到过(尝试在Heroku上设置git push

另一个例子是您将如何扩展应用程序。如果您有内存泄漏等问题,那么您可以更好地定位自己的堆栈,而不是依赖别人的堆栈。它允许您定义应用程序应该如何操作的具体细节 - 提供更容易扩展的能力