最近、IT系の記事を見るとカナリアリリースという言葉を時々みかけます。リリースと名がついているように、ソフトウェアのリリース手法なのですが、どんなものであるかを少し調べてみました。
まず、カナリアリリースの概要ですが、下記の記事のイメージが分かりやすいです。新しいプログラムを一部のユーザに限定してリリースする方法となります。
【近年のデプロイ手法について】
https://clonos.jp/knowledge/detail14/
カナリアリリースの目的としては、新しい機能等を先行して一部のユーザに公開し、フィードバックを得るというところとなります。プログラム自体にバグなどないか、という検証はもちろんですが、ユーザにとってその新しい機能は価値があって、みんなに受け入れられるものであるか、という観点もカナリアリリースを実施する上で、大きな意味合いとなります。
【「DevOps」から「SalesEngs」へ――2018年、DevOpsの成功に必要なこと】
http://www.itmedia.co.jp/enterprise/spv/1801/19/news011.html
少し前にこのカナリアリリースで、システム面で既存環境と各種メトリクスを比較するツールがオープンソースで公開されました。こういったツールを利用しながら効果のあるカナリアリリースを実現できるとよいですね。
【GoogleとNetflix、カナリアリリース分析ツール「Kayenta」オープンソースで公開。新たにデプロイしたリリースに問題がないかを自動分析】