为啥我应该将 Heroku 之类的 PaaS 服务用于 SaaS 应用程序? [关闭]

Posted

技术标签:

【中文标题】为啥我应该将 Heroku 之类的 PaaS 服务用于 SaaS 应用程序? [关闭]【英文标题】:Why should I use a PaaS service like Heroku for a SaaS app? [closed]为什么我应该将 Heroku 之类的 PaaS 服务用于 SaaS 应用程序? [关闭] 【发布时间】:2014-07-27 03:59:01 【问题描述】:

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

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

所以,我的问题是 我为什么要使用 Heroku 之类的东西? 看了价格后,我觉得它的成本会比标准服务器更高,但性能更低,但我仍然被它所吸引:如果人们使用它,那一定是有原因的。

【问题讨论】:

pydanny.com/you-should-heroku.html 复制:***.com/questions/9802259/… 【参考方案1】:

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

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


Heroku 与...

关于 Heroku 需要注意的一些重要点是您没有直接访问您的数据库的权限,也没有依赖他们的基础设施来维持(例如,如果他们的数据中心发生问题 - - 这曾经发生过 - 您受 Heroku 和 AWS 工程师的摆布)。

我们有两个问题:

您必须使用他们的 AWS Postgres DB 您必须通过 Heroku 的域进行路由

--

选择

真正可以选择是使用RackSpace 之类的东西(像我们一样),还是使用HerokuDigitalOcean 之类的服务。对我来说,没有太大区别,因为 Heroku / DO 只是提供了一个环境来推动VPS 在各自的合作伙伴托管服务提供商上运行。

由于易于部署 (git push),您会遇到缺点,即您的数据库、环境等将无法直接配置。 IE 如果您使用 Heroku,则很难摆脱它(传输数据等)。

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

--

系统

系统方面,Heroku locks you into using their domain infrastructure:

域 example.herokuapp.com 将始终保持活动状态,即使 您已设置自定义域。如果您希望用户使用自定义 独占域,您的应用应发送 HTTP 状态 301 Moved 永久告诉网络浏览器使用自定义域。主人 HTTP 请求标头字段将显示用户尝试访问的域 使用权;如果该字段是 example.herokuapp.com,则发送重定向。

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

--

推荐

如果您希望拥有 5k 用户,我强烈建议您查看 设置自己的环境,可能使用RackSpace(正如我们 使用它们)。

我认为 Heroku 非常适合那些只想让应用程序启动并运行的开发人员,但它在提供您可以控制的环境方面并不是很好。

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

另一个例子是您将如何扩展应用程序。如果您有内存泄漏等问题,您将更有能力拥有自己的堆栈,而不是依赖其他人的堆栈。它允许您定义应用程序应如何运行的具体细节 - 使扩展更容易

【讨论】:

以上是关于为啥我应该将 Heroku 之类的 PaaS 服务用于 SaaS 应用程序? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

heroku vs openshift 哪个PaaS更好?

HeroKu PaaS模式

我可以在 Heroku 上托管网站吗?如果没有,啥是类似 PaaS 的解决方案?

为啥 Heroku 服务器在几分钟后关闭?

为啥 Heroku 使用服务器时间而不是 Rails 时区进行日志记录?

为啥 tsc 不在 Heroku 中运行?