2010-12-14 12 views
5

MySite.comが生産でtest.MySite.comがテストになるように設定するのは悪いですか?どちらも同じマシンを実行しています。サイトは多くのトラフィックを取得しません。テスト環境と運用環境を同じマシン上に持つことは悪いですか?

UPDATE

私は、Windowsサーバー上で実行されているASP.NET Webアプリケーションについて話しています。

+0

デベロッパーチームのための質問Stack Overflow! :) –

+1

このような状況の中で、私の友人マックスは、「問題は、テストシステムを持っていないということではなく、プロダクションシステムではなかったことではありませんでした。 –

+0

+1私はその引用を盗むつもりです。 –

答えて

12

はい、悪い考えです。

テストコードにすべてのメモリ/ CPU /ディスク領域を消費するバグがあるとしますか?その後、プロダクションサイトがダウンします。

プロダクションとテストのために別々のマシンを用意し、DNSを使用してURLをそれぞれ指してください。


編集(より多くのポイント):

サイトは、マシンを共有している場合、彼らはIPアドレスを共有し、そのサイトにアクセスするためのIPアドレスを使用しているとき、あなたは、生産上にあるかどうかを知ることができませんまたはテストします。

同じマシンを共有する場合、配備が難しい場合があります。テストされていないコードを本番環境に配備しないように注意する必要があります。

プロダクションとテストのセキュリティ上の考慮事項は別々にする必要があります。このような設定では、より難しくなります。

+3

良い点。それ以上はありますか?私は上司の潜在的な落とし穴のリストを用意しようとしています。 –

1

悪い考えです。テストされていない新しい機能があると、プロダクションサイトが強制終了される可能性があります。

1

どのような種類の規格にも準拠していますか?一般的に開発者はテスト環境にアクセスして問題を解決できるようにしたいと考えています。しかし、開発者が本番システムに同レベルのアクセス権を持たせることは、必ずしも良い考えではありません。

+0

現時点ではありませんが、それは私が変更しようとしているものです。今はすべて無料です。デベロッパーボックスを直接プロダクションに私たちが遵守するためにそこにはどんな基準がありますか? –

+0

@Abe Miessler:いくつかの大きな業界だけでなく、業界ごとに知られている標準はまったくありません。たとえば、クレジットカード情報を取得した場合、PCIコンプライアンスは非常に重要になります。 – David

5

同じマシン上で環境のアップデート(新しいバージョンのphp/perl/python/apache/kernel/whatever)をテストして生産するのは本当に難しいでしょう。

+0

優れたポイント。私たちは実際にこの権利を今実行しています... –

1

理論上、はい。開発時には、@Odedのように間違っている可能性のあるものがたくさんあります。専用のWebサーバーでメインサイトを稼働させることで、データベース、仮想ホストなどが重複することを避けることができます。test.mysite.comを一般公開することもできます。

多くの場合、私がする最初のことは、企業のウェブサイトを訪れることです。サイトにアクセスできない場合は、簡単にでも、それはプロフェッショナルではなく、私はすぐに関心を失います。余分なコンピュータを1台購入するには安価だったので、ビジネスを失いたくはありません!

編集:上記のコメントから、これは実際にビジネスサーバーであることがわかります。回答が更新されました。

0

プラットフォーム固有の質問ではないので、私は一般的な形式で回答しようとします。私はすべての一般的な予防措置がとられている場合、 "ドメイン名"は非常に簡単に変更する必要がありますので、あなたの質問の "同じマシン"部分だけを参照しています。

本当に必要なのは、環境を隔離することです。使用される技術によっては、「別のマシン」を意味する場合もあります。

例として、世界の多くの小規模から中規模の銀行は、1つのメインフレーム上で重要なシステムを実行しています。これらの獣の1つが(周辺機器とすべての)6桁のコストを払うのは珍しいことではありません。その中には、開発とテストのための別々の小型マシンがある一方で、同じマシン上で何百ものVMを実行するものがあります。難しい詳細は、メインフレームのハードウェアとOSが、ディスク、CPU、通信チャネル、資格証明書、ライブラリ、OSモジュール、DBなどを割り当てて、それらの環境間で本物の一貫性のある分離を提供することです。あなたが望むように。

他の多くのプラットフォームの問題は、環境を隔離する方法を見つけることはあなた次第であり、恐竜のプラットフォームはHALの恩恵によって提供されるということです。

HTH!

0

「良い、悪い、私は銃を持つ男だ」 - 灰

実際には範囲は不正です。あまりにも短い変数名を使用すると、マザーボードを電源が差し込まれた状態で濡れた手で置き換えることから、あなたが本当に知りたいのは、トレードオフです。あなたは明らかにいくつかの利点を知っているか、テスト用に実動サーバーを使用することについて考えていないでしょう。

大きなコードは、で実行されているテストコードで、生産のある環境ではです。サンドボックスがない場合(プロセスの制限、メモリの制限、ディスクの制限、chrootファイルシステムなど)、プロダクションサーバーに影響を及ぼす危険性があります。特定のリソースをすべて消費することによって、誤って自分のDOSを実行する可能性があります。誤って本番サイトを削除する可能性があります。誰かが負荷テストをしても大丈夫だと思うかもしれません。これらのリスクを抱えても問題がなければ、運用サーバー上でテストアプリケーションを実行することができます。

ところで:それは悪いです。

関連する問題