インフラ・クラウド・DevOps · 入門

環境:開発、テスト、本番

一行でいうと: 同じ定義から構築された三つの環境、設定とデータのみが異なる——他の違いはすべて、見つかるのを待つバグだ。

なぜ重要か

「自分のマシンでは動いた」はほぼ常に環境の差だ:異なるバージョン、欠けている変数、存在する権限。環境が同じソースから構築されると、差異は設定のみに縮小する。

何が異なり、何が同一か

同一:バージョン、構造、デプロイメントプロセス、データベーススキーマ。異なる:アドレス、シークレット、リソースサイズ、データ。

本番データはそのままテスト環境にコピーされない。現実的なデータが必要なら——マスクまたは合成データを生成する。これはプライバシーの要件であり衛生管理だ。

一時的な環境

各変更のために作成されマージ後に削除される環境は、レビューを劇的に短縮する:見て想像するだけでなく確認できる。二人目のチームメンバーから価値がある。

さらに深く

環境をコードとして管理し、ゼロから環境を再現できるようにする。テスト:もし今朝すべてのサーバーが削除されたら、すべてを再構築するのにどれくらいかかるか?答えが不明なら、これはインフラではなく蓄積された手動アクションの山だ。