爆弾処理班の憂鬱
「手順137:`config.prod.json` の3行目のフラグを `true` に書き換える」。
深夜2時、眠気まなこで実行される手動デプロイ。
一つの打ち間違いが、全サービスを停止させる。
これはエンジニアリングではなく、ロシアンルーレットです。
- リリース作業ができるのは「熟練の〇〇さん」だけだ
- デプロイ手順書がExcelで管理されており、古い記述が混ざっている
- リリースのたびに「お祈り」をしている
- 金曜日の午後には怖くてデプロイできない
人間は必ずミスをします。「注意して作業する」は対策ではありません。
01. 手順書の魔力と呪縛
手動手順書は、最初は数行から始まります。
しかし、障害が起きるたびに「確認項目」が増え、やがて読むだけで30分かかる大作になります。
手順書が厚くなるほど、読む人は減り、ミスは増えます。
必要なのは「完璧な手順書」ではなく、「手順書がいらない仕組み」です。
「負債」である。
02. CI/CDパイプラインの構築
GitHub ActionsやCircleCIを導入し、ボタン一つ(あるいはマージのみ)でデプロイが完了する世界を作りましょう。
機械は疲れません。機械は手順を飛ばしません。
「誰がやっても同じ結果になる」ことが、品質保証の第一歩です。
03. 恐怖からの解放
デプロイの心理的ハードルを下げることが、開発速度を劇的に向上させます。
「失敗してもすぐに戻せる(ロールバック)」環境があれば、挑戦は怖くありません。
デプロイを「イベント」から「日常」に変えてください。