我目前正在为我的 Ruby on Rails SaaS Web 应用程序寻找托管解决方案,我看到的最大问题是,如果我使用 Amazon EC2 之类的东西,那么我仍然需要配置我自己的服务器并安装我需要的东西(例如数据库、编程框架、应用服务器等)。其中每一个都是出现问题的机会。我还必须担心我的数据如何备份、备份频率以及许多其他“低级”详细信息。作为一家初创公司,我没有系统管理员的资源,因此必须自己玩一个。我目前在一家初创公司做一些工作,我的老板总是在谈论 EC2 有多棒,因为它让我们“摆脱硬件业务”——但实际上,感觉并非如此,因为我们仍然需要建立服务器实例,仍然需要安装软件,仍然需要正确配置软件。感觉我们仍然从事硬件业务,只是我们并不真正拥有我们正在使用的服务器。

相比之下,像 Heroku 这样的服务(我相信它实际上在底层使用了 EC2),但基本上负责所有底层细节。他们为我自动备份,我只需指定频率。他们已经设置了服务器配置。他们有办法管理它并保持它运行,所以我不必监控流量。我可以专注于我的应用程序并只部署代码,让他们担心管理并确保数据库正确配置了 Web 服务器并且正确的文件夹具有权限。

Heroku 的问题显然是,如果我想修改它,我无法控制这些东西。Heroku 使用 nginx 作为 Web 服务器;如果我想在 Apache 上使用 Phusion Passenger 来保持 RoR 开发的“前沿”,我是 SOL。如果我需要在生产环境中进行快速修补(我知道这是万恶之源,但有时会发生这种情况),我无法通过 SSH 访问 Heroku 的服务器。如果我需要设置一个新的数据库用户以允许其他人远程访问数据,我认为我无法做到这一点。最糟糕的是如果有什么 服务器发生这种情况,除了等待 Heroku 修复它之外,我没有办法做任何事情。

基本上在什么时候(如果有的话),我们作为开发人员可以专注于我们的代码和应用程​​序,而不必在服务器配置方面扮演系统管理员的角色?作为一家资源有限、配置服务器知识有限(足以应付过去)的初创公司,为了让其他人担心硬件/软件方面的问题,我是否最好牺牲一些可配置性?

有帮助吗?

解决方案

https://stackoverflow.com/questions/162144/what-is-a-good-ruby-on-rails-hosting-service/265646#265646

我对学习如何 配置 Apache、ModRails 和 Phusion、 Mongrel、Thin、MySQL 等等。有了 Heroku,我就不用担心了。nginx是 是网络服务器,而 PostgreSQL 数据库他们确定了 为所有新应用程序提供 Ruby/Rack。框架 在 Rack 上运行的软件包括 Rails、Merb、 和西纳特拉选择有限。

其他提示

将服务器配置作为项目的一部分,并使用脚本来设置和拆除服务器。将所有内容保留在 VCS 下,并定期使用脚本来重新创建您的开发设置。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top