【リクリエイトデプロイ】
Recreateデプロイ とは?
💡 お店を一度完全閉店してからリニューアルオープンする改装工事方式
📌 このページのポイント
- 旧バージョンを全停止してから新バージョンを起動するため必ずダウンタイムが発生する
- 実装がシンプルで、旧バージョンと新バージョンが同時に動く複雑さがない
- データベーススキーマの変更など後方互換性がない変更に向いている
- ブルーグリーンデプロイやローリングアップデートと比べてリスクは高いが手順が明快
Recreateデプロイってどういうやり方なの?
今動いている旧バージョンのサービスをすべて停止してから、新バージョンを起動するシンプルな方法だよ。停止と起動の間はサービスが使えない「ダウンタイム」が発生するんだ。
それって困らないの?
本番サービスには辛いね。でもメンテナンス時間を設定できる社内ツールや夜間バッチシステム、ダウンタイムが許容できる開発・検証環境なら問題ないよ。
なぜわざわざ全部止める必要があるの?
データベースのスキーマを大きく変えるような、旧バージョンと新バージョンが共存できない変更のときに必要なんだよ。ローリングアップデートだと新旧が混在する期間が生まれて矛盾が起きることがあるんだ。
ブルーグリーンデプロイとはどう違うの?
ブルーグリーンデプロイは新環境を事前に用意してからトラフィックを瞬時に切り替えるので、ダウンタイムがないんだよ。ただしインフラを2倍用意する必要があってコストがかかるんだ。
Kubernetesだとどう設定するの?
📖 おまけ:英語の意味
「Recreate Deployment」 = 再作成デプロイ
💬 「recreate」は「再作成する」という意味だよ。既存の環境を一度壊して(停止して)新しく作り直すことからこの名前がついているんだ