それぞれの環境の規模は大幅に異なる場合がある。開発環境は通常、個々の開発者のワークステーションだが、本番環境は、データセンター内の地理的に分散した多くのマシンのネットワーク、またはクラウドコンピューティング内の仮想マシンを使う。コード、データ、および構成は並行して展開できるが、対応する層同士で接続する必要は必ずしもない。たとえば、運用前のコードは運用データベースに接続する場合がある。アーキテクチャ.展開は、完全なリリースを必要とせずに、主に緊急または比較的小さな変更を提供するために、この通常のプロセスの外で行われることがある。これは、単一のパッチ、大きなサービスパック、または小さな修正プログラムで構成されている場合があります。環境の規模は大きく異なる可能性がある。開発は通常、個々の開発者のワークステーションだが(数千人の開発者がいる場合もある)、本番環境は地理的に分散した多くのマシンである場合がある。テストとQCは、これらに充てられるリソースに応じて、小規模または大規模になる可能性があり、ステージングは、単一のマシンから本番の正確な複製までさまざまである。環境.次の表は、階層の細かく分割されたリストを示す。開発環境.テスト環境.さまざまなタイプのテストは、さまざまなタイプのテスト環境を示唆しており、その一部またはすべてを仮想化して、迅速な並列テストを実行できる。たとえば、自動化されたユーザーインターフェイステストは、複数の仮想オペレーティングシステムとディスプレイ(実または仮想)で発生する可能性がある。パフォーマンステストでは、パフォーマンステストの結果を経時的に比較できるように、正規化された物理ベースラインハードウェア構成が必要になる場合がある。可用性または耐久性のテストは、仮想ハードウェアおよび仮想ネットワークの障害シミュレーターに依存する場合がある。ステージング環境.