我和我的团队目前正在构建至少5k用户将使用的Ruby on Rails web应用程序(SaaS模型),之后可能会有更多的应用程序。在开发过程接近尾声的时候,我想知道我们将使用什么样的托管。
我首先考虑使用标准web服务器和Nginx和Puma,第二台服务器专门用于数据库,但可伸缩性是我们真正想要的。因此,我开始检查另一种解决方案(知道我们团队中没有人是管理员这一事实),最后我选择了Heroku。
所以,我的问题是,,为什么我要使用类似Heroku的东西?,在看了价格之后,我觉得它会比一台标准服务器更便宜,但我仍然对它感兴趣:如果人们使用它,肯定有原因。
发布于 2014-06-06 09:35:30
Heroku和DigitalOcean等只是使部署到“云”托管更容易的服务。Heroku使用AWS的计算基础设施来托管您的应用程序,但是提供了一个环境来帮助更容易地部署它们:
当AWS出现时,人们为什么使用Heroku?Heroku和AWS的区别是什么?
Heroku诉.
关于Heroku,需要注意的一些重要问题是,您不能直接访问数据库,也不能依赖它们的基础设施来支撑(如果他们的数据中心发生了什么事情-以前已经发生过--您就任由Heroku &AWS的工程师摆布)。
我们对它们有两个问题:
--
选择
您真正拥有的选择是是使用类似RackSpace的东西(比如我们),还是使用像Heroku或DigitalOcean这样的服务。对我来说,没有太大的区别,因为Heroku / DO只是提供了一个环境来推动VPS在各自的合作伙伴托管提供商上运行。
由于易于部署(git push),您的缺点是,您的数据库、环境等将无法直接配置。也就是说,如果你使用Heroku,就很难摆脱它(传输数据等)。
通过使用直接解决方案(如RackSpace或AWS ),您可以控制环境,这意味着您可以直接访问数据库、依赖服务和系统的其他方面。当然,它提供了更多的维护,但是您并没有像Heroku那样被锁在一个系统中。
--
系统
就系统而言,Heroku将您锁定为使用其域基础结构。
域example.herokuapp.com将始终保持活动状态,即使您已经设置了自定义域。如果您希望用户只使用自定义域,您的应用程序应该发送HTTP状态301永久移动,以告知web浏览器使用自定义域。header字段将显示用户试图访问的域;如果该字段为example.herokuapp.com,则发送重定向。
这与使用不同依赖项& Heroku系统的其他方面的锁定结合在一起。它基本上是亚马逊AWS基础设施的店面
--
Recommendation
如果您希望拥有5k用户,我强烈建议您考虑设置您自己的环境,可能是使用RackSpace (我们使用它们时)。
我认为Heroku对于那些只想让应用程序启动和运行的开发人员来说是很棒的,但是对于提供一个你可以控制的环境来说,这并不是很好。
这方面的一些示例包括在Rackspace上设置数据库等,这意味着您可以自己定义数据库。在Heroku上,数据库保存在第三方数据中心中,您从未见过(尝试在Heroku上设置PHPMyAdmin )。
另一个例子是如何扩展应用程序。如果您有内存泄漏等,那么您将能够更好地设置自己的堆栈,而不是依赖其他人的堆栈。它允许您定义应用程序应该如何操作的具体细节,从而使扩展能力变得更容易。
https://stackoverflow.com/questions/24072379
复制相似问题