障害時の戻し方は一つではありません。
| 方法 | 内容 | 向く状況 |
|---|---|---|
| ロールバック | 前の版へ戻す | 変更が独立し、旧版が動く |
| ロールフォワード | 追加修正を出す | データを戻せない、小修正で直る |
ロールバックできない例
新しいDB列へデータを書き、古い列を削除した後では、旧アプリへ戻しても動かない可能性があります。コードだけでなくデータ互換性を確認します。
判断材料
- 利用者への影響と緊急度
- 問題箇所を特定できているか
- 旧版と現在データの互換性
- 修正の大きさと検証時間
- 戻した時に失われる変更
事前に決める
障害中に初めて考えず、リリース前に戻すコマンド、判断者、確認指標を用意します。
戻せるかどうかはデプロイ機能ではなく、コード・設定・データを含む設計で決まります。