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
1.4k
IoTサービスにおけるSLI設計とLUUPでの実践
gr1m0h
June 03, 2024
Tweet
Share
More Decks by gr1m0h
See All by gr1m0h
"君は見ているが観察していない"で考えるインシデントマネジメント
grimoh
4
3.2k
Enabling Client-side SLO
grimoh
7
4.1k
Luupの開発組織におけるインシデントマネジメントの変遷 ver.RoadtoSRENEXT2024
grimoh
2
740
Luupの開発組織におけるインシデントマネジメントの変遷
grimoh
2
1.2k
Luupの開発組織におけるインシデントマネジメントのこれから
grimoh
2
1.2k
電動マイクロモビリティのシェアサービス「LUUP」におけるEnabling SLOの実践
grimoh
3
1.8k
SRE NEXT 2023への招待
grimoh
0
5.5k
”信頼性”の使い方
grimoh
0
180
LuupにおけるSLOの物語
grimoh
2
6k
Other Decks in Technology
See All in Technology
C++26 エラー性動作
faithandbrave
2
690
ゼロから創る横断SREチーム 挑戦と進化の軌跡
rvirus0817
2
260
Amazon Kendra GenAI Index 登場でどう変わる? 評価から学ぶ最適なRAG構成
naoki_0531
0
100
AIのコンプラは何故しんどい?
shujisado
1
190
10個のフィルタをAXI4-Streamでつなげてみた
marsee101
0
160
どちらを使う?GitHub or Azure DevOps Ver. 24H2
kkamegawa
0
670
Oracle Cloud Infrastructure:2024年12月度サービス・アップデート
oracle4engineer
PRO
0
170
私なりのAIのご紹介 [2024年版]
qt_luigi
1
120
祝!Iceberg祭開幕!re:Invent 2024データレイク関連アップデート10分総ざらい
kniino
2
250
OpenAIの蒸留機能(Model Distillation)を使用して運用中のLLMのコストを削減する取り組み
pharma_x_tech
4
540
LINE Developersプロダクト(LIFF/LINE Login)におけるフロントエンド開発
lycorptech_jp
PRO
0
120
WACATE2024冬セッション資料(ユーザビリティ)
scarletplover
0
190
Featured
See All Featured
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
95
17k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
26
1.5k
Making the Leap to Tech Lead
cromwellryan
133
9k
Building a Scalable Design System with Sketch
lauravandoore
460
33k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
280
13k
Making Projects Easy
brettharned
116
5.9k
Bootstrapping a Software Product
garrettdimon
PRO
305
110k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
226
22k
Optimising Largest Contentful Paint
csswizardry
33
3k
Why Our Code Smells
bkeepers
PRO
335
57k
Fashionably flexible responsive web design (full day workshop)
malarkey
405
66k
jQuery: Nuts, Bolts and Bling
dougneiner
61
7.5k
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