【问题标题】:Difference between PAAS and cloud server.PAAS 和云服务器的区别。
【发布时间】:2015-03-05 14:03:01
【问题描述】:

我正在开发一个需要可伸缩性的网站。使用 RoR 的网站。我对 Ninefold 和 DigitalOcean 主机感到困惑。我的网站将类似于社交网站,我需要在其中存储大量用户数据和媒体。

正如一位伟大的开发人员所建议的那样,Digital Ocean 是一个云服务器(配置您自己的数据库、Web 服务器 ssh 等),但 Ninefold 是一个平台即服务,您可以将代码推送到该平台。

我想知道这个的确切含义

【问题讨论】:

  • 尝试阅读概述使用 Heroku 过程的 Rails 教程。这将使您对 PaaS 是什么有一个很好的了解。更简单的方法是询问“那个伟大的开发者”。
  • @D-side :非常感谢您的回答。谢谢,我只是想了解更多关于这个主题的信息,这就是我在 stackoverflow 上发布问题的原因。因为 stackoverflow 有非常优秀的开发人员。

标签: ruby-on-rails database cloud hosting


【解决方案1】:

总之,区别就是这样。

目前市场上有两种极端的报价。

Digital Ocean,它会为你创建虚拟机,然后你需要自己配置和管理(意味着安装所有 ruby​​、nginx 和其他东西)

而 Heroku 是完全抽象的,你无法访问任何东西,你只需将代码推送给它们,它们就会在云端的某个地方运行它。

然后是 Ninefold,介于两者之间,它们为您创建虚拟机,您可以在其中访问并指定诸如磁盘大小、CPU 数量和 RAM 大小之类的内容。但是 Ninefold 还为您完全配置了虚拟机,安装(以及以后的更新)所有 ruby​​、nginx、postgres 和类似的东西。因此,最终它是两全其美的方式,您可以通过将代码推送到 GitHub 来部署代码,但您也可以完全访问 VM,并可以根据您的性能需求对其进行微调。

在实际负载方面,九倍也比 Heroku 更具成本效益。

【讨论】:

    【解决方案2】:

    这些只是用于不同目的的不同事物。

    云服务器只是一台机器。它可以做任何你强迫它做的事情。基本上不限于托管 RoR 甚至一般的任何网络平台。如果您只想要 RoR,则必须设置 Ruby、数据库、安装应用程序、配置代理(如果需要)。您还可以在同一台机器上运行补充内容(例如,对于使用 WebRTC 的应用程序,您也可以在那里运行 STUN 服务器)。您必须定期升级它(和/或配置自动升级)并响应您应用程序下系统中可能存在的安全漏洞。本质上就像您购买了一台物理服务器,将其连接到网络并用于生产。

    PaaS 是一个稍微不同的概念。为了运行您的应用程序,您需要配置您的机器,如上所述:软件、库、Web 服务器。您设置了应用程序运行的平台。这就是 PaaS 中的 P。在 PaaS 上,您无法控制操作系统和可用软件,但您可以确保其配置正确。您应该只确保您的应用程序配置正确。有一个 "12 factors" 的想法,它描述了构建面向 PaaS 的应用程序的指南。这意味着 PaaS 严格来说是单一用途的:它只运行基于您的代码库的进程,没有任何成熟系统的商品。 Heroku 是最著名的 PaaS,它没有本地数据库服务器,但您的应用程序可能需要它才能运行。因此,您可以为您的应用程序提供远程数据库服务器的 URL,它也可以是一项服务(DBaaS,Heroku 单独提供,例如在 ClearDB 插件中)。

    事实上,没有什么限制您不使用这两种方法。您可以以不太依赖系统软件的方式设置服务器基础架构。您可以使用 Docker 将应用程序的代码、用户数据和所需的服务(例如数据库)与系统的其余部分以及彼此分离。一个应用程序,当作为 Docker 容器运行时,通常是单独的,有一个暴露的端口,并且不会从系统请求太多。数据库位于自己的容器中,该容器链接到应用程序并通过环境变量发现,因此本地数据库服务器也不受影响。那有什么好处?控制。一切都与系统完全分离,可以备份、扩展甚至迁移,而无需重新创建您以前在某个地方拥有的大多数应用程序环境。很像您自己的 PaaS。它确实需要一些规划和设置平台以及为其打包应用程序的知识。只有当你想运行多个应用时才有意义。

    【讨论】:

      【解决方案3】:

      在 Digital Ocean 上,您通常会得到一个带有您选择的 linux 操作系统的空虚拟盒子。您 ssh 进入该服务器,安装 rvm,安装 ruby​​,安装 nginx,安装乘客或 unicorn,安装 postgresql,在本地计算机上设置 capistrano 以部署到您在该服务器上的生产环境...

      如果 Ninefold 与 Heroku 类似,它已经为您配置好了。您只需推送您的代码并让您的网站运行。

      安德烈·亚速

      【讨论】:

        猜你喜欢
        • 2011-11-04
        • 2016-02-08
        • 1970-01-01
        • 2012-12-22
        • 2015-10-17
        • 1970-01-01
        • 1970-01-01
        • 2021-01-07
        • 1970-01-01
        相关资源
        最近更新 更多