本番へ出す前に試すステージング

ステージングは、本番環境と同じ構成で動作確認するための「本番一歩手前」の環境です。

開発者のパソコンで動いたコードが、本番でも同じように動くとは限りません。データの量、サーバーの設定、外部サービスとの連携。わずかな違いが問題を起こします。ステージングは、本番とほぼ同じ構成で動かす確認用の環境で、公開前の最後のチェックに使う場所です。

店舗のオープン前に、本番と同じレイアウトと備品で、スタッフだけが集まって通し練習をする。そのリハーサルの会場にあたります。お客さんを入れる前に段取りや動線の問題を見つけておけば、当日になって「やっぱりここが違った」と慌てずに済みます。

ステージングで見つけたいもの

新しいコードは、いきなり本番へ出さず、まずステージングにデプロイして、本番と同じ条件で動くかを確かめます。手元の開発環境では気づきにくい、次のような問題をここで拾います。

  • データベースの構造変更(マイグレーション)が、本番に近いデータで正しく動くか
  • 外部の API やサービスとの連携が、本番と同じ設定でつながるか
  • ページの表示速度が、本番に近い条件で許容範囲に収まっているか

関係者やクライアントに変更内容を見せて、承認をもらう場所にもなる。テストとデプロイを自動化したCI/CDの流れの途中に置き、自動テストのあとに人の目で確かめる、という使い方もよくあります。

本番とどこまでそろえるか

ステージングの価値は、本番とどれだけ近いかで決まります。ただし、何でも本番と同じにしてよいわけではありません。

そろえるものそろえない、または変えるもの
サーバーの構成や設定本番の個人情報や機密データ。そのまま使わず、隠したり置き換えたりした代わりのデータを用意する
確認したものと、本番へ出すものの中身誰でも入れる状態。外部からアクセスできないよう認証を設ける

設定が本番と大きくずれていると、「ステージングでは問題なかったのに、本番で起きた」ということになります。環境の違いは一度そろえて終わりではなく、定期的に確かめておきましょう。