カナリアリリースとは新バージョンのアプリケーションをリリースする際に、従来バージョンのアプリケーションを並行稼働させ、一部のユーザーだけを新バージョンにアクセスさせる展開(デプロイ)手法のこと。新バージョンにアクセスするユーザーを炭鉱で毒ガスを検知する「カナリア」に見立てて、この名称が付けられた。

 カナリーリリース(canary release)、カナリーデプロイメント(canary deployment)、カナリーテスト(canary test)などとも呼ばれる。

 新バージョンのアプリケーションと従来バージョンのアプリケーションへの振り分け方法はいくつかあるが、ロードバランサーの機能を用いるケースが多い。この場合は一般に、ユーザーごとの振り分けではなくリクエストごとの振り分けになる。

カナリアリリースの仕組み
[画像のクリックで拡大表示]

 最初は5%や10%といった少ない割合のリクエストだけを新バージョンのアプリケーションに振り分け、問題が起きないことを確認しながら段階的に割合を増やしていく。全リクエストを新バージョンのアプリケーションに振り分けるようになったら、従来バージョンのアプリケーションを削除する。

 カナリアリリースを実践している企業としては米ネットフリックス(Netflix)が知られている。ネットフリックスは米グーグル(Google)とカナリアリリースの管理ソフト「Kayenta」を共同開発し、オープンソースソフト(OSS)として提供している。