私は現在HostingRails.comにVPSを持っていますが、サービスにかなり失望しているので、代わりにlinodeへの切り替えを検討しています。私は3つのRailsアプリケーション(私のライブアプリケーション、ライブアプリケーションのQAバージョン、および1つ redmine )をApacheのPassenger、phpbbインストール、および1つで実行しています。現在私のVPSで実行されているmysqlデータベースは、合計で約400MBのRAMを使用しています。
720MBのノードを取得してそこにすべてを貼り付けるのが良いのか、それとも2つの360MBノードを取得して一方にライブサイトを、もう一方にQAサイトを作成してredmineするのが良いのかを考えています(この場合、各ノードに1つずつ、2つの別々のデータベースを提案しますか?アプリケーションを分割するのは良い考えだと私に提案されましたが、それが本当かどうかはわかりません。ノードが1つある場合、ライブアプリケーションがより多くのメモリを必要とする場合、QAインストールとredmineではおそらく完全には使用されない360MBを使用できると思います。
また、現在、SVN(1つのアクティブなプロジェクト、2つの非アクティブなプロジェクト、2つのユーザー)をDreamhostでホストしています。これは、事前にプランの料金を支払い、SVNをVPSに移動する代わりにそこに残したためです。 SVNをlinodeに移動することはあなたの答えに影響しますか?
2つのノードを使用すると、同じ量のメモリを取得できますが、CPU時間とIOトークン)も2倍になります。
SVNは、パフォーマンスをそれほど損なうことなく、Passengerと同じApacheインスタンスで実行できます。
また、別の設定を検討することもできます。1つのデータベースノードと1つのWebサーバーノードです。どちらも十分に活用されておらず(結局のところ、Apacheは非常に重い)、同じデータセンターにある場合は、両方のパブリックIPをWebサーバーノードに向けて(Linodeで許可)、Linodeを介してデータベースノードと通信させることができます。 LAN(転送クォータを回避)。
Railsベースのいくつかのビジネスにマネージドホスティングを提供した経験から、dbとappを分離することは常に成功していることが証明されています(fahadsadahが指摘しているように)。
ただし、特に限られたリソースのvps環境では、同じマシンでApacheとnginxを実行しません。前に述べたように、Apache自体はかなり重いですが、乗客、svn、phpのすべてのニーズを処理できます。したがって、nginxをミックスに追加しません。結局のところ、それは維持する必要があるもう1つのソフトウェアです(構成、更新/パッチ適用など)。
また、私は個人的に、アプリが実行されているのと同じセットアップ内でソースコードをnotホストする傾向があります。私はコードの堅牢性とセキュリティにかなり自信を持っていますが、誰かがアプリやサーバーを介して方法を見つけることができれば、彼は私たちのソースにも完全にアクセスできます。そして、あなたのデータとあなたのコードリビジョンはおそらくクラッカーに手に入れてもらいたい最後のものです...
私はそれが恥知らずなプラグであることを知っていますが、私の会社はブランドの下でバンドルされたRedmineとSVNホスティングを提供しています Planio 。 Planioのような他のサービスもあるはずなので、選択することができます。私の主なアドバイスは、サポートシステムのホスティングを信頼できる外部の関係者に委任し、ホスティングの取り組みをコアとなるもの(つまりアプリ)に集中させることです。