AWSAWS環境の運用、セキュリティ、コストに関するインサイトをご提供します。新しいガイドがマシンデータの秘密を解き明かします。年連続で選出されています。Automation」を策定した制御事業では、長年培ってきた制御技術やソリューション、コンサルティングなどを融合させ、お客様の事業変革を強力に支援。Enterpriseを採用しています。匠氏は「長年にわたってインフラの構築やビルド、デプロイなどの自動化を積極的に行ってきました。自動化がひと段落したいま、データを可視化してさらなる打ち手につなげていくための仕組みが必要だと考えたのです。Enterpriseにて可視化するだけで、新たな気づきが得られるようになりました」と評価します。自動化を実現したDevOpsをさらに加速させるための可視化・共有化を目指すそもそも同社がDevOpsに取り組んだのは、DevOps関連ツールとして著名な構成管理ツール「Chef」との出会いがきっかけでした。このChefを活用してソフトウェア開発基盤の整備にかかるプロセス改善を目指すなかでDevOpsを知り、その後テストプロセスやビルド時の操作を自動化する「Jenkins」などを自社のソフトウェア開発プロセスの一部に採用。このDevOpsによるアプローチが功を奏し、結果として自動化を大幅に進展させることに成功しました。自動化のなかで得られた情報を可視化・共有化し、さらなる品質向上に向けて取り組んでいくことになったのです。現在取り組んでいる継続的インテグレーションを実施する中で、情報をリアルタイムに可視化し、常にフィードバックを得る方法が課題となっていました。過去にはプロセス可視化の仕組みを複数試した経験があったものの、なかなか現場に根付くものではなかったと藤原氏は振り返ります。「ツールが使いづらく、取得したログの有効な活用方法が不明瞭だったり、そもそも時間と手間がかかってしまったりなど、なかなか組織に根付いていかない状況が続いていたのです」。分析のためのデータ取得は可能ですが、開発者に依頼してExcelなどにログをエクスポートしてもらったり、管理しているソースコードに対して静的解析ツールをあてたうえでその結果を報告してもらったりといった、手作業で情報を収集する必要が出てきます。「我々のようなソフトウェア開発の成果物を管理する部署のために、定期的にデータを出すことに負担を感じる開発者が出てくるのは当然です。Enterpriseでした。そのきっかけは関連部署を交えて開催された社内勉強会でしたが、実はDevOpsがテーマの勉強会ではなかったこともあり、すぐに役立つかどうかは当初は未知数だったと語ります。それでも、現状の自動化プロセスにおけるワークフロー内に組み込むことで、手作業でなくとも情報収集できることを高く評価した藤原氏。Enterpriseへのデータ投入プロセスを組み込むことができる。開発者に負担をかけずに情報収集できることが分かったのです」。うまく活用できると実感したのは、実際にデータを投入したときでした。Enterpriseに投入したところ、平均を大きく超えて変更が行われた週が明らかになったり、忙しかったはずの週にあまり登録が行われていなかったりといった、これまで意識していなかった状況が明らかになったのです。データがグラフになるだけで、新たな仮説づくりにも役立つことが理解できました。これは面白いと考えたのです」と藤原氏は評価します。Enterpriseへデータが取り込まれるようになっています。データソースとしては、アプリケーション開発基盤を静的に解析するツールの結果情報をはじめ、開発者の活動ログ、バージョン管理における変更ログ、DevOps系と呼ばれる各種ツールのログ、障害ログなどがその中心です。「ビジュアル化するだけでもこれまで見えていなかったものが見えてきますし、複数のソースをかけ合わせて多角的に見ることができるのも大きな価値の1つ。データ活用のプラットフォームとして、データを価値ある情報に変えてくれることに大きな期待を寄せています」。藤原氏も、ソフトウェア開発に関連した複数のデータを投入してつなぎ合わせることで、容易に構造が想像できるようになることが大きな魅力だと語ります。「通常のDBであれば使い方を決めて構造設計を行いますが、Splunkであれば自由に取り込めるだけでなく、後から意味づけできるためとても便利です」。品質指標に関する新たな論文が発表された場合でも、データがそろっていて計算する方法が明らかであれば、すぐにSplunkで計算できます。「お仕着せの静的解析ソフトではなく、自分たちのオーダーメイドなソフトとして活用できるため、圧倒的に使いやすい」と藤原氏は高く評価します。既存データから“価値あるデータ”を生み出すSplunkまたサーチ言語であるSPLの表現力が高く、統計にさほど詳しくなくとも試行錯誤が容易だと評価します。障害情報と開発者の変更履歴を活用した例では、どのファイルを修正した後に障害が発生したのか把握できるのはもちろん、どのファイルが障害につながりやすいのか、ファイルを軸に可視化できるようになったと藤原氏。「新たな視点で分析できることで、これまで以上に有効なレビューが可能となりました」。既存データから価値あるデータが作り出せるため、ソフトウェア開発者として“楽して得する”ことにつながると語ります。他にも、Webブラウザ上で加工まで含めて処理できる使い勝手の面でも評価の声が上がっており「Webインターフェースはもちろん、Pythonなど他言語とのインターフェースを持っているのは、我々ソフトウェア開発者からするとありがたい」と藤原氏。ソフトウェア開発において動的な指標確認が可能にさらに、従来は出荷判定時など大きなイベントのタイミングでしか品質指標が確認できなかったものの、今では必要に応じて動的に指標が確認できるのは大きいと指摘します。「開発中のダイナミックデータといえば、これまでは進捗データがその中心でした。今では品質や難易度などさまざまな指標が可視化できるようになっています。出荷時に品質担保のために作成していたエビデンス資料も、今はSplunkからレポートを出すだけ。工数削減も含めたさまざまな効果が得られています」と多田氏。今後については、複数ある社内の開発部署とも連携していきながら、開発の最適化を図っていきたいと藤原氏は力説します。「センサーなどへの組み込み開発を行う部署への展開など、アジャイル開発的なアプローチを社内に広げていく流れができつつあります。Splunkをきっかけに社内の開発者コミュニティ的な環境も広がり始めていますので、開発全体を最適化していけるよう、ハブとなる情報システム部門とも連携していきたい」。近年ではソフトウェアの難易度が上がっており、テスト工数も莫大なものになっています。「ソースコードの行数やサイズだけで判断するような昔ながらのメトリクスから脱却し、難易度や開発工数などから適切なテストプロセスを算出するような、まさに開発の最適化を目指していきます」と多田氏は力説します。ToolkitなどAI技術の活用や、後段の処理につなげていくためのデータの置き場所としてのSplunk活用についても、今後検討して取り組んでいきたいと藤原氏は最後に締めくくりました。“古いソフトウェアやソースを今でも活用していることが少なくない制御業界だからこそ、自社製の古いシステムからでもデータを取り出せるSplunkの恩恵を受けています。Inc.の商標または登録商標です。他のすべてのブランド名、製品名、または商標は、それぞれの所有者に帰属します。