グーグルとネットフリックスが共同開発した分析ツール「Kayenta」とは?
執筆:Publickey 新野淳一
GoogleやNetflixのようにWebサービスを提供している企業では、そのWebサービスに次々と改良が加えられ、1日に何度も新しいリリースがデプロイされています。
しかし新しいリリースのデプロイはいきなり大規模に行われるわけではありません。リリースされるコードに対しては継続的デリバリのパイプラインの中で一通りの自動テストが行われ、ある程度の品質が保証されているはずです。しかし、それでも新しいリリースに何らかのバグなどが含まれている可能性を排除できません。
そこで新規リリースはまず、本番環境全体に対していきなりデプロイされるのではなく、ごく一部のユーザーだけに利用されるように小さな割合でリリースされます。そしてしばらくその振る舞いが観察され、問題がないと判断されてから大規模にデプロイされるのです。
一般に、このような試験的なリリースを小規模に行うこと、あるいはその対象となるリリースは「Canary Release」(カナリアリリース)と呼ばれています。
これはかつて炭鉱夫が、炭鉱のなかで一酸化炭素や有毒ガスが発生した場合にそれをいち早く察して逃げるため、そうした変化に弱いカナリアを鳥かごに入れて炭鉱に持ち込んだことに由来すると言われています。カナリアリリースは、そのリリースになにか問題があった場合にいち早く気づくためのものなのです。
「Kayenta」を公開。GoogleとNetflixが共同開発
GoogleとNetflixは、このカナリアリリースの振る舞いを自動的に分析しスコアリングするカナリアリリース分析ツール「Kayenta」を共同開発し、オープンソースとして公開しました(Googleのブログ「Introducing Kayenta: An open automated canary analysis tool from Google and Netflix」、Netflixのブログ「Automated Canary Analysis at Netflix with Kayenta」)。
☆出典は: