入社してから初めて聞いた「開発環境」と「本番環境」。
「開発環境」と呼んでいる人と「開発機」と呼んでいる人がいたり、さらに「ステージング環境」と呼んでいる人もいて、よく分からなくなってきました…。
これまでなあなあにしてきましたが、後輩にきちんと説明出来るよう調べてみました。
WEB制作をされてる方はもちろん、WEB制作会社の営業の方や制作依頼している方も、違いを知っておくとやり取りがスムーズになると思います!

そもそも「環境」ってなに?
ここで言う「環境」とは、緑や土……ではなく、Webサイトやアプリを動かすためのシステムの状態・構成全体を指します。
たとえば、次のような要素が含まれます。
- サーバーの設定(OS、メモリ容量など)
- 使用しているソフトウェア(データベース、アプリなど)
- ネットワーク設定やアクセス権限
この「環境」が違うと、同じフォームページでも動き方が変わることがあるため、Web制作では用途に応じて複数の環境を用意するのが一般的です。
開発環境・ステージング環境・本番環境の違い
■開発環境
開発者がプログラムを書いたり、デザインを調整したりする作業場です。
この環境では、エラーが出ても気にせず自由に試行錯誤できます。
basic認証などで外部からはアクセスできないようになっていることが多く、あくまで「制作中の場所」です。
■ステージング環境
開発が一通り終わったあと、実際に公開される状態に限りなく近い形で最終チェックをするための環境です。
デザインや動作に不備がないか、外部との連携が正しくできるかなどを確認します。
ときにはクライアントや社内の他メンバーと一緒に動作確認をすることもあります。
■本番環境
実際にユーザーがアクセスするWebサイトやアプリが動いている環境です。
一番大切で、安定性・セキュリティ・スピードが何よりも重視される場所です。
開発環境やステージング環境で十分にテストされたものだけがここに「リリース(公開)」されます。
修正を反映する時は以下の順番で反映します。[開発環境]→[ステージング環境]→[本番環境]
「環境」と「機」って違うの?
「機(き)」とは、サーバーやパソコンなどの機械本体を意味します。
英語で言えば「マシン」や「サーバー」にあたります。
「環境」は上で書きました通り、システムの状態・構成全体を指し、「環境」の中に「機」があります。機は複数ある場合もあります。
ですので、「開発環境」と「開発機」は別物です。
…が、やはり混合して使われることが多いようです。
基本同じもののことを指していて厳密には違う、と覚えておいて良さそうです。
以下が例です。
- 「本番環境にリリースする」→ システム全体の構成のこと。
- 「本番機が落ちた」→ 実際のサーバーが故障・停止したということ。
「環境」と「機」。どちらを使えばいいの?
WEB制作で使うなら「環境」が無難そうです。
現代のWEB制作では物理的なマシンではなくAWSやVPS、Dockerなど仮想化されたサーバーやクラウドを使用するのが一般的な為、1台のマシンに使う単位「機」より「環境」といった方がイメージも合うため誤解が少なくなりそうです。
一方で、「本番機がダウンした」など、特定のサーバーの故障やトラブルについて話す場合には、「機」という言葉の方が具体的で適していることもあるようです。
まとめ
図にまとめると以下のようになります。

こうした用語の違いを正しく理解しておくと、開発現場やクライアントとのやりとりがスムーズになると思います。「なんとなく聞いたことあるけど曖昧だった…」という方の参考になれば幸いです!