BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース Electric CloudがDevOps向けの予測分析機能をローンチ

Electric CloudがDevOps向けの予測分析機能をローンチ

原文(投稿日: 2018/07/03)へのリンク

ElectricFlow DevOps Foresightでは、リリースパイプラインのパターン識別にディープラーニングを導入して、ソフトウェアリリースの成功可能性を評価し、パイプラインのパフォーマンスとアプリケーション品質を漸進的に向上するためのレコメンデーションを生成している。

DevOps Foresightは、DevOpsツールチェーンによって生成されたデータにマシンラーニングのアルゴリズムを適用して、リリースの成果を予測するリスクスコア・メトリクスを事前に作成する。予測分析を使用して、開発者の影響とコードの複雑性に基づいた、パイプラインの改善方法に関する重要なレコメンデーションも提供する。

DevOpsチームに対しては、既存の開発プラクティスやリリースパターンに対する洞察を得ることによる、“リリースへの不安”の原因を削減するために必要なステップが用意されている。ソフトウェア提供プロセス全体のボトルネックや非効率性を突き止めたり、新しい複雑なアプリケーションと環境要件に対するリソース割り当てを理解することも可能だ。

DevOps Foresightは、過去の成功と失敗のパターンに対する深い洞察に基づいて、リリース成功の可能性を予測する。リリースのリスクスコアの評価値は、開発者やコード、環境プロファイルに基づいて算出されているため、特定のリリースないしパイプラインの成功の可能性を、ステークホルダが視覚的に理解することが可能になる。スコアが高ければ、エンジニアリングチームはそれらのプロファイルを確認して、そのプロファイルの中で特に何がリスクを高くしているのかを判断できる。パイプライン改善のレコメンデーションを生成するため、DevOps Foresightは貢献要因と、過去にそれらの向上に寄与したものを確認して、チームやコード、環境に対する適切な変更を提案する。

Electric Cloud CTOのAnders Wallgren氏に、ロンドンのDevOps Enterprise Summitでの発表について聞いた。

InfoQ: これはDevOpsダッシュボードなのでしょうか?

Anders Wallgren: ほとんどのダッシュボードは本質的に過去指向(backwards looking)で、“時間どおりか?”あるいは“ボトルネックはどこか?”というような疑問に、現在のフレーム内で答えるためのものです。ElectricFlowは12年ほど前から実質的なDevOpsダッシュボードを装備していて、昨年にはDevOps Insightを発表しました。ツールチェーン内でこれらのツールを使ってデータを自動収集することにより、例えば“今回のリリースにはどのJIRAストーリが含まれているか”、“今回のリリースで完了したJenkinsビルドと自動テストはどれか”、さらに時間が経てば、“そのリリースに起因する製品インシデントや問題はあるか”、といった疑問に答えられるようになります。

DevOps Foresightでは、個人とチームのスキルセットとUI/エンドユーザへの影響の両方に関して、誰が何に貢献したか、これまでの経験レベルとして何が存在するかなどに関わるデータを使用し、将来のイベントを予測するパターンを理解することによって、マシンラーニングとビッグデータをDevOpsに導入しています。この方法により、確実な証拠による直感の裏付け、事実による神話(myth)の打破、さらには“もっと早く、もっと多くできないだろうか?”、“今回のリリースは多少なりとも品質上の問題を起こすだろうか?”、といった疑問に答えることによって、ビジネス上の意思決定が可能になるのです。

InfoQ: スプリントの計画に使用する必要がありますか?スタンドアップやCDではどうでしょう?

Wallgren: ビッグデータには、粒度の重要性に疑問符があります – “木を見て森を見ず”、ということですね。私たちが探しているのは、チームか、モジュールか、あるいはアーキテクチャの一部か、という問題に対するガイダンスなのです。明確でない相関も、時間が経てば見え始めるかも知れません。

InfoQ: 従来型のモノリシックなアーキテクチャの世界では、どのように役立つのでしょう?

Wallgren: 一例として、私たちが特定の領域やモジュール、あるいはシステムにタッチしたときに、どれが高いレベルのロールバックを持っているのか、ElectricFlow Foresightの生成するリスクマップが洞察を与えてくれる、ということがあります。これは、改善活動においてどこに重点を置くべきか、あるいは、そのコンポーネントをマイクロサービスに抽出するというアーキテクチャ上の決定を検討すべきか、というガイダンスになります。

InfoQ: 予測分析は安全文化の構築に対して、どのように役立つのでしょうか?

Wallgren: 個人ではなく、成果やチームに注目することが重要です。個人を名指しすることがメトリクスの目的ではありません。そうではなく、これを適切なステークホルダに対する学習の機会として利用することで、適切なレスポンスを促進し、長いフィードバックループを緩和する上での一助とすることが可能なのです。このような予測分析の価値の多くは、疑問に対して単に答を得るだけではなく、さらなる疑問を導き出す部分にこそあります。このシステムはミニバリューストリームのように、何がアクティブで何がアイドルなのかを教えてくれます。私たちのアルゴリズムは元々、当社が以前から収集していた顧客データに基づいてトレーニングされたものですが、改善に関する会話を促すパターンを特定するという面で、新規のユーザにもそのまま有効です。

InfoQ: このコンテキストにおける予測分析に関して、今後どのような予測ができますか?

Wallgren: レコメンデーションとは、パターンを識別し、識別したパターンを予測に使用し、元データの提供と解釈を行い、マシンラーニングによって導かれた結果に基づいて、次に何をすべきかを人であるユーザに明確なガイダンスとして提供するという、究極の目標です。その先には、レコメンデーション実行の自動化 – オートノミック・コンピューティングがありますが、これははるかに先の目標だと思います!

InfoQ: ElectricFlow Foresightは、どのようなアーキテクチャをベースにしているのでしょう?

Wallgren: InsightのコアアーキテクチャはELKスタックで、ForesightがPythonで記述されたアルゴリズムを追加しています。将来的にはTensorFlowなども視野に入れていますが、まだ着手していません。

InfoQ: 現時点で、新しい機能を利用しているユーザはいますか?

Wallgren: 要件に関しては多くのユーザの協力を得ていますし、ベータ期間中はアルゴリズムをトレーニングするためのデータを提供してくれています。今後も多くのユーザが製品を使用してくれることを期待しています。それと並行して、私たちが目にしているさまざまなユースケースを考慮しながら、それらに対して適切なライセンスモデルの決定にも取り組んでいます。例えば、オートメーションやオーケストレーションではなく、分析にのみ関心がある企業の場合、これをスタンドアロンの製品として使用可能にすべきか、といったようなことです、ユースケースが何であれ、この価値を実現したいチームには、できる限りシンプルに使用できるようにしたいと思っています。

 
 

この記事を評価

採用ステージ
スタイル
 
 

この記事に星をつける

おすすめ度
スタイル

BT