web-dev-qa-db-ja.com

RailsでRubyをホストするために不可欠なLinuxの機能はありますか?

私は、私たちが所有するLinuxサーバー上でRuby on Railsアプリをホストする予定のプロジェクトに参加しています。Linuxのすべてのフレーバーは同じです。 Railsアプリをホストできますか?そうでない場合、一部のLinuxディストリビューションにはどの機能がありますが、他の機能はホストに不可欠ではありませんRailsアプリ?

7
Kevin

最も使いやすいディストリビューションを使用する必要があります。

OSが提供するバージョンのRubyやRailsなどを使用することを計画している場合、どちらのディストリビューションが「より良い」かが本当に重要になると私が頭から考えることができる唯一のことは、独自のビルドを妨げるものではありません。どのディストリビューションでもバージョンがありますが、それはあなたにとって価値があるよりも面倒かもしれません。

RHEL/CentOSは、リリースされたバージョンを更新し続けません。これは、OSをアップグレードするときに互換性の問題を解消するため、良いことかもしれません。後のバージョンで追加された機能が必要になる可能性があるため、これは悪いことかもしれません。新しいバージョンのリポジトリを追加することで、この問題を回避できる場合があります。

私はDebianの人ではないので、具体的に話すことはできませんが、Debianは通常新しいバージョンを提供しているという印象を受けています。最近追加された機能を探し回る必要がないので、これは良いことかもしれません。アップデートをインストールしてアプリケーションを壊す可能性があるため、これは悪いことかもしれません。

しかし、本当に最善の答えは、最も快適なものを使用することです。

10
yoonix

すべてのUnixバリアントは、Ruby/Railsを「同等に機能」してホストできます。少なくとも、Ruby、Railsフレームワーク、および膨大な数のgemがそれらで実行されるという意味で)。その意味で、「あなたとあなたのチームが最も快適なOSを使用する」が正しい答えです。

いくつかのもの[〜#〜] i [〜#〜]はオペレーティングシステムで個人的に探します-

  1. Ruby OSに同梱されている(またはポートなどで利用可能)のはかなり最新ですか?
    すべての新しい光沢にはRuby 1.9.xが必要です。したがって、OSが出荷されているだけの場合Ruby 1.8キックしますええ、私は[〜#〜]手作業でインストールできましたが[〜#〜]、安定した環境を構築するのに十分な仕事があります-なぜそうするのでしょうか私は自分のRubyパッケージを維持するより多くの仕事を受け入れますか?

  2. Rubyサポートパッケージ(rvm、gemsなど)は適度に最新ですか?
    (1)と同じロジック-オペレーティングシステムのパッケージ管理を可能な限り使用できるようにしたいのですが、パッケージマネージャーをオーバーライドして手動でインストールする必要がある場合私が使用するすべての宝石-それで生きることはできますが、それは物事を難しくします。

  3. OS自体は私の目標に適していますか?
    これはあいまいなものです-OSが「適切」であるかどうかを判断する最良の方法は ワークロードでのテスト/ベンチマークで生きている昼光を打ち負かすことです
    ここで、FooOSにはawfulマルチスレッドパフォーマンスがあり、BarOSにはスレッドがデータを書き出すたびにシステム上の他のすべての操作を停止することを要求するディスクサブシステム。したがって、アプリケーションがマルチスレッドであるため、BazOS(どちらも明らかに平凡です)のパフォーマンスが実際に向上します。 書き込みが集中します。
    「Linux」だけを見ている場合、ここでの違いはごくわずかです(またはsysctlノブを回して「修正可能」です)。 OS検索を拡張して他のシステム(BSD、OS X、Solaris、AIX、HP-UX、Windows)を含めると、パフォーマンス特性や負荷容量に実際の変動が見られる場合があります。

    ここにもいくつかの非技術的な考慮事項があります。 2つの架空のシステム(1つは無料のOS、もう1つは2倍高速で、ライセンスにCPUコアあたり5000ドルかかる有料システム)のどちらかを選択できる場合は、無料のシステムを入手してください。デュアルプロセッサクアッドコアサーバーのライセンス料は40,000ドルになります。ハードウェアの高価な面でエラーが発生したとしても、無料のOSを実行するサーバーが大幅に増えます。電力と冷却にお金を払っている場合でも、ユニットあたりのコストのパフォーマンス指標で誰が勝つかはかなり明確です...

  4. OSを管理できますか?
    OSには、それを管理できるツールがありますか(または、PuppetやChefなど、既に使用している/使用方法を知っている/使用したいツールでうまく機能しますか)?
    あなたのチームはOSを管理するのに十分快適ですか?次のメジャーバージョンのアップグレードを処理できるようになりますか、それとも、展開した日にインストールしたものにパニックに陥って停滞し、必要な新機能が不足していると絶えずイライラしますか?

3
voretaq7