web-dev-qa-db-ja.com

複数のユーザーのためのLinuxデスクトップサーバーの共有:リモートデスクトップまたは仮想化?

私たちは小さなウェブソフトウェア会社です(〜10人)。現在、すべての開発者がローカルのApache(一部のWindows、一部のUbuntu)でローカルのApacheを使用しています。共有ファイル用のSamba共有と中央のSVNリポジトリがあります。

インフラを一元化して、みんなが中央のサーバーで作業できるようにしたいと思っています。 2つのオプションがあります。

  • 仮想化:誰もが中央の太いサーバーで独自の仮想ボックスを取得します。
    Pro:クイックセットアップ、ユーザーの分離、新しいボックスの高速追加。
    Con:すべてのユーザーが独自のOSを持っているため、ハードウェアに少し飢えています。ソフトウェア(新しいEclipseバージョンなど)を更新しても、新しいvmを使い始めない限り、全員に影響はありません。これは、断片化または作業時間の損失につながります。セキュリティ更新の欠落とrootとしてボックスを使用しているユーザーによる潜在的なセキュリティ問題。
  • リモートデスクトップ:全員が中央のUbuntuサーバーに接続し、そこからリモートデスクトップを使用します。オプションは、実際のXクライアント、xrdp、VNCなどです。
    Pro:使いやすく、中央データストレージ、ソフトウェアの更新がすぐに有効、中央制御が簡単。それほど多くのハードウェアを必要としません。ユーザーはルートではありません。 SVNリポジトリはローカルである場合があり、高速化を意味します。
    Con:ユーザーは隔離されておらず(チーム内の潜在的なセキュリティ問題)、Apacheの再起動などがすべての人を襲います。

どちらのソリューションも、高速ネットワークとファットサーバーが必要です。現時点では、リモートデスクトップアクセスとしてxrdpを使用する傾向があります。どんな経験がありますか?もう一方のアプローチに不利な点はありますか?私が見逃したオプションは?ソフトウェア開発チームの仮想化に成功した人はいますか?

5
Steffen Müller

あなたが説明した短所は、現代のITの世界では、実際にはありません。ハードウェアはかなり安価であり、仮想化が使用されたときに見られるROIは高くて迅速です。ソフトウェアの更新と管理は、シェフや人形を使用して簡単に管理できます。セキュリティの問題は、ターミナルマシン全体ではなく、単一のVMに限定されます。適切なソリューションを選択すると、セキュリティは更新レベルでベンダーによって処理されます。ところで、リポジトリへのアクセスを高速化するには、gitを使用します-開発者は、最初のショックを乗り越えたら、それに夢中になります。

ターミナルマシンを使用すると、リソース管理がかなり難しくなる可能性があります。VMを使用すると、リソースの割り当てが改善されるだけでなく、ハードウェアを改善する正当な理由も得られます。

2
dyasny

私たちは3人の開発者がいて、リモートデスクトップを使用しています(ただし、開発中のWebサイトがRDを実際に使用していないため、EclipseまたはNotepad ++またはCodaで「リモートファイルブラウジング」を使用してコードを開発し、インターネット)。私はそれがうまく機能すると思います、そして同時更新の利点は素晴らしいです。私たちはチーム内のセキュリティにはそれほど関心がないので、その懸念について話すことはできません。 Apacheの再起動には2.5秒かかるので、誰が気にしますか?

編集そして、私はウィンドウを使用し、他の2つはMacを使用しています。それは誰にとっても素晴らしい働きをします。

0
Max

すべての人に独自の仮想マシンを提供するアプローチは、共有システムよりもメモリの点ではるかに効率的ではありませんが、異なるApache構成を同時に実行することをはるかに容易にします。また、スケーラビリティの管理も簡単です。必要に応じて、VMを新しいハードウェアに移行できます。突然多くのスタッフを引き受けるとは思わないかもしれませんが、どちらのアプローチも、アプリでパフォーマンススケーラビリティテストを簡単に実行できないことを意味します(そのため、ユーザーを専用マシンに数日間移行できるのは、良いアイデア)。

「クラスター」を管理するための優れたツールがいくつかあります。そのほとんどは複数のデスクトップマシンの保守に適用されます。すでにUbuntuを実行しているため、 Canonical's Landscape は明らかな選択肢です。しかし、それが私なら、標準のビルドを使用して、ユーザーのホームディレクトリをVMの外のNFS共有に移動します。そして、/ etc/sudoersの巧妙な計画により、ユーザーは「自分の」マシンでrootアクセスを取得します。

0
symcbean

NoMachine(NX) を試してください。無料の製品と商用ソリューションがあります。それは軽量、高速、かなり普遍的なクライアントアプリケーションのセットがあり、トランスポートとしてsshを使用します。必要に応じて、NoMachineを仮想システムと組み合わせて、異なるレベルの分離を行うこともできます。テキストモードで実行されているサーバーに対してNXを実行できます。 GUI要素がインストールされている限り、ユーザーはフルスクリーンのXセッションを取得します(これは複数のモニターにまたがることができます)。

0
ewwhite