よく聞くけど言葉としては整理してなかった運用についてメモしてみる。
ブルーグリーンデプロイメント
2つの本番環境をブルー/グリーンとして、
本番環境を交互に切り替える方法。
ブルー環境がアクティブな本番環境とき、
グリーン環境に新機能をリリース後に
ロードバランサーなどによってアクティブ本番環境を切り替えることで
スムーズな本番切り替えができる。
Red Hatのブルーグリーン・デプロイメントとはの図がわかりやすい。
※切り替えの一瞬だけがどのサーバーにも接続しない時間となり、ダウンタイムはほぼゼロ。
カナリアデプロイ
一部のユーザーのみ利用できるようにリリースして、
新機能のテストを行って問題がなければ公開する方法。
2つの本番環境があれば、
1つのサーバーに新機能をリリースしてテストを行う。
ここで問題が発生すれば前のバージョンに戻す。
気になっている部分
テストを行うところがブルーグリーンとの違い。
デプロイ後の軽い動作確認ではなく、
一部のユーザーが利用できる状態の本番環境で
念入りにテストする期間を一定期間つくると計画するところが違うのだろうか。
ローリングデプロイメント
複数のサーバーがある状態で、
サーバーをロードバランサーから1台ずつ切り離して順にデプロイ方法。
常にいずれかのサーバーには割り振られる状態を作ることができる。
※デプロイ中もいずれかのサーバーには接続できるので、ダウンタイムゼロ。