これらを利用することで開発とアプリケーションのリリースの高速化を行うことができる。新しいSaaSベースのデジタル・エクスペリエンスのモニタリング/アナリティクス・ソリューションのCA Digital Experience Insightsでは、ユーザ・エクスペリエンス、アプリケーション・パフォーマンス、インフラストラクチャ管理の全体の状況を把握可能となる。またテストの部分では軽量なSaaSベースのAPIテスト・ソリューションである「CA BlazeMeter API Test」を新たに提供し、継続的デリバリ/テスト機能の強化を行っている。そしてCAもまたAI、機械学習機能を製品に取り込んで、DevOpsのさまざまなプロセスの自動化に取り組む。
たとえばもともと得意としているメインフレームの領域では、CA Mainframe Operational Intelligenceを提供する。これでは機械学習と自動化の技術を利用しており、さまざまなパターンを捉えて動的に異常を検知し、自動で修復する機能を持っている。ユーザーはこれを利用することで、SLAに影響が出る前に問題を早期に予測して自動で解決できる。
これら新たな取り組みを発表したCAのDevOpsの戦略について、プロダクト・ソリューションのマーケティング担当ディレクターのキーラン・テーラー氏に話を訊いた。
リスクコントロールに2つのアプローチ
―基調講演ではモダン・ソフトウェア・ファクトリを導入して企業がビジネスを革新するには、リスクを回避するのではなくコントロールするべきだとの話がありました。CAではリスクを管理するためにどのようなアプローチがありますか。
テーラー氏:リスクのコントロールとしては、2つのものがあります。1つがセキュリティの管理のアプローチで、もう1つがアプリケーションのパフォーマンス管理のアプローチです。これまでのソフトウェアの開発では、アプリケーションができた後にセキュリティのコントロールをしてきました。CAの提唱するモダン・ソフトウェア・ファクトリでは、セキュリティコントロールをソフトウェアの構築段階で実施します。リスクマネージメントは、事前に行う必要があるからです。
パフォーマンスのリスクについても、実際にアプリケーションを使って起こるであろうことを事前に想定して、実際同様な状況を作ってあらかじめテストを行います。
―今回、CAではDevSecOpsという新たなユニークなキーワードを提示しました。DevOpsにセキュリティが入れ込んであるのですが、これもDevOpsを進める中で発生するリスクを適切に管理するためのソリューションでしょうか?
テーラー氏:その通りです。DevOps自体は、開発と運用のチームをコラボレーションさせるためのものです。両者がコラボレーションする際に、セキュリティを入れるというのがCAの考え方です。チームでコラボレーションする際には、セキュリティの確保は重要な要素です。DevOpsでは開発の初期の段階からセキュリティを意識する必要もありますし、運用のところでも継続的なデリバリー行う際にセキュリティは常に気にしておく必要があります。
CAでは、このDevSecOpsを実現するために、既にさまざまな製品を提供しています。買収したコードレベルでセキュリティチェックを行うVeracodeもその1つです。これを使えば、開発者はセキュアなコード開発を容易に実現できます。
―今回のCA World 2017では、AI、機械学習もキーワードとしてたびたび登場しています。具体的には機械学習技術などで、DevOpsのどの部分が自動化されるようになるのでしょうか?
テーラー氏:まず実現できるのは、デジタル・エクスペリエンス・インサイトのところです。ユーザーがアプリケーションを実際にどう使っているかのところに、データ分析とデータサイエンスの技術組み込まれ、利用のパターンを見出してどのように改良すればいいかを自動でリコメンドできるようになります。
その他にもアプリケーション・パフォーマンス管理やネットワークパフォーマンス管理のところからデータを集め、そのデータに機械学習のエンジンを適用してリ自動でコメンドができるようにもします。
―アジャイルで開発のスピードを上げていく際に、速いサイクルで変化を続けるソフトウェアの品質をどう担保するのかが課題になると思います。アジャイル開発を取り入れていく際には、企業はソフトウェアの品質に対する考え方を変える必要がありますか?
テーラー氏:アジャイル開発ではイノベーションのスピードがかなり速くなるので、それに合わせてソフトウェアの品質に対する対処方法や考え方を変える必要があるでしょう。いくつかの会社では、なるべく早い段階で問題を見つけるようにすることを考えています。そのために、安定版と安定性よりも新機能を速く使えるバージョンの2つを同時に市場に提供するという方法とっています。
また限定的な少数のユーザーにだけソフトウェアをリリースして、そこで評価を行い問題を解決してから一般に公開するという企業もあります。こういったやり方は、「カナリアテスト」とも呼ばれています。かつて炭鉱などで危険をいち早く察知するために、掘削の現場にカナリアを持ち込んでいたことに由来します。まずは小規模に展開して、変化にいち早く対応できるようにするのです。