インフラ・クラウド・DevOps · 上級

コードとしてのインフラ

一行でいうと: バージョン管理のファイルから環境を再現できなければ、インフラではなくクリックの履歴を持っているだけだ。

原則

クラウドリソースはファイルで定義され、ピアレビューでレビューされ、自動化されたプロセスで適用される。クラウドコンソールでの手動変更はコードに戻すべき逸脱だ。

実際に与えるもの

災害復旧、同一の環境、誰が何をなぜ変更したかの履歴、そして起きる前に何が変わるかを正確に見る能力。

また:価格設定。請求書がそれを明かす前に、誰かが高いリソースを上げようとしているマージリクエストを見れる。

落とし穴

ローカルにまたはロックなしで保存された状態ファイル——並行して実行する二人が環境を破壊できる。リモートにロックして保持する。

どの変更もすべてに触れる巨大なモジュール。ライフサイクルで分割する:ネットワークとデータベースはめったに変わらず、アプリは頻繁に変わる。

さらに深く

各マージリクエストで変更プランを実行し、レスポンスに差分を表示する。ほとんどのインフラインシデントは誰もスコープを理解しなかった変更から始まり、レビューで差分を示すことでほぼ完全に防げる。