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