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
電動マイクロモビリティのシェアサービス「LUUP」におけるEnabling SLOの実践
Search
gr1m0h
September 27, 2023
Technology
3
1.8k
電動マイクロモビリティのシェアサービス「LUUP」におけるEnabling SLOの実践
SRE NEXT 2023で登壇した内容です
ブログ記事で補足しています
https://zenn.dev/luup_developers/articles/sre-grimoh-20231002
gr1m0h
September 27, 2023
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
IoTサービスにおけるSLI設計とLUUPでの実践
grimoh
2
1.4k
Luupの開発組織におけるインシデントマネジメントのこれから
grimoh
2
1.2k
SRE NEXT 2023への招待
grimoh
0
5.5k
”信頼性”の使い方
grimoh
0
180
LuupにおけるSLOの物語
grimoh
2
6k
Other Decks in Technology
See All in Technology
成果を出しながら成長する、アウトプット駆動のキャッチアップ術 / Output-driven catch-up techniques to grow while producing results
aiandrox
0
180
マイクロサービスにおける容易なトランザクション管理に向けて
scalar
0
110
NilAway による静的解析で「10 億ドル」を節約する #kyotogo / Kyoto Go 56th
ytaka23
3
370
C++26 エラー性動作
faithandbrave
2
680
日本版とグローバル版のモバイルアプリ統合の開発の裏側と今後の展望
miichan
1
120
あの日俺達が夢見たサーバレスアーキテクチャ/the-serverless-architecture-we-dreamed-of
tomoki10
0
420
PHPからGoへのマイグレーション for DMMアフィリエイト
yabakokobayashi
1
160
サイバー攻撃を想定したセキュリティガイドライン 策定とASM及びCNAPPの活用方法
syoshie
3
1.2k
10分で学ぶKubernetesコンテナセキュリティ/10min-k8s-container-sec
mochizuki875
3
320
Amazon VPC Lattice 最新アップデート紹介 - PrivateLink も似たようなアップデートあったけど違いとは
bigmuramura
0
190
TSKaigi 2024 の登壇から広がったコミュニティ活動について
tsukuha
0
160
MLOps の現場から
asei
6
630
Featured
See All Featured
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
17
2.2k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
111
49k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
10
810
Producing Creativity
orderedlist
PRO
341
39k
Optimising Largest Contentful Paint
csswizardry
33
3k
Done Done
chrislema
181
16k
A Tale of Four Properties
chriscoyier
157
23k
Product Roadmaps are Hard
iamctodd
PRO
49
11k
Intergalactic Javascript Robots from Outer Space
tanoku
270
27k
No one is an island. Learnings from fostering a developers community.
thoeni
19
3k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
48k
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
Transcript
機密・専有情報 株式会社Luupによる個別の明示的な承諾を得ることなく、この資料を使用することを固く禁じます。 Wataru Tsuda / gr1m0h 2023年9月29日 SRE NEXT 2023
Track C Session 電動マイクロモビリティのシェアサービ ス「LUUP」におけるEnabling SLO の実践
Luup, Inc. - Confidential and Proprietary 2 自己紹介 チャプター(最大1行) whoami
Wataru Tsuda / gr1m0h SRE @Luup,inc. SRE Lounge /SRE NEXT 運営メンバー Platform Engineering Meetup 運営メンバー SRE NEXT 2023 Chair
Luup, Inc. - Confidential and Proprietary 3 伝えたいこと • SLOを開発者・PdMに伝導、導入するための方法と考慮点
• IoT分野でSRE・SLOを実践していくための方法
Luup, Inc. - Confidential and Proprietary 4 Agenda • SLOについて
◦ SLI・SLO ◦ CUJ・CMC • Luup 開発組織について ◦ Luup 開発組織の紹介 ◦ LUUP構成の紹介 • Enabling SRE ◦ LuupのEnabling SRE ◦ これまでとこれから • Enabling SLO ◦ 開発組織全体への導入 ◦ IoTチームへの導入 • まとめ
Luup, Inc. - Confidential and Proprietary 5 用語説明 本資料の用語について •
LUUP ◦ サービス名 ◦ 電動マイクロモビリティのシェアリングサービス • Luup ◦ 会社名 ◦ 株式会社Luup
Luup, Inc. - Confidential and Proprietary 6 LUUPとは 街じゅうの電動マイクロモビリティに、 どこからでも乗れて好きな場所に返せる
シェアリングサービス LUUPは電動キックボードと電動アシスト自転車のシェアリングサービスで す。 LUUPのポートは街じゅうに広がっています。駅前や繁華街、住宅街やコン ビニなど、近くのポートから好きなタイミングで借りて、好きな場所に返すこと ができます。 毎日の最寄り駅までの移動や、「歩くには少し遠いな」と感じる場所へ向か うこと、できれば避けたい坂道をのぼることも、“早く・ラクに・気持ちのよい “ライドに変えることができます。 現在は、東京・大阪・横浜・京都・神戸・名古屋などで展開しており、さらに拡 大を目指しています。
Luup, Inc. - Confidential and Proprietary 7 Agenda • SLOについて
◦ SLI・SLO ◦ CUJ・CMC • Luup 開発組織について ◦ Luup 開発組織の紹介 ◦ LUUP構成の紹介 • Enabling SRE ◦ LuupのEnabling SRE ◦ これまでとこれから • Enabling SLO ◦ 開発組織全体への導入 ◦ IoTチームへの導入 • まとめ
Luup, Inc. - Confidential and Proprietary 8 SLI(Service Level Indicator)・SLO(Service
Level Objective) SLOについて SLI: Service Level Indicator • 提供しているサービスの動作を直接測定した指標 ◦ レート / アベレージ / パーセンタイルなどのメトリクスにできる形で測定する • 「ユーザーがサービスを期待通りに使えているか」が反映された指標であるべき SLO: Service Level Objective • SLIに対する具体的な目標値 • 信頼性に関してデータドリブンな意思決定を促す • SLOは達成したいSLIの目標値と対象期間(Window)を定める ◦ e.g. 過去30日間で99.9%成功していること
Luup, Inc. - Confidential and Proprietary 9 CUJ(Critical User Journey)
https://sre.google/workbook/table-of-contents/ SLOについて • ユーザーが目的を達成するために行うサービス操作をCUJとする • CUJに紐づく操作を計測したSLIはユーザー体験を反映したSLIとなる 究極的にはSLOの主眼は顧客体験の改善であるべきです。 したがって、SLOはユーザーを中心に置くアクションについて書かれるべきです。 顧客の体験を補足するには、クリティカルユーザージャーニーを利用できます。 クリティカルユーザージャーニーは、あるユーザーの体験の中核部分となるタスクの並び で、サービスのきわめて重要な側面です。 サイトリライアビリティワークブックより
Luup, Inc. - Confidential and Proprietary 10 CMC(Critical Machine Communication)
SLOについて IoTにおけるSLIで計測すべきなのは ”マシンが期待通りに動作できる状態であるか” その計測対象をCMC:Critical Machine Communication と定義 ※CMCは一般用語ではなく、Luup内でCUJと区別するために作成された用語です • IoTデバイスが動作するために行う操作をCMCとする ◦ e.g. バッテリーが切れていないか、サーバーと接続されているか ◦ プロトコルとしては、MQTT、LwM2Mなど • CMCに紐づく動作を計測したSLIによって、マシンが期待通りに動作している状態であ ることを指標化できる • ハードウェア異常は影響のあるユーザーは少ないが、顧客体験への影響がソフトウェア の異常よりも大きくなる懸念がある
Luup, Inc. - Confidential and Proprietary 11 Agenda • SLOについて
◦ SLI・SLO ◦ CUJ・CMC • Luup 開発組織について ◦ Luup 開発組織の紹介 ◦ LUUP構成の紹介 • Enabling SRE ◦ LuupのEnabling SRE ◦ これまでとこれから • Enabling SLO ◦ 開発組織全体への導入 ◦ IoTチームへの導入 • まとめ
Luup, Inc. - Confidential and Proprietary 12 Luup 開発組織の紹介 Luup
開発組織について 開発組織:10人 + α SREチーム:2人 + 9人=11人
Luup, Inc. - Confidential and Proprietary 13 他チームとの連携 Luup 開発組織について
PdM:Android / iOS / Serverチームとコミュニケーション Hardwareチーム:IoTチームとコミュニケーション
Luup, Inc. - Confidential and Proprietary 14 LUUP構成の紹介 Luup 開発組織について
Luup, Inc. - Confidential and Proprietary 15 Agenda • SLOについて
◦ SLI・SLO ◦ CUJ・CMC • Luup 開発組織について ◦ Luup 開発組織の紹介 ◦ LUUP構成の紹介 • Enabling SRE ◦ LuupのEnabling SRE ◦ これまでとこれから • Enabling SLO ◦ 開発組織全体への導入 ◦ IoTチームへの導入 • まとめ
Luup, Inc. - Confidential and Proprietary 16 LuupのEnabling SRE Enabling
SRE Enabling SRE • 開発チームにSREの文化/知識を浸透させて開発者自身がSRE Practiceを実践でき るようにする活動 • LuupではSLOの普及と活用を開発組織だけでなくビジネスサイドまでスコープを広げ て適用することを進めています Enabling “SRE” だとスコープが広いので、Enabling “SLO” としてSLOの導入をメイン に進めています
Luup, Inc. - Confidential and Proprietary 17 これまでとこれから Enabling SRE
Luup, Inc. - Confidential and Proprietary 18 これまでのSREチームによるSLO運用については SLOconf Tokyo
2023でのセッションで詳しくお話ししています! https://zenn.dev/luup/articles/sre-grimoh-20230517 https://speakerdeck.com/grimoh/luupniokeruslonowu-yu Enabling SRE
Luup, Inc. - Confidential and Proprietary 19 Agenda • SLOについて
◦ SLI・SLO ◦ CUJ・CMC • Luup 開発組織について ◦ Luup 開発組織の紹介 ◦ LUUP構成の紹介 • Enabling SRE ◦ LuupのEnabling SRE ◦ これまでとこれから • Enabling SLO ◦ 開発組織全体への導入 ◦ IoTチームへの導入 • まとめ
Luup, Inc. - Confidential and Proprietary 20 Enabling SLOの対象範囲 Enabling
SLO 1. 会社全体 またどこかの機会でお話しします! 2. 開発組織全体 3. 特定の開発コンポーネント
Luup, Inc. - Confidential and Proprietary 21 開発組織全体に対して Enabling SLO
開発組織全体でSLOについての議論を行っていくために以下を行いました • SLO習熟度調査の実施 • SLO勉強会の実施
Luup, Inc. - Confidential and Proprietary 22 再掲:これまでとこれから Enabling SLO
Luup, Inc. - Confidential and Proprietary 23 開発組織全体に対して:SLO習熟度調査の実施 Enabling SLO
• 組織全体や個人の今現在の習熟度を知るために実施 • エンジニアだけでなくPdMも調査対象 • SLOに関する問題が全14問 • 将来的に以下のような活用が考えられる ◦ 再度実施してEnabling度合いを計測 ◦ オンボーディング時に実施し、個別フォローアップ
Luup, Inc. - Confidential and Proprietary 24 開発組織全体に対して:SLO勉強会の実施 Enabling SLO
• エンジニアみんなで議論できるように素地を作るために実施 • 習熟度調査の結果をフィードバックして構成検討 • 「背景」「SLI・SLOの基本」「Luup SREチームの現在のSLO運用状況」 ◦ 背景:なぜSLI・SLOの知識がLuup開発組織で必要か ◦ SLI・SLOの基本:SLI・SLOの基本的な知識について ◦ Luup SREチームの現在のSLO運用状況: ▪ Luup SREチームが今どんなSLOを運用しているか ▪ 運用はどのようにしているか ▪ 既知の問題とその対応状況について
Luup, Inc. - Confidential and Proprietary 25 特定の開発コンポーネントに対して Enabling SLO
以下のチームにSREチームからアプローチを行いました • Androidチーム・iOSチーム・Serverチーム ◦ またどこかの機会でお話しします! • IoTチーム
Luup, Inc. - Confidential and Proprietary 26 再掲:これまでとこれから Enabling SLO
Luup, Inc. - Confidential and Proprietary 27 Embedded SREはできないので、Developer Leadとの直接的なコミュニケーションで進めた
Enabling SLO SREチームのリソース不足 • 正社員2人、フルタイムは正社員含めて3人という状況 業務委託メンバーのコントロール • 業務委託メンバーの稼働としてSLO部分含めて良いかの判断がSREではできなかった • 業務委託メンバーの稼働管理している各チームの正社員に判断してもらう
Luup, Inc. - Confidential and Proprietary 28 IoTチームへの導入 Enabling SLO
IoTデバイスの信頼性を担保するために以下の活動を行っています • 車両の施錠解錠のエラー率の低減:自動サービスアウト ◦ 定期通信途絶によるサービスアウト ◦ ハードウェアエラーによるサービスアウト • CMC based SLIの設計
Luup, Inc. - Confidential and Proprietary 29 IoTチームへの導入:定期通信途絶によるサービスアウト Enabling SLO
一定時間、定期通信がないときに自動でサービスアウトする機能 • 車両の利用状況に関わらず一定時間ごとに定期通信をしている • 定期通信の応答時間をDBに保存 • 一定時間ごとにDBに保存した最終更新時間を確認して車両を判定する • 一定時間応答なければ定期通信できていないとして、サービスアウト • 定期通信が発生したタイミングでサービスイン
Luup, Inc. - Confidential and Proprietary 30 IoTチームへの導入:ハードウェアエラーによるサービスアウト Enabling SLO
ハードウェアエラーを検知したときに自動でサービスアウトする機能 • ハードウェアエラーは定期的に車両から通知されている • エラー毎にしきい値を決めて一定時間でしきい値を超えたら、Slack通知+サービスア ウトを行う • ハードウェア起因の故障なので自動でサービスインはせず、フィールドで確認後、修 理かサービスインかを判断する
Luup, Inc. - Confidential and Proprietary 31 IoTチームへの導入:CMC based SLIの設計(策定中)
Enabling SLO
Luup, Inc. - Confidential and Proprietary 32 Agenda • SLOについて
◦ SLI・SLO ◦ CUJ・CMC • Luup 開発組織について ◦ Luup 開発組織の紹介 ◦ LUUP構成の紹介 • Enabling SRE ◦ LuupのEnabling SRE ◦ これまでとこれから • Enabling SLO ◦ 導入方法 ◦ 開発組織全体への導入 ◦ IoTチームへの導入 • まとめ
Luup, Inc. - Confidential and Proprietary 33 LUUPのEnablingSLOを始めてみて.... まとめ Enabling
SREは少しずつ行う • 関係するチームを少しずつ増やしていき、開発組織全体に拡大する 開発組織全体で人数が少ない状態では、Leadとの直接コミュニケーションを行う • 開発組織全体で人数が少ない状態 ≒ スタートアップ • EmbeddedSREはリソース的に難しい • Leadには、将来的に各チームでSRE伝道師を担ってもらうことを期待 IoT領域のSLI設計についてはCMCを使用する • CMC:Critical Machine Communication • 定期通信途絶とハードウェアエラーによる自動サービスアウト ◦ 現実世界で移動するIoTデバイスであるというLUUP特有の機能 • サービスインしている車両の割合でSLIを検討中
一緒に、街じゅうを「駅前化」する インフラをつくりませんか? 詳細は採用ページをご覧ください https://recruit.luup.sc/
None