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.7k
電動マイクロモビリティのシェアサービス「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
2.7k
Enabling Client-side SLO
grimoh
7
3.9k
Luupの開発組織におけるインシデントマネジメントの変遷 ver.RoadtoSRENEXT2024
grimoh
2
700
Luupの開発組織におけるインシデントマネジメントの変遷
grimoh
2
1.1k
IoTサービスにおけるSLI設計とLUUPでの実践
grimoh
2
1.4k
Luupの開発組織におけるインシデントマネジメントのこれから
grimoh
2
1.2k
SRE NEXT 2023への招待
grimoh
0
5.3k
”信頼性”の使い方
grimoh
0
170
LuupにおけるSLOの物語
grimoh
2
5.9k
Other Decks in Technology
See All in Technology
B2B SaaSから見た最近のC#/.NETの進化
sansantech
PRO
0
720
スクラム成熟度セルフチェックツールを作って得た学びとその活用法
coincheck_recruit
1
140
Amplify Gen2 Deep Dive / バックエンドの型をいかにしてフロントエンドへ伝えるか #TSKaigi #TSKaigiKansai #AWSAmplifyJP
tacck
PRO
0
370
Shopifyアプリ開発における Shopifyの機能活用
sonatard
4
250
RubyのWebアプリケーションを50倍速くする方法 / How to Make a Ruby Web Application 50 Times Faster
hogelog
3
940
iOSチームとAndroidチームでブランチ運用が違ったので整理してます
sansantech
PRO
0
130
個人でもIAM Identity Centerを使おう!(アクセス管理編)
ryder472
3
200
適材適所の技術選定 〜GraphQL・REST API・tRPC〜 / Optimal Technology Selection
kakehashi
1
170
Adopting Jetpack Compose in Your Existing Project - GDG DevFest Bangkok 2024
akexorcist
0
100
Evangelismo técnico: ¿qué, cómo y por qué?
trishagee
0
360
これまでの計測・開発・デプロイ方法全部見せます! / Findy ISUCON 2024-11-14
tohutohu
3
370
New Relicを活用したSREの最初のステップ / NRUG OKINAWA VOL.3
isaoshimizu
2
590
Featured
See All Featured
Why Our Code Smells
bkeepers
PRO
334
57k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
16
2.1k
Fireside Chat
paigeccino
34
3k
Put a Button on it: Removing Barriers to Going Fast.
kastner
59
3.5k
Designing Experiences People Love
moore
138
23k
RailsConf 2023
tenderlove
29
900
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
28
2k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
47
2.1k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
27
4.3k
Build The Right Thing And Hit Your Dates
maggiecrowley
33
2.4k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
191
16k
Git: the NoSQL Database
bkeepers
PRO
427
64k
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