流れ8の9語目 / 10

本番環境・検証環境

開発

インデントを直してCIが通り、レビューも済んでマージされたので、「じゃあ反映してみます」と、開いていた本番用のクラウドのアカウント(本番の環境が入っている、契約・管理の単位)のまま実行しようとしたら

「本番で試さないで。まず検証環境でね」
「本番環境・検証環境」って、何のことだろう…?

本番環境は、利用者が実際に使っている環境です。

検証環境は、本番とできるだけ同じ形に作った、試すための環境です。変更はまず検証環境で確かめ、問題がないと分かってから本番に出します。

このページで分かること読む 約3分・問題 2問
  • 本番環境は、利用者が実際に使っている環境
  • 検証環境は、本番とできるだけ同じ形に作った、試すための環境
  • ふつうは「開発環境 → 検証環境 → 本番環境」の順に進める
  • 本番のお客さんのデータを検証環境にそのまま持ち込まない

身近な例えで理解する

劇では、本番の前に、同じ舞台・衣装・照明で通しのリハーサルをします。リハーサルで台詞を間違えてもやり直せますが、お客さんの前の本番ではやり直せません。

  • お客さんの前の本番本番環境
  • 通しのリハーサル検証環境
  • 同じ舞台・衣装・照明でやる本番と同じ形に作る
  • リハーサルで間違いに気づいて直す検証環境で問題を見つけて直す

リハーサルを本番と同じ条件に近づけるほど、本番での失敗が減ります。

ちょっと確認

Q1先輩のひとこと
先輩「本番で試さないで」

いちばんの理由は?

例えを外して、実際のしくみ

ここからは実際のしくみ
本番環境

利用者が直接使っている環境です。設定を間違えると、そのまま仕事が止まったり、お客さんに迷惑がかかったりします(→70 インシデント対応)。英語では production(プロダクション)と呼ばれ、「本番」「プロダクション環境」とも言います

検証環境

本番に出す前の最後の確かめに使う環境です。会社によって「ステージング環境」などとも呼びます。開発と本番の間に「テスト環境」をさらに分けることもあります。本番とできるだけ同じ形にしますが、費用を抑えるために台数や大きさは小さくすることもあります。同じIaCのコード(→77 IaC)から作ると、形をそろえやすくなります

段階を分ける

よくある流れは、「開発環境(作りながら試す)→ 検証環境(本番前の確かめ)→ 本番環境」です。少なくとも、本番とそれ以外は分けておきます

取り違えと、データの扱い

本番と検証は見た目が似ているので、今どちらを触っているかを取り違える事故が起きます。アカウントや名前、画面の表示で区別できるようにします。また、本番のお客さんのデータを、守りがゆるいことが多い検証環境にそのまま持ち込まないようにします

このページのまとめ

本番環境
利用者が実際に使っている環境
検証環境(ステージング)
本番とできるだけ同じ形に作った、試すための環境
開発環境
作りながら試すための環境
環境を分ける
本番に出す前に、本番以外の場所で確かめられるようにすること

先輩のひとことの意味

先輩「本番で試さないで。まず検証環境でね」

「利用者が使っている本番環境で、いきなり変更を試すのはやめて。本番と同じ形に作ってある検証環境で先に反映して、問題がないことを確かめてから本番に出そう」という意味です。

練習問題で確かめる

Q24択

検証環境の作り方として、いちばんよいものは?

参考資料

ご意見・「これで例えて!」を募集しています

ご意見・ご感想・質問・間違いのご指摘など、何でもお気軽にお寄せください。「この言葉も例えで説明してほしい」「こんな例えなら分かりやすい」という声をもとに、新しいページや例えを作ります。

  • 説明してほしいITの言葉
  • 例えてほしい場面(部活・アルバイト・家事など)
  • 分かりにくかったところ・間違いのご指摘

意見箱は準備中です。

解説・例え・練習問題はすべてオリジナルです。参考にしているのは公式ドキュメントのみです。ご意見・ご感想・間違いのご指摘など、何でもお寄せください。確認してすぐに直します。

LinuCはLPI-Japanの登録商標です。当サイトはLPI-Japanおよび他の企業・団体とは関係ありません。

運営:core