Blue-Green deployment とは、全く同じ本番環境を 2つ用意して、片方をユーザに提供し、もう片方をリリース前のテストに使う方式のことをいいます。データベーススキーマの変更に気を付ければ、ダウンタイムゼロでサービスを提供し続けられる上に、問題が起こった場合にも切り戻しが容易という特徴を持ちます。

なぜ Blue-Greenデプロイメントという名前なのか。もともと A環境、B環境と呼ぼうと思っていたけど、問題が起きたときの環境がたまたまB環境だったりしたら「なんで Aを使わなかったんだ」と理不尽に怒られるかもしれないと心配して、優劣を暗示しない色を名前に使うことにしたそうです。

Blue、Green、Orange、Yellow、… を用意したものの、運用を続けるうちに、本番環境は 2つで十分だということがわかって減らした結果、たまたま残ったのが Blue と Green だったそうです。

なお、Red環境は危険そうだから、最初から作らなかったとか。

https://gitlab.com/snippets/1846041