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
240
IoTサービスにおけるSLI設計とLUUPでの実践
gr1m0h
June 03, 2024
Tweet
Share
More Decks by gr1m0h
See All by gr1m0h
Luupの開発組織におけるインシデントマネジメントの変遷
grimoh
2
460
Luupの開発組織におけるインシデントマネジメントのこれから
grimoh
2
1k
電動マイクロモビリティのシェアサービス「LUUP」におけるEnabling SLOの実践
grimoh
3
1.4k
SRE NEXT 2023への招待
grimoh
0
2.1k
”信頼性”の使い方
grimoh
0
130
LuupにおけるSLOの物語
grimoh
2
3.9k
Production Ready with Dev Process Improvement
grimoh
4
3k
Other Decks in Technology
See All in Technology
SSII2024 [OS3] 基盤モデルとそのビジネス活用
ssii
PRO
0
340
情報の世界 2024年度 第10回「データとセンシングの概要」 #情報の世界 / Data and Sensing 2024
yumulab
0
160
大規模 SaaS の技術的意思決定を支える三要素 / Three elements that support technical decision-making for large-scale SaaS
_atsushisakai
0
120
いまからでも遅くない!ROKS (RedHat OpenShift on IBM Cloud) の運用
helenxiao
0
230
Guard を利用した AWS Config ルール
yhana
0
270
DockertestとLocalStackを使って 外部サービスに依存した多要素認証の 動作確認・テストをした話 / A story about using Dockertest and LocalStack to check and test the operation of multi-factor authentication that depends on external services
kaminashi
3
240
明日使えるかもしれないLoss Functionsのアイディアと実装
ftakahashi
PRO
3
210
不要な DNS リソースレコードは消そう / Delete unused DNS records
wa6sn
4
3.1k
Cloudflare Workersで構築する非同期ジョブシステム
aiji42
6
1k
Janus
bkuhlmann
1
530
Oracle Database 23ai Overview
oracle4engineer
PRO
0
560
Web Intelligence and Visual Media Analytics
weblyzard
PRO
1
3.8k
Featured
See All Featured
Facilitating Awesome Meetings
lara
44
5.7k
How to Ace a Technical Interview
jacobian
273
22k
The Language of Interfaces
destraynor
151
23k
The Illustrated Children's Guide to Kubernetes
chrisshort
34
47k
Documentation Writing (for coders)
carmenintech
61
4.1k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
222
21k
Making the Leap to Tech Lead
cromwellryan
126
8.6k
Principles of Awesome APIs and How to Build Them.
keavy
122
16k
Rebuilding a faster, lazier Slack
samanthasiow
75
8.3k
4 Signs Your Business is Dying
shpigford
176
21k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
501
140k
Designing on Purpose - Digital PM Summit 2013
jponch
112
6.6k
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