Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
カスタマーサポートの信頼性向上 〜社内ツールにおけるSRE活動〜 - NIFTY Tech D...
Search
ニフティ株式会社
PRO
November 28, 2023
Video
Resources
Programming
580
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
カスタマーサポートの信頼性向上 〜社内ツールにおけるSRE活動〜 - NIFTY Tech Day 2023
ニフティ株式会社
PRO
November 28, 2023
Video
Resources
NIFTY Tech Day 2023
https://techday.nifty.co.jp/2023/
More Decks by ニフティ株式会社
See All by ニフティ株式会社
Embedded SREと共に達成した会員管理システムのAWS移行 - SRE NEXT 2026 ランチスポンサーセッション
niftycorp
PRO
1
2.3k
ニフティ株式会社 エンジニア向け Company Deck 2026年版
niftycorp
PRO
0
160
「なぜそう決めたのか」を残し続ける仕組み ― Notion AI カスタムエージェント × Slack連携による設計判断の自動記録 - NIKKEI Tech Talk #47
niftycorp
PRO
0
260
CS教育のDX AIによる育成の効率化
niftycorp
PRO
0
330
AI 開発合宿を通して得た学び
niftycorp
PRO
0
330
なぜISPでオリジナルカードゲームを作ったのか?制作者と対談 - NIFTY Tech Talk #25
niftycorp
PRO
0
110
「なぜかネットが遅い」を“見える化”する 〜マイ ニフティが繋ぐサポートと暮らし〜 - NIKKEI Tech Talk #39
niftycorp
PRO
0
620
InnerSource Summit 2025 Three points that promoted innersource activities
niftycorp
PRO
0
320
Maker Faire Tokyo 2025 出展うらばなし - NIFTY Tech Talk #25
niftycorp
PRO
0
120
Other Decks in Programming
See All in Programming
フィードバックで育てるAI開発
kotaminato
1
110
SREは、MCPとSRE Agentをこう使え!
kazumax55
0
150
LaravelLive Japan の裏方のすべて — 第188回 PHP勉強会@東京 (2026-06-24)
suguruooki
2
150
AI駆動開発を妨げる技術的負債の解消アプローチ / ai-refactoring-approach
minodriven
17
8.9k
Mujeres en SEO Summit 2026 - Greatest Disaster Hits en Web Performance
guaca
0
240
Signal Forms: Details & Live Coding @enterJS 2026 in Mannheim
manfredsteyer
PRO
0
220
ECSアプリログをFireLensでコスト削減しようとしたけど諦めた話 in Fargate×Node.js
akihisaikeda
2
4.2k
エンジニアと一緒にテストコードの設計と実装を改善した話
mototakatsu
0
260
Even G2とAWSで推しのエージェントを召喚しよう!
har1101
1
160
ビデオ通話が繋がる0.2秒で何が起きているのか
supurazako
2
130
エンジニア向け会社紹介/Findy Company Profile
findyinc
6
360k
言語を使う側から、作る側へ。 自作 Lisp で得た新たな気づき。
andpad
0
100
Featured
See All Featured
Ethics towards AI in product and experience design
skipperchong
2
330
The Straight Up "How To Draw Better" Workshop
denniskardys
239
140k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
6k
The Director’s Chair: Orchestrating AI for Truly Effective Learning
tmiket
1
210
Designing for Timeless Needs
cassininazir
1
300
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.8k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
10k
Avoiding the “Bad Training, Faster” Trap in the Age of AI
tmiket
0
190
Dominate Local Search Results - an insider guide to GBP, reviews, and Local SEO
greggifford
PRO
0
210
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
201
75k
The Language of Interfaces
destraynor
162
27k
Evolving SEO for Evolving Search Engines
ryanjones
0
240
Transcript
Copyright ©NIFTY Corporation All Rights Reserved. カスタマーサポートの信頼性向上 〜社内ツールにおけるSRE活動〜 インフラシステムグループ 情報システムチーム
仲上 浩豪
目次 Copyright © NIFTY Corporation All Rights Reserved. 2 自己紹介
システム紹介 アクション まとめ 自己紹介、今日の話 登録情報検索ツール(仮称:cweb)について、cwebの課題 SLI/SLO決め、測定 わかったこと、今後の展望、まとめ
仲上 浩豪(ナカガミ ヒロトシ) 入社:2021年4月 新卒入社(3年目) 所属:インフラシステムグループ 情報システムチーム 担当:カスタマーサポート向けツールの開発・保守/運用 趣味:筋トレ・ドライブ 自己紹介
Copyright © NIFTY Corporation All Rights Reserved. 3
今日の話 Copyright © NIFTY Corporation All Rights Reserved. 4 カスタマーサポートのツールにSLI/SLOを導入した話
• お客様の登録情報を確認するツール ◦ 仮称:CWEB • 具体的な手法 ◦ SLI/SLOの設計 ◦ ログからメトリクスを作成する 方法 ◦ 使用したツール
システム紹介 Copyright © NIFTY Corporation All Rights Reserved. 5 なぜCWEBを選んだのか?
お客様のご登録・ ご契約情報の確認 対応履歴・ 次アクションの登録 書面の発送
システム紹介 Copyright © NIFTY Corporation All Rights Reserved. 6 なぜCWEBを選んだのか?
お客様からの電話問い合わせ対応に必須のツールだから CWEB 起動 本人確認 お客様サポート
システム紹介 Copyright © NIFTY Corporation All Rights Reserved. 7 お客様登録情報確認ツール(仮称:CWEB)
システム紹介 Copyright © NIFTY Corporation All Rights Reserved. 8 CWEBの課題
CWEB • 可観測性が低い ◦ ログはすべてサーバ内 ◦ レイテンシなどは取得していない ◦ サーバー監視のみ ▪ 死活監視 ▪ リソース監視 ◦ 報告ベースでの対応
アクション Copyright © NIFTY Corporation All Rights Reserved. 9 SLI/SLOを決める
• (クリティカル)ユーザージャーニーの検討 • 候補となるサービス評価指標の選定 • サービス評価目標の仮ぎめ 外部から観測可能な状態にする • 監視ツールの選定 • 各種設定
アクション Copyright © NIFTY Corporation All Rights Reserved. 10 SLI/SLOを決める
• (クリティカル)ユーザージャーニーの検討 • 候補となるSLIの選定 • SLOの仮ぎめ 外部から観測可能な状態にする • 監視ツールの選定 • 各種設定
用語解説 Copyright © NIFTY Corporation All Rights Reserved. 11 (クリティカル)ユーザージャーニーとは
ユーザージャーニーとは • ユーザーがそのシステムで達成する目的 クリティカルユーザージャーニーとは • ユーザーにとって「一番価値がある」こと (クリティカル)ユーザージャーニーの決め方 • サービス概要書き出し • ユーザージャーニーを洗い出し • 優先度順に並び替える
アクション Copyright © NIFTY Corporation All Rights Reserved. 12 CWEBの(クリティカル)ユーザージャーニーを考える
CWEBのクリティカルユーザージャーニー • お客様情報の確認 • 契約コースの確認 • オプションの契約状況確認 • 請求明細、決済ステータスを確認
アクション Copyright © NIFTY Corporation All Rights Reserved. 13 SLI/SLOを決める
• (クリティカル)ユーザージャーニーの検討 • 候補となるSLIの選定 • SLOの仮ぎめ 外部から観測可能な状態にする • 監視ツールの選定 • 各種設定
用語説明 Copyright © NIFTY Corporation All Rights Reserved. 14 SLI/SLOとは
SLI (Service level indicator) サービスレベルの指標 サービスの信頼を測る物差し ex)レイテンシ、エラー率、可用性 SLO (Service level objective) サービスレベルの目標値 下回ったらインシデント ex)レイテンシ 1.0s以下 90%、1日の正常なレスポンスの割合 99.95%
アクション Copyright © NIFTY Corporation All Rights Reserved. 15 候補となるSLIの選定
社内ドキュメント SLOの作り方(やさしい) より Service SLI Type Metrics リクエスト主導型サービス 可用性 正常に処理された有効なリクエストの割合 レイテンシ しきい値よりも速く処理された有効なリクエストの割合 品質 サービスの中断なしに処理された有効なリクエストの割合 データ処理サービス 鮮度 しきい値よりも最近更新された有効なデータの割合 カバレッジ 正常に処理された有効なデータの割合 正確性 正しい出力を生成した有効なデータの割合 スループット データ処理率がしきい値よりも速い時間の割合 スケジュールされた実行サービス スキュー 予想開始時刻の許容時間内に開始される実行の割合 実行時間 許容時間内に完了した実行の割合
アクション Copyright © NIFTY Corporation All Rights Reserved. 16 候補となるSLIの選定
社内ドキュメント SLOの作り方(やさしい) より Service SLI Type Metrics リクエスト主導型サービス 可用性 正常に処理された有効なリクエストの割合 レイテンシ しきい値よりも速く処理された有効なリクエストの割合 品質 サービスの中断なしに処理された有効なリクエストの割合 データ処理サービス 鮮度 しきい値よりも最近更新された有効なデータの割合 カバレッジ 正常に処理された有効なデータの割合 正確性 正しい出力を生成した有効なデータの割合 スループット データ処理率がしきい値よりも速い時間の割合 スケジュールされた実行サービス スキュー 予想開始時刻の許容時間内に開始される実行の割合 実行時間 許容時間内に完了した実行の割合
アクション Copyright © NIFTY Corporation All Rights Reserved. 17 Service
SLI Type Metrics リクエスト主導型サービス 可用性 正常に処理された有効なリクエストの割合 レイテンシ しきい値よりも速く処理された有効なリクエストの割合 品質 サービスの中断なしに処理された有効なリクエストの割合 候補となるSLIの選定 社内ドキュメント SLOの作り方(やさしい) より クリティカルユーザージャーニー • 契約コースの確認 • オプションの契約状況確認 • 請求明細、決済ステータスを確認 画面ごとでSLOを分離
アクション Copyright © NIFTY Corporation All Rights Reserved. 18 SLI/SLOを決める
• (クリティカル)ユーザージャーニーの検討 • 候補となるSLIの選定 • SLOの仮ぎめ 外部から観測可能な状態にする • 監視ツールの選定 • 各種設定
アクション Copyright © NIFTY Corporation All Rights Reserved. 19 SLOの仮ぎめ
良いイベント 有効なイベント × 100 [%] 社内ドキュメント SLOの作り方(やさしい) より
アクション Copyright © NIFTY Corporation All Rights Reserved. 20 SLOの仮ぎめ(可用性)
(総アクセス数-エラー画面表示 数) 総アクセス数 × 100 [%]
アクション Copyright © NIFTY Corporation All Rights Reserved. 21 SLOの仮ぎめ(レイテンシ
トップビュー) (総アクセス数 -レイテンシ3秒以上のアクセス) 総アクセス数 × 100 [%]
アクション Copyright © NIFTY Corporation All Rights Reserved. 22 SLOの仮ぎめ(レイテンシ
トップビュー以外) (総アクセス数 -レイテンシ1秒以上のアクセス) 総アクセス数 × 100 [%]
アクション Copyright © NIFTY Corporation All Rights Reserved. 23 SLI/SLOを決める
• (クリティカル)ユーザージャーニーの検討 • 候補となるSLIの選定 • SLOの仮ぎめ 外部から観測可能な状態にする • 監視ツールの選定 • 各種設定
アクション Copyright © NIFTY Corporation All Rights Reserved. 24 監視ツールの選
定
アクション Copyright © NIFTY Corporation All Rights Reserved. 25 Datadogとは
• 監視のSaaSサービス • 監視対象の幅が広い ◦ ログ、トレース、メトリクス • エージェントを入れるだけで使用可能 • SLOダッシュボードの作成が容易
アクション Copyright © NIFTY Corporation All Rights Reserved. 26 SLI/SLOを決める
• (クリティカル)ユーザージャーニーの検討 • 候補となるSLIの選定 • SLOの仮ぎめ 外部から観測可能な状態にする • 監視ツールの選定 • 各種設定
アクション Copyright © NIFTY Corporation All Rights Reserved. 27 apacheログ整備
172.11.11.111 - - [25/May/2023:15:57:51 +0900] processing time: 1158 us "GET /cweb/images/tab.png HTTP/1.0" 200 1824 "http://cweb.nifty.co.jp/cweb/registerinfocsm.php?tk=0&id=testID" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 10.0; WOW64; Trident/7.0; .NET4.0E; .NET CLR 2.0.50727; .NET CLR 3.0.30729; .NET CLR 3.5.30729)" 172.26.70.139 - - [25/May/2023:15:57:51 +0900] processing time: 290996 us "GET /cweb/result.php?tk=0&id=testID HTTP/1.0" 200 12699 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 10.0; WOW64; .NET4.0E; .NET CLR 2.0.50727; .NET CLR 3.0.30729; .NET CLR 3.5.30729)" { "time": "[25/Oct/2023:16:11:04 +0900]", "forwardedfor": "-", "host": "127.0.0.1", "req": "GET /backend/info?id=testID HTTP/1.1", "status": 200, "method": "GET", "uri": "/backend/info?id=testID", "body_bytes": 5861, "referer": "-", "ua": "-", "reqtime_microsec": 510302, "response_time": 0, "cache": "-", "runtime": "-", "vhost": "127.0.0.1" }
アクション Copyright © NIFTY Corporation All Rights Reserved. 28 ログのメトリクス化(レイテンシ)
• ログを15秒間隔で区切り、データセットを作成する • 作成したデータセットのP95を求める なぜP95を使うのか? • 極端な外れ値を除外し、より精度の高い統計情報にするため ※P95とは データセットにおいて、以下の条件を満たすしきい値 • 全体の95%のデータがP95以下の値を持つ • 全体の5%のデータがP95以上の値を持つ
アクション Copyright © NIFTY Corporation All Rights Reserved. 29 ログのメトリクス化(レイテンシ)
• ログを15秒間隔で区切り、データセットを作成する • 作成したデータセットのP95を求める (総アクセス数 -レイテンシ1秒以上のアクセス) 総アクセス数 × 100 [%]
アクション Copyright © NIFTY Corporation All Rights Reserved. 30 ログのメトリクス化(可用性)
• ログを1分間隔で区切り、データセットを作成 • 各データセットの数(総アクセス数)をカウント • 各データセットの悪いイベントの数(エラー画面数)をカウント (総アクセス数-エラー画面表示 数) 総アクセス数 × 100 [%]
アクション Copyright © NIFTY Corporation All Rights Reserved. 31 ダッシュボードの整備
やってみた結果 Copyright © NIFTY Corporation All Rights Reserved. 32 •
システムの状況が一目でわかるようになった • SLOベースのアラートが上がるようになった 副産物 • システムの目指すべきところが明らかになった
今後の展望 Copyright © NIFTY Corporation All Rights Reserved. 33 •
ユーザージャーニーを見直して、システムにSLI/SLOの項目を 追加・見直しする • プロダクトオーナーと相談して、SLOをよりユーザーにそった 形にする • プロダクトのSRE成熟度向上 ◦ オンコール強化 ◦ 障害ロールプレイング
今後の展望 Copyright © NIFTY Corporation All Rights Reserved. 34 プロダクトのSRE成熟度向上
評価項目 • オンコール対応 • サービスレベル目標 • トイルの撲滅 • ポストモーテム • 監視(モニタリング) 評価段階 L0.対応していない・考えていない L1.対応はしているが、属人化 ・場当たり的 L2.チームメンバーが反復可能 L3.ベストプラクティスに基づいた反 応
まとめ Copyright © NIFTY Corporation All Rights Reserved. 35 •
社内ツールにSLI/SLOを導入してみた • ログは構造化しましょう • 社内ツールでもSLI/SLOの設定は有効