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
IoTサービスにおけるSLI設計とLUUPでの実践
Search
gr1m0h
June 03, 2024
Technology
2.4k
1
Share
IoTサービスにおけるSLI設計とLUUPでの実践
gr1m0h
June 03, 2024
More Decks by gr1m0h
See All by gr1m0h
サービス影響を出さずにWafCharmを導入する
grimoh
0
110
インシデント対応入門
grimoh
8
6.5k
フルリモートを支える技術
grimoh
0
100
マイクロモビリティシェアサービスを支える プラットフォームアーキテクチャ
grimoh
1
670
"君は見ているが観察していない"で考えるインシデントマネジメント
grimoh
4
3.9k
Enabling Client-side SLO
grimoh
7
5.6k
Luupの開発組織におけるインシデントマネジメントの変遷 ver.RoadtoSRENEXT2024
grimoh
2
1.1k
Luupの開発組織におけるインシデントマネジメントの変遷
grimoh
2
1.9k
Luupの開発組織におけるインシデントマネジメントのこれから
grimoh
2
1.5k
Other Decks in Technology
See All in Technology
サイバーセキュリティ概論 / Introduction to Cybersecurity
ks91
PRO
0
130
Terraformモジュールは、なぜ「魔境」化するのか
hayama17
1
180
実装は速くなった、レビューはどうする? ― 自身のレビューをAIで再現させるサーヴァントエンジニアリングのすゝめ / Implementation got faster. So what about reviews? — An invitation to Servant Engineering: Recreating your own code reviews with AI
nrslib
6
3.1k
AI-DLCを活用した高品質・安全なAI駆動開発実践 / AI Driven Development with AI-DLC
yoshidashingo
0
110
Datadog 認定試験の概要と対策
uechishingo
0
230
先取りMaven4 ~16年ぶりのメジャーアップデート、その進化とは?~
ogiwarat
0
140
Ruby::Boxでできること、Refinementsでできること
joker1007
3
380
トークン数だけでは測れない — Claude Code 組織展開の効果検証から学んだこと
makikub
0
120
価格.comをAI駆動で全面刷新する ー 30年分の技術的負債を返し、次の30年の土台をつくる ー / AI Engineering Summit Tokyo 2026
tkyowa
38
40k
【Gen-AX】20260530開催_JJUG CCC 2026 Spring
genax
0
400
AI Adaptable なテストを整える工夫 / Ways to Make Your Tests AI-Adaptable
bitkey
PRO
2
210
探して_入れて_作って_使う_Agent_Skills___LT.pdf
peintangos
2
160
Featured
See All Featured
The Organizational Zoo: Understanding Human Behavior Agility Through Metaphoric Constructive Conversations (based on the works of Arthur Shelley, Ph.D)
kimpetersen
PRO
0
350
Java REST API Framework Comparison - PWX 2021
mraible
34
9.3k
ラッコキーワード サービス紹介資料
rakko
1
3.5M
Sam Torres - BigQuery for SEOs
techseoconnect
PRO
0
280
Lightning talk: Run Django tests with GitHub Actions
sabderemane
0
190
Building Better People: How to give real-time feedback that sticks.
wjessup
370
20k
Making the Leap to Tech Lead
cromwellryan
135
9.9k
Conquering PDFs: document understanding beyond plain text
inesmontani
PRO
4
2.8k
How to Talk to Developers About Accessibility
jct
2
220
Balancing Empowerment & Direction
lara
6
1.1k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.5k
Breaking role norms: Why Content Design is so much more than writing copy - Taylor Woolridge
uxyall
0
310
Transcript
機密・専有情報 株式会社Luupによる個別の明示的な承諾を得ることなく、この資料を使用することを固く禁じます。 Wataru Tsuda / gr1m0h 2024.6.3 IoT Expands! -
IoTサービスにおけるSREの勘所 - IoTサービスにおけるSLI設計と LUUPでの実践
Luup, Inc. - Confidential and Proprietary 2 whoami Wataru Tsuda
/ gr1m0h Reliability Engineer @Luup,inc. SRE Lounge / SRE NEXT 運営メンバー Platform Engineering Meetup 運営メンバー Lives in Hiroshima
Luup, Inc. - Confidential and Proprietary 3 0. 事業説明 1.
SLI/SLOについて 2. IoTサービスでSLIを設計するときに考えること 3. LUUPでのCMC based SLI 4. まとめ
Luup, Inc. - Confidential and Proprietary 4 0. 事業説明 1.
SLI/SLOについて 2. IoTサービスでSLIを設計するときに考えること 3. LUUPでのCMC based SLI 4. まとめ
Luup, Inc. - Confidential and Proprietary 5 LUUPとは 街じゅうの電動マイクロモビリティに、 どこからでも乗れて好きな場所に返せる
シェアリングサービス LUUPは電動キックボードと電動アシスト自転車のシェアリングサービスで す。 LUUPのポートは街じゅうに広がっています。駅前や繁華街、住宅街やコン ビニなど、近くのポートから好きなタイミングで借りて、好きな場所に返すこと ができます。 毎日の最寄り駅までの移動や、「歩くには少し遠いな」と感じる場所へ向か うこと、できれば避けたい坂道をのぼることも、 “早く・ラクに・気持ちのよい “ライドに変えることができます。 現在は、東京・大阪・横浜・京都・神戸・名古屋などで展開しており、さらに拡 大を目指しています。
Luup, Inc. - Confidential and Proprietary 6 0. 事業説明 1.
SLI/SLOについて 2. IoTサービスでSLIを設計するときに考えること 3. LUUPでのCMC based SLI 4. まとめ
Luup, Inc. - Confidential and Proprietary 7 SLI/SLOについて SLI;Service Level
Indicator - サービスレベル指標 - 提供しているサービスの動作を直接測定した指標 - ユーザーの満足度に相関している指標 - rate, average, percentile 等のメトリクスの形式で測定する SLO;Service Level Objective - サービスレベル目標 - SLI(定量化した指標)に対する目標値 - 目標値の対象期間(Window)も定める - e.g., 過去30日間で99.99%成功していること
Luup, Inc. - Confidential and Proprietary 8 SLI/SLOはなぜ必要? ”サービスがユーザーの期待値に答えているか”を測定し、 定量的な判断を可能にする
1 2 アラートを常にアクショナブルなものにできる SLI/SLOを組織全体の意思決定指標として活用することができる
Luup, Inc. - Confidential and Proprietary 9 SLI/SLOはなぜ必要? アラートを常にアクショナブルなものにできる -
”ユーザーがサービスを使えているかどうか” という観点でアラート発報ができる - 監視をSLI/SLOベースにしないとどうなる? - ユーザーの体験と直接関連しないシステム指標(CPU使用率、メモリ使用率など)を使う ことになる - e.g., APIサーバーのCPU使用率が上がっている - ユーザーは普通に使えているので、アラートを徐々に気にしなくなる - オオカミ少年アラートになる SLI/SLOを組織全体の意思決定指標として活用することができる - 目指すべき信頼性の合意を取ることで、非機能要件と機能要件の優先度を決定できる - 信頼性のコントロールが可能になり、ユーザーの満足度を向上させることができる
Luup, Inc. - Confidential and Proprietary 10 本セッションのテーマ Web領域でSLI/SLOを活用できるのはわかった.... IoT領域ではSLI/SLOをどのように活用できるのか?
Luup, Inc. - Confidential and Proprietary 11 0. 事業説明 1.
SLI/SLOについて 2. IoTサービスでSLIを設計するときに考えること 3. LUUPでのCMC based SLI 4. まとめ
Luup, Inc. - Confidential and Proprietary 12 IoTサービスでSLIを設計するときに考えること
Luup, Inc. - Confidential and Proprietary 13 IoTサービスでSLIを設計するときに考えること
Luup, Inc. - Confidential and Proprietary 14 お客様の体験を考慮してSLIを設計する
Luup, Inc. - Confidential and Proprietary 15 お客様の体験を考慮してSLIを設計する お客様の体験を考慮してSLIを設計するときは、 CUJ:クリティカルユーザージャーニーという考え方を活用する!
究極的にはSLOの主眼は顧客体験の改善であるべきです。 したがって、SLOはユーザーを中心に置くアクションについて書かれるべきです。 顧客の体験を補足するには、クリティカルユーザージャーニーが利用できます。 クリティカルユーザージャーニーは、あるユーザーの体験の中核部分となるタスクの並びで、 サービスの極めて重要な側面です。 - Site Reliability Workbook - ユーザーが目的を達成するために行うサービス操作をCUJとする - CUJに紐づく操作を計測したSLIはユーザー体験を反映したSLIとなる https://sre.google/workbook/table-of-contents/
Luup, Inc. - Confidential and Proprietary 16 お客様の体験を考慮してSLIを設計する CUJを ”車両の施錠”
と設定 車両の施錠を実現するには施錠のAPIが使えることが重要 SLIを ”車両の施錠を行うAPI(Lock API)のAvailability” とする SLOを “30days 99%” と設定して運用しています
Luup, Inc. - Confidential and Proprietary 17 IoT機器の動作を考えてSLIを設計する
Luup, Inc. - Confidential and Proprietary 18 IoT機器の動作を考えてSLIを設計する お客様の体験を考慮してSLIを設計するときは、CUJを活用する IoT機器の動作の場合はどうすれば良い??
IoT機器の動作 - お客様の体験を支える要素の一つ - 基本的には24時間365日稼働し続けている - (お客様の行動とは別に)非同期でクラウド側との通信が行われている - ユーザージャーニーという枠組みで整理することができない IoT機器の動作についてSLIを設計する際は、CUJという考え方では整理できない CUJとは別のアプローチを考える必要がある....
Luup, Inc. - Confidential and Proprietary 19 CMC;Critical Machine Communication
IoTにおけるSLIで計測すべきなのは、”マシンが期待通りに動作できる状態であるか” その計測対象を CMC:クリティカルマシンコミュニケーション と定義 ※ CMCは一般用語ではなく、Luup内でCUJと区別するために作成された用語です IoTデバイスが動作するために行う操作をCMCとする - 数多くのIoT機器の(M2M通信を含む)動作(Machine Communication)の中から、サービス にとって特に重要な中核的な動作 - e.g., バッテリーが切れていないか?サーバーと接続されているか?
Luup, Inc. - Confidential and Proprietary 20 CMC;Critical Machine Communication
CMCのSLIへの活用方法はCUJと同様 - CMCに関連する操作を計測したSLIは、IoTの動作を反映したSLIとなる - CMCを基にSLIを設定することで、IoT機器が期待通りに動作できる状態であるかを計測するこ とができる
Luup, Inc. - Confidential and Proprietary 21 0. 事業説明 1.
SLI/SLOについて 2. IoTサービスでSLIを設計するときに考えること 3. LUUPでのCMC based SLI 4. まとめ
Luup, Inc. - Confidential and Proprietary 22 LUUPでのCMCの設定 どこがクリティカルなのか? →
IoT機器が利用できないことがクリティカル! LUUPの場合、サービスの根幹である “移動” が提供できない →IoT機器(車両)のAvailabilityを確認するのが良さそう - Latency等よりもまずは使えるかどうか(Availability)が重要 - CUJ based SLI, CMC based SLIに限らず一番重要なのはAvailability 車両のAvailabilityを取得し、SLOとして設定することで以下を実現したい - お客様が利用できる車両を増やす - お客様が利用できない車両を減らす
Luup, Inc. - Confidential and Proprietary 23 LUUPでのCMCの設定 お客様が利用できる車両を増やす方法は以下の二つ 1.
そもそもの車両数を増やす 2. 不具合改修車両のサービスイン SLO活動では、2を対象に活動する 車両の信頼性を上げて、サービスインできる車両数を増やす お客様が利用できる車両を増やす
Luup, Inc. - Confidential and Proprietary 24 LUUPでのCMCの設定 不具合のある車両があれば、お客様が利用する前にサービス上利用できない状態にしたい -
不具合のある車両を利用することによるトラブルを減らしたい - ユーザー体験、安全性、決済など お客様が利用できない車両の割合が増えてきたら検知する 不具合を確認したタイミングでサービスアウトする お客様が利用できない車両を減らす
Luup, Inc. - Confidential and Proprietary 25 LUUPでのCMCの設定(再掲) どこがクリティカルなのか? →
IoT機器が利用できないことがクリティカル! LUUPの場合、サービスの根幹である “移動” が提供できない →IoT機器(車両)のAvailabilityを確認するのが良さそう - Latency等よりもまずは使えるかどうか(Availability)が重要 - CUJ based SLI, CMC based SLIに限らず一番重要なのはAvailability 車両のAvailabilityを取得し、SLOとして設定することで以下を実現したい - お客様が利用できる車両を増やす - お客様が利用できない車両を減らす
Luup, Inc. - Confidential and Proprietary 26 LUUPでのSLIの設計 CloudRunを使って定期的に車両利用状況を集計する 以下のデータを集計
- 車両の利用可能台数 - 車両の利用不可台数 - 車両の利用不可理由
Luup, Inc. - Confidential and Proprietary 27 LUUPでのSLIの設計 以下の理由から車両利用状況をRedash Dashboard化
- 各チームが車両の全体感を確認するため - SREチーム、IoTチームがSLIを検討するため
Luup, Inc. - Confidential and Proprietary 28 LUUPでのSLIの設計 Redash Dashboardを確認すると利用不可理由として以下が記載されている
- 電池切れ、保険・ナンバー待ち、初期投入待ち、自動メンテ、自動メンテ_HWエラー検知など
Luup, Inc. - Confidential and Proprietary 29 LUUPでのSLIの設計 自動メンテ -
x分にy回、施錠・解錠できない / 車両 で自動でサービスアウト - サービスオペレーションとして、現場を回っているメンバーが車両を回収 - 修理、問題ないことが確認された後、サービスイン 自動メンテ_HWエラー検知 - 指定のHWエラーコードがx分にy回IFされる / 車両 で自動的にサービスアウトする - 車両の回収、サービスインは「自動メンテ」同様
Luup, Inc. - Confidential and Proprietary 30 LUUPでのSLIの設計 SLI:(物理的な車両の問題を除く)市場投入車両のうち、利用可能な車両の比率 -
Total:利用不可車両数(自動メンテ + 自動メンテ_HWエラー検知)+ 利用可能車両数 - Good(利用可能車両数) + Bad(利用不可車両数(自動メンテ + 自動メンテ_HWエラー検知))
Luup, Inc. - Confidential and Proprietary 31 LUUPでのSLIの実装 SLI:(物理的な車両の問題を除く)市場投入車両のうち、利用可能な車両の比率 -
Total:利用不可車両数(自動メンテ + 自動メンテ_HWエラー検知)+ 利用可能車両数 - Good(利用可能車両数) + Bad(利用不可車両数(自動メンテ + 自動メンテ_HWエラー検知))
Luup, Inc. - Confidential and Proprietary 32 LUUPでのCMC based SLI
- 今後の展望 SLO運用のためにDatadogで計測できるようにする DatadogにSLIのメトリクスを送信する SLOの運用 自動メンテ機能拡充 通信途絶時に自動サービスアウト 自動サービスイン
Luup, Inc. - Confidential and Proprietary 33 0. 事業説明 1.
SLI/SLOについて 2. IoTサービスでSLIを設計するときに考えること 3. LUUPでのCMC based SLI 4. まとめ
Luup, Inc. - Confidential and Proprietary 34 まとめ IoTサービスにおけるSLI設計は以下の2パターンを考える! -
お客様の体験を考慮してSLIを設計すること - IoT機器の動作を考えてSLIを設計すること IoT機器の動作を考えてSLIを設計する際は、CMCという考え方を活用する! - CMC:クリティカルマシンコミュニケーション IoTサービスでSLIを考えていく際の課題やプラクティスについて語りましょう! - #iot_expands , @gr1m0h , 現地の方は懇親会で!
一緒に、街じゅうを「駅前化」する インフラをつくりませんか? 詳細は採用ページをご覧ください https://recruit.luup.sc/
None