インフラ・クラウド・DevOps · 上級
コードとしてのインフラ
一行でいうと: バージョン管理のファイルから環境を再現できなければ、インフラではなくクリックの履歴を持っているだけだ。
原則
クラウドリソースはファイルで定義され、ピアレビューでレビューされ、自動化されたプロセスで適用される。クラウドコンソールでの手動変更はコードに戻すべき逸脱だ。
実際に与えるもの
災害復旧、同一の環境、誰が何をなぜ変更したかの履歴、そして起きる前に何が変わるかを正確に見る能力。
また:価格設定。請求書がそれを明かす前に、誰かが高いリソースを上げようとしているマージリクエストを見れる。
落とし穴
ローカルにまたはロックなしで保存された状態ファイル——並行して実行する二人が環境を破壊できる。リモートにロックして保持する。
どの変更もすべてに触れる巨大なモジュール。ライフサイクルで分割する:ネットワークとデータベースはめったに変わらず、アプリは頻繁に変わる。
さらに深く
各マージリクエストで変更プランを実行し、レスポンスに差分を表示する。ほとんどのインフラインシデントは誰もスコープを理解しなかった変更から始まり、レビューで差分を示すことでほぼ完全に防げる。