横河電機におけるsplunk devops活用 データ分析で …devopsとは...
TRANSCRIPT
Splunk Live! 2018 | Jun 8, 2018 | Rev 1.1© Yokogawa Electric Corporation
横河電機におけるSplunk devops活⽤データ分析で繋がるdevopsチーム
1
藤原 匠横河電機株式会社IAシステム&サービス事業本部 システム開発センターシステムソフトウェア技術部 ソリューション開発課Jun 8, 2018
横河電機株式会社Yokogawa Electric Corporation⼤正4年(1915年) 9⽉1⽇4,066億円(連結)67.9%18,329⼈(連結)制御、計測、情報⽯油、化学、ガス、電⼒、鉄鋼、紙パルプ、薬品、⾷品など
商 号
創 ⽴売 上 ⾼海外売上⽐率従業員数事業領域お客様業種
会社概要
(2017年度実績)
2
グローバルオペレーション
3
3
ビジネスの発展を⽀えるグローバル体制
横河電機株式会社東京 武蔵野
Yokogawa Corporation of America(⽶国)
Yokogawa China(中国)
Yokogawa Middle East & Africa
(バーレーン)
Yokogawa Europe(オランダ)
Yokogawa Electric InternationalYokogawa Engineering Asia
(シンガポール)
Yokogawa Electric CIS(ロシア)
Yokogawa Americado Sul
(ブラジル)
Yokogawa Electric Korea(韓国)
Yokogawa India(インド)
関係会社
国内13社 海外99社
⽣産制御関連製品
⽣産制御システムCENTUM VP
フィールド機器 / 分析計 / レコーダ
⽣産制御システムネットワークベース⽣産システムSTARDOM
安全計装システムProSafe-RS
レンジフリーコントローラFA-M3V組み込みコントローラe-RT3
差圧・圧⼒伝送器DPharp EJX
コリオリ式質量流量計ROTAMASS Prime
フィールド無線⽤温度伝送器YTA510
レーザガス分析計TDLS8000
ペーパレスレコーダGX10/GX20
ガスクロマトグラフGC8000
4
⾃⼰紹介
n 名前: 藤原 匠 (ふじわら たくみ)u IAシステム&サービス事業本部
システム開発センター システムソフトウェア技術部n 主要業務
u弊社ソフトウェア製品の開発インフラ構築・運⽤及び、ビルド実施、インストーラ開発
n devops歴: 5年
5
6
DevOpsについて
⽇本におけるDevOpsの実施状況
20%
80%
DevOpsの実践状況に関するユーザ調査結果
何らかの実践をしている
実践をしていない
7
https://www.idcjapan.co.jp/Press/Current/20171031Apr.html
DevOpsとは︖
n 2009年に写真共有サービスのflickrのエンジニアが発表したプレゼンテーションが源流
n 利害対⽴しがちな開発者と運⽤者を、マインドセットの共有とベストプラクティスの実践よって繋ぎ合わせ、開発プロジェクトを円滑に進める開発⼿法
8
なぜWebサービスのDevとOpsが利害対⽴するのか︖
n 原因: DevとOps互いの⽬的が相反しているからuDev: 新しい機能を追加することuOps: 安定したサービスを顧客へ提供すること
n 問題点:uビジネスのスピードが上がらず、価値も⾼まらない
9
DevOpsの⽬的
n ビジネスのスピードアップと価値を⾼めること
10
DevOps
AgileLeanstartup
DevOpsのマインドセット
11
尊敬
信頼
健康的な態度
⾮難を避ける
DevOps 主要プラクティス
12
⾃動化されたインフラストラクチャ
共有されたバージョン管理
ワンステップビルド&デプロイ
IRC・ IMボット
メトリクスの共有
フィーチャーフラッグ
DevOpsからdevopsへ
n 『devopsは、情報のサイロを壊し、関係を観察し、チーム間で発⽣する誤解を解消するための反復的な取り組みを強調するプロフェッショナルで⽂化的な運動※』
n 業種・ロールを問わず取り組める考え⽅へ
13
※Jennifer, Davis. ;Ryn, Daniels. Effective DevOps 4本柱による持続可能な組織⽂化の育て⽅. 吉⽻⿓太郎監訳. ⻑尾 ⾼弘訳. オライリー, 2018, P.xv
Enterprise devops
n 海外では、業種を問わずEnterprise企業におけるdevops事例が共有されはじめている
n DevOps Enterprise Summit 2017uhttps://github.com/devopsenterprise/2017-San-Francisco
14
Agile開発やリーンスタートアップと同じように企業規模の⼤⼩に関わりなくdevopsが⼀般化しつつある
15
DevOps5年間の歩み
弊社のdevops活動タイムライン
2013年• ひとりで
2014年• チームで
2018年• 部⾨・製品を超えて
16
17
2013年 ひとりではじめたDevOps
部署異動をきっかけに…
n 製品理解のためテスターとして従事していたn インストール作業に5時間以上必要な製品のテストを担当
18
5時間後…
19
インストール作業⾃動化の模索
n OSの設定・アプリのインストールをChefで⾃動化uインストール作業の⾃動化を実現
n 社内のインストール作業時間を数千時間削減uソフトウェア開発⼯程u国内・海外拠点での出荷作業
20
Infrastructure as Codeの効果とDevOpsについて知るきっかけとなった
21
2014年 チームで取組んだDevOps
当時、私達のチームが担当していたプロジェクト
22
1990年代から開発開始
開発者200名以上
ソース規模数千万⾏
当時の製品ビルド業務をとりまいていた状況
n ビルド開始から完了まで24時間n ビルド作業の⼯程に⼿作業が散在n ビルドタスクの実⾏制御が貧弱
23
ビルドが遅く、作業に⼿間がかかっていた
製品ビルド業務でDevOpsを実現するために
n CIツールによるビルドタスク⾃動化・最適化n ビルドシステムを⾒直しn ボトルネックとなっていた処理の改善
24
結果: ビルド全⾏程の完全⾃動化と24時間から5時間へ実施時間短縮を実現
25
2018年 部⾨・製品を超えて
社内devopsユーザ会発⾜
26
devopsの知⾒を部⾨・製品を超えて社内へ共有開始
27
DevOpsへの取組みを振り返って…
私達はdevopsで何が変わったのか︖
28
チームパフォーマンス
x4以上開発効率改善
⾃動化スキル⼤幅向上
devopsマインドセットの
定着
私達のdevops活動が成功した要因
上司・リーダの⽀援
情報システム部のIT利⽤促進
チームメンバーの改善マインド
29
devops活動 次のステップへ
n 開発インフラにまつわる改善活動は⼀巡u次のステップで取り組むべきこととは︖
30
でメトリクスの共有化へチャレンジを開始
31
を⽤いた
ソフトウェア開発データ分析
弊社のSplunk利⽤分野
基幹システム
SAP
ARIBA
BI
セキュリティ
WAF
Box
AD分析
ソフト開発
devops
システム監視
アプリケーション
コールセンター
お客様サイト監視
インストール情報
会員サイト
製品ライフサイクル
32
Splunkとの出会い
n 社内で開催されたSplunk勉強会uセキュリティ視点の勉強会だった
n ソフトウェア開発にまつわるデータを試しに投⼊したところ…
33
簡単にデータが可視化できることに感動
ソフトウェア開発データ分析対象データ
n ソフトウェア開発メトリクスデータuソースコード⾏数増減、健全性を表す数値(例: 複雑度)
n ソフトウェア開発における開発者の活動ログuソースコード変更履歴・投⼊⼯数
n ソフトウェア開発における障害情報u障害内容・原因・修正内容・オープン・クローズ⽇時
n 各種ツールのログuビルド、CIツール、⾃動テスト
34
ソフトウェア開発データ分析のあるべき姿
n メトリクス取得ツールに縛られない⾃由な環境の構築n 異なるデータタイプを組み合わせた分析の実現n ⾃動化された各種データ収集機能の実現
35
を⽤いて理想の環境を実現︕
ソフトウェア開発データ分析対象データ投⼊フロー
36
CIサーバ
S3 Bucket 前処理サーバ
TFSサーバOffice LAN
Splunk統合基盤
2.API呼出
1.データ投⼊指⽰
3.保存4.取込
⾃動で最新分析対象データを へ投⼊できる
37
1. ソフトウェア開発の活動可視化
1. ソフトウェア開発の活動可視化
n 利⽤データu開発者がソースファイルへ変更を加えた履歴情報
Øバージョン管理システム(TFS)の修正ファイル・⽇時の情報
n 集計⽅法u開発者がソースファイルへ変更を加えた回数を機能毎に集計
38
1. ソフトウェア開発の活動可視化
39
平均値
⼤量変更
機能で⾊分
40
2. 障害チケットの消化状況可視化
2. 障害チケットの消化状況可視化
n 利⽤データu製品障害チケット情報
Ø製品障害チケットのオープン・クローズ情報
n 集計⽅法u製品障害チケットのオープン・クローズ期間を機能毎に集計
n 備考uプロジェクトマネージャとのミーティングで要望を受けて作成
41
2. 障害チケットの消化状況可視化
42
中央値が半⽉以上1か⽉程度
43
3. AIを⽤いた障害チケット担当者予測
3. 障害チケット担当者の予測
n 利⽤データu障害チケットが含むキーフレーズ情報u製品障害チケット情報
Ø障害原因や対策コメントと修正担当者
n ⽤途u障害チケットの担当者割当の⾃動化
44
Splunk Machine Learning Toolkitで実現
3. 障害チケット担当者の予測 〜 キーフレーズの抽出 〜
45
AWSComprehend
Splunk
Issue 123
障害内容Description
障害チケット
キーフレーズ抽出
ID, KeyPhrase123, .Net 3.5123, Thread123, Lock…
3. 障害チケット担当者の予測 〜 学習 〜
46
Issue 123
障害内容Description
担当者
障害チケット
ID, KeyPhrase123, .Net 3.5123, Thread123, Lock…
キーフレーズ
担当者
Key Phrase1Key Phrase2Key Phrase3
障害担当者とキーフレーズ
MLTK Model
⽣成 学習
Splunk
3. 障害チケット担当者の予測 〜 予測 〜
47
MLTK Model
KeyPhrases ⼊⼒ 担当者出⼒
Issue 123
障害内容Description
新規障害チケット
ID, KeyPhrase123, .Net 3.5123, Thread123, Lock…
キーフレーズ
検索
Splunk
3. 障害チケット担当者の予測
n モデルの精度
n どうやってこの取り組みに⾄ったのか︖uパートナーのマクニカネットワークスさんとの協⼒によるもの
48
7割以上の適合率
49
まとめ
まとめ
n devopsは対象を拡⼤し成功事例が多く報告されているn Splunkで開発データを様々な観点から⾃由に分析できるn Splunkを⽤いて開発データを分析することで開発プロジェク
トにおける迅速な意思決定や問題の発⾒・対応を⽀援できる
50
を⽤いたデータ・分析結果を共有することでデータ分析で繋がるdevopsチームを実現︕
Have a nice devops journey Jご清聴ありがとうございました
51ここで使⽤されている会社名、商品名は、各社の登録商標または商標です。