インフラ・クラウド・DevOps · 入門
環境:開発、テスト、本番
一行でいうと: 同じ定義から構築された三つの環境、設定とデータのみが異なる——他の違いはすべて、見つかるのを待つバグだ。
なぜ重要か
「自分のマシンでは動いた」はほぼ常に環境の差だ:異なるバージョン、欠けている変数、存在する権限。環境が同じソースから構築されると、差異は設定のみに縮小する。
何が異なり、何が同一か
同一:バージョン、構造、デプロイメントプロセス、データベーススキーマ。異なる:アドレス、シークレット、リソースサイズ、データ。
本番データはそのままテスト環境にコピーされない。現実的なデータが必要なら——マスクまたは合成データを生成する。これはプライバシーの要件であり衛生管理だ。
一時的な環境
各変更のために作成されマージ後に削除される環境は、レビューを劇的に短縮する:見て想像するだけでなく確認できる。二人目のチームメンバーから価値がある。
さらに深く
環境をコードとして管理し、ゼロから環境を再現できるようにする。テスト:もし今朝すべてのサーバーが削除されたら、すべてを再構築するのにどれくらいかかるか?答えが不明なら、これはインフラではなく蓄積された手動アクションの山だ。