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.6k
”信頼性”の使い方
grimoh
0
180
LuupにおけるSLOの物語
grimoh
2
6k
Other Decks in Technology
See All in Technology
LINEスキマニにおけるフロントエンド開発
lycorptech_jp
PRO
0
330
非機能品質を作り込むための実践アーキテクチャ
knih
5
1.3k
ゼロから創る横断SREチーム 挑戦と進化の軌跡
rvirus0817
2
270
小学3年生夏休みの自由研究「夏休みに Copilot で遊んでみた」
taichinakamura
0
150
AWS re:Invent 2024 ふりかえり
kongmingstrap
0
130
GitHub Copilot のテクニック集/GitHub Copilot Techniques
rayuron
36
13k
新機能VPCリソースエンドポイント機能検証から得られた考察
duelist2020jp
0
220
Fanstaの1年を大解剖! 一人SREはどこまでできるのか!?
syossan27
2
170
社外コミュニティで学び社内に活かす共に学ぶプロジェクトの実践/backlogworld2024
nishiuma
0
260
Amazon Kendra GenAI Index 登場でどう変わる? 評価から学ぶ最適なRAG構成
naoki_0531
0
110
サーバレスアプリ開発者向けアップデートをキャッチアップしてきた #AWSreInvent #regrowth_fuk
drumnistnakano
0
190
フロントエンド設計にモブ設計を導入してみた / 20241212_cloudsign_TechFrontMeetup
bengo4com
0
1.9k
Featured
See All Featured
Why You Should Never Use an ORM
jnunemaker
PRO
54
9.1k
Build The Right Thing And Hit Your Dates
maggiecrowley
33
2.4k
Designing Experiences People Love
moore
138
23k
Done Done
chrislema
181
16k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
48k
VelocityConf: Rendering Performance Case Studies
addyosmani
326
24k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
191
16k
Building an army of robots
kneath
302
44k
How to train your dragon (web standard)
notwaldorf
88
5.7k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
665
120k
Navigating Team Friction
lara
183
15k
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
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