【ろーりんぐあっぷでーと】
ローリングアップデート とは?
💡 サービスを止めずに1台ずつ入れ替える「無停止アップデート」
📌 このページのポイント
- サーバーを1台ずつ(または数台ずつ)順番に新バージョンへ更新する
- 更新中も残りのサーバーがリクエストを処理するのでダウンタイムがゼロ
- 問題が発生したら途中で停止して旧バージョンに戻せる
- Kubernetesのデフォルトのデプロイ戦略として広く使われている
ローリングアップデートって全部一度に更新するのとどう違うの?
全台一斉更新だと、その間サービスが止まるよね。ローリングアップデートは例えば10台中2台ずつ更新して、残り8台でリクエストを捌き続ける。全部終わるまで時間はかかるけど、利用者はダウンタイムを感じないんだ。
Blue/Greenデプロイとの違いは?
Blue/Greenは旧環境と新環境を丸ごと用意して一気に切り替える方法。一瞬で切り替わるし戻すのも簡単だけど、環境が2倍必要だからコストがかかる。ローリングアップデートは追加のインフラが最小限で済むのがメリットだよ。
ローリングアップデートの途中で問題が起きたらどうするの?
ヘルスチェックで新バージョンのサーバーが正常に動いているかを確認して、異常があれば更新を停止する。Kubernetesなら`maxUnavailable`と`maxSurge`を設定して「同時に止めていいのは何台まで」「追加していいのは何台まで」を制御できるよ。
ローリングアップデート中に新旧バージョンが混在するのって問題にならないの?
📖 おまけ:英語の意味
「Rolling Update」 = 回転式の更新
💬 Rolling(転がる・順繰りの)+ Update(更新)。ローラーのように端から順番に塗り替えていくイメージだよ