開発者のパソコンで動いたコードが、本番でも同じように動くとは限りません。データの量、サーバーの設定、外部サービスとの連携。わずかな違いが問題を起こします。ステージングは、本番とほぼ同じ構成で動かす確認用の環境で、公開前の最後のチェックに使う場所です。
店舗のオープン前に、本番と同じレイアウトと備品で、スタッフだけが集まって通し練習をする。そのリハーサルの会場にあたります。お客さんを入れる前に段取りや動線の問題を見つけておけば、当日になって「やっぱりここが違った」と慌てずに済みます。
ステージングで見つけたいもの
新しいコードは、いきなり本番へ出さず、まずステージングにデプロイして、本番と同じ条件で動くかを確かめます。手元の開発環境では気づきにくい、次のような問題をここで拾います。
- データベースの構造変更(マイグレーション)が、本番に近いデータで正しく動くか
- 外部の API やサービスとの連携が、本番と同じ設定でつながるか
- ページの表示速度が、本番に近い条件で許容範囲に収まっているか
関係者やクライアントに変更内容を見せて、承認をもらう場所にもなる。テストとデプロイを自動化したCI/CDの流れの途中に置き、自動テストのあとに人の目で確かめる、という使い方もよくあります。
本番とどこまでそろえるか
ステージングの価値は、本番とどれだけ近いかで決まります。ただし、何でも本番と同じにしてよいわけではありません。
| そろえるもの | そろえない、または変えるもの |
|---|---|
| サーバーの構成や設定 | 本番の個人情報や機密データ。そのまま使わず、隠したり置き換えたりした代わりのデータを用意する |
| 確認したものと、本番へ出すものの中身 | 誰でも入れる状態。外部からアクセスできないよう認証を設ける |
設定が本番と大きくずれていると、「ステージングでは問題なかったのに、本番で起きた」ということになります。環境の違いは一度そろえて終わりではなく、定期的に確かめておきましょう。