テスト

GoogleとNetflixがオープンソースのカナリア分析ツールを共同開発、プロダクションレベルの問題発掘を目指す

次の記事

ソニー「Xperia Ear Duo」4月21日発売決定、LINE Clova対応の遮音しない左右独立イヤホン

【抄訳】
GoogleとNetflixが今日(米国時間4/10)、Netflixが内製したカナリア分析ツールを一般公開することになるオープンソースのプロジェクトKayentaのローンチを発表した。Kayentaは、Netflixで育った継続的デリバリのプラットホームSpinnakerに統合されており、それはパブリックかプライベートかを問わずほとんどすべてのクラウドで使える。今回のリリースはSpinnakerにフォーカスがあるが、しかしKayentaはそのほかの環境にも適応させられる。

カナリア分析は、概念としては単純明快である。その名前が示しているように、サービスやインフラストラクチャを展開またはアップデートしたときの大きな問題を防ぐための早期警戒システムだ。展開やアップデートの対象をユーザーやサーバーやネットワークの一部に絞って行うテスト的実施で、カナリア分析は新しいシステムの振る舞いが正しいこと、あるいは前と変わらないことをチェックする。各ステップでシステムはチェックを実行し、その展開やアップデートが、通常のテストでは問題ないが、もっと複雑なプロダクションシステムに投じられたときにも問題が生じないことを、それら各ステップで確証していく。

GoogleのプロダクトマネージャーAndrew Phillipsによると、すでにそれをやっているデベロッパーは多いけれども、しかしそれはしばしば、非公式に行われている。チームがアプリケーションをビルドすると、いくつかのサーバーにデプロイしてみて数分動かし、ダッシュボードに異状が出ていないかチェックする。そんなやり方は人的エラーにつながりやすいし、偏りもありうる。それに対してカナリア分析ツールは、いくつかの測度の値を求めて、そのコードの完成度を客観的に判定する。コードのテストは多くの企業が自動化しているが、その種のテストではコードをプロダクションに投じたときに起きる問題を捉えられないことが多い。とくにそのプロダクション環境がマイクロサービスの集合から成り、それらが予期せざる対話をし始めたような場合には、お手上げとなる。

【後略】
〔以下、技術的な話題よりも、G社N社共同開発の経緯が中心。〕

[原文へ]
(翻訳:iwatani(a.k.a. hiwa