Slide 1

Slide 1 text

機密・専有情報 株式会社Luupによる個別の明示的な承諾を得ることなく、この資料を使用することを固く禁じます。 Wataru Tsuda / gr1m0h 2023年9月29日 SRE NEXT 2023 Track C Session 電動マイクロモビリティのシェアサービ ス「LUUP」におけるEnabling SLO の実践

Slide 2

Slide 2 text

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

Slide 3

Slide 3 text

Luup, Inc. - Confidential and Proprietary 3 伝えたいこと ● SLOを開発者・PdMに伝導、導入するための方法と考慮点 ● IoT分野でSRE・SLOを実践していくための方法

Slide 4

Slide 4 text

Luup, Inc. - Confidential and Proprietary 4 Agenda ● SLOについて ○ SLI・SLO ○ CUJ・CMC ● Luup 開発組織について ○ Luup 開発組織の紹介 ○ LUUP構成の紹介 ● Enabling SRE ○ LuupのEnabling SRE ○ これまでとこれから ● Enabling SLO ○ 開発組織全体への導入 ○ IoTチームへの導入 ● まとめ

Slide 5

Slide 5 text

Luup, Inc. - Confidential and Proprietary 5 用語説明 本資料の用語について ● LUUP ○ サービス名 ○ 電動マイクロモビリティのシェアリングサービス ● Luup ○ 会社名 ○ 株式会社Luup

Slide 6

Slide 6 text

Luup, Inc. - Confidential and Proprietary 6 LUUPとは 街じゅうの電動マイクロモビリティに、 どこからでも乗れて好きな場所に返せる シェアリングサービス LUUPは電動キックボードと電動アシスト自転車のシェアリングサービスで す。
 LUUPのポートは街じゅうに広がっています。駅前や繁華街、住宅街やコン ビニなど、近くのポートから好きなタイミングで借りて、好きな場所に返すこと ができます。 毎日の最寄り駅までの移動や、「歩くには少し遠いな」と感じる場所へ向か うこと、できれば避けたい坂道をのぼることも、“早く・ラクに・気持ちのよい “ライドに変えることができます。 現在は、東京・大阪・横浜・京都・神戸・名古屋などで展開しており、さらに拡 大を目指しています。

Slide 7

Slide 7 text

Luup, Inc. - Confidential and Proprietary 7 Agenda ● SLOについて ○ SLI・SLO ○ CUJ・CMC ● Luup 開発組織について ○ Luup 開発組織の紹介 ○ LUUP構成の紹介 ● Enabling SRE ○ LuupのEnabling SRE ○ これまでとこれから ● Enabling SLO ○ 開発組織全体への導入 ○ IoTチームへの導入 ● まとめ

Slide 8

Slide 8 text

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%成功していること

Slide 9

Slide 9 text

Luup, Inc. - Confidential and Proprietary 9 CUJ(Critical User Journey) https://sre.google/workbook/table-of-contents/ SLOについて ● ユーザーが目的を達成するために行うサービス操作をCUJとする ● CUJに紐づく操作を計測したSLIはユーザー体験を反映したSLIとなる 究極的にはSLOの主眼は顧客体験の改善であるべきです。
 したがって、SLOはユーザーを中心に置くアクションについて書かれるべきです。
 顧客の体験を補足するには、クリティカルユーザージャーニーを利用できます。
 クリティカルユーザージャーニーは、あるユーザーの体験の中核部分となるタスクの並び で、サービスのきわめて重要な側面です。
 サイトリライアビリティワークブックより


Slide 10

Slide 10 text

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によって、マシンが期待通りに動作している状態であ ることを指標化できる ● ハードウェア異常は影響のあるユーザーは少ないが、顧客体験への影響がソフトウェア の異常よりも大きくなる懸念がある

Slide 11

Slide 11 text

Luup, Inc. - Confidential and Proprietary 11 Agenda ● SLOについて ○ SLI・SLO ○ CUJ・CMC ● Luup 開発組織について ○ Luup 開発組織の紹介 ○ LUUP構成の紹介 ● Enabling SRE ○ LuupのEnabling SRE ○ これまでとこれから ● Enabling SLO ○ 開発組織全体への導入 ○ IoTチームへの導入 ● まとめ

Slide 12

Slide 12 text

Luup, Inc. - Confidential and Proprietary 12 Luup 開発組織の紹介 Luup 開発組織について 開発組織:10人 + α SREチーム:2人 + 9人=11人

Slide 13

Slide 13 text

Luup, Inc. - Confidential and Proprietary 13 他チームとの連携 Luup 開発組織について PdM:Android / iOS / Serverチームとコミュニケーション Hardwareチーム:IoTチームとコミュニケーション

Slide 14

Slide 14 text

Luup, Inc. - Confidential and Proprietary 14 LUUP構成の紹介 Luup 開発組織について

Slide 15

Slide 15 text

Luup, Inc. - Confidential and Proprietary 15 Agenda ● SLOについて ○ SLI・SLO ○ CUJ・CMC ● Luup 開発組織について ○ Luup 開発組織の紹介 ○ LUUP構成の紹介 ● Enabling SRE ○ LuupのEnabling SRE ○ これまでとこれから ● Enabling SLO ○ 開発組織全体への導入 ○ IoTチームへの導入 ● まとめ

Slide 16

Slide 16 text

Luup, Inc. - Confidential and Proprietary 16 LuupのEnabling SRE Enabling SRE Enabling SRE ● 開発チームにSREの文化/知識を浸透させて開発者自身がSRE Practiceを実践でき るようにする活動 ● LuupではSLOの普及と活用を開発組織だけでなくビジネスサイドまでスコープを広げ て適用することを進めています Enabling “SRE” だとスコープが広いので、Enabling “SLO” としてSLOの導入をメイン に進めています

Slide 17

Slide 17 text

Luup, Inc. - Confidential and Proprietary 17 これまでとこれから Enabling SRE

Slide 18

Slide 18 text

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

Slide 19

Slide 19 text

Luup, Inc. - Confidential and Proprietary 19 Agenda ● SLOについて ○ SLI・SLO ○ CUJ・CMC ● Luup 開発組織について ○ Luup 開発組織の紹介 ○ LUUP構成の紹介 ● Enabling SRE ○ LuupのEnabling SRE ○ これまでとこれから ● Enabling SLO ○ 開発組織全体への導入 ○ IoTチームへの導入 ● まとめ

Slide 20

Slide 20 text

Luup, Inc. - Confidential and Proprietary 20 Enabling SLOの対象範囲 Enabling SLO 1. 会社全体 またどこかの機会でお話しします! 2. 開発組織全体 3. 特定の開発コンポーネント

Slide 21

Slide 21 text

Luup, Inc. - Confidential and Proprietary 21 開発組織全体に対して Enabling SLO 開発組織全体でSLOについての議論を行っていくために以下を行いました ● SLO習熟度調査の実施 ● SLO勉強会の実施

Slide 22

Slide 22 text

Luup, Inc. - Confidential and Proprietary 22 再掲:これまでとこれから Enabling SLO

Slide 23

Slide 23 text

Luup, Inc. - Confidential and Proprietary 23 開発組織全体に対して:SLO習熟度調査の実施 Enabling SLO ● 組織全体や個人の今現在の習熟度を知るために実施 ● エンジニアだけでなくPdMも調査対象 ● SLOに関する問題が全14問 ● 将来的に以下のような活用が考えられる ○ 再度実施してEnabling度合いを計測 ○ オンボーディング時に実施し、個別フォローアップ

Slide 24

Slide 24 text

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を運用しているか ■ 運用はどのようにしているか ■ 既知の問題とその対応状況について

Slide 25

Slide 25 text

Luup, Inc. - Confidential and Proprietary 25 特定の開発コンポーネントに対して Enabling SLO 以下のチームにSREチームからアプローチを行いました ● Androidチーム・iOSチーム・Serverチーム ○ またどこかの機会でお話しします! ● IoTチーム

Slide 26

Slide 26 text

Luup, Inc. - Confidential and Proprietary 26 再掲:これまでとこれから Enabling SLO

Slide 27

Slide 27 text

Luup, Inc. - Confidential and Proprietary 27 Embedded SREはできないので、Developer Leadとの直接的なコミュニケーションで進めた Enabling SLO SREチームのリソース不足 ● 正社員2人、フルタイムは正社員含めて3人という状況 業務委託メンバーのコントロール ● 業務委託メンバーの稼働としてSLO部分含めて良いかの判断がSREではできなかった ● 業務委託メンバーの稼働管理している各チームの正社員に判断してもらう

Slide 28

Slide 28 text

Luup, Inc. - Confidential and Proprietary 28 IoTチームへの導入 Enabling SLO IoTデバイスの信頼性を担保するために以下の活動を行っています ● 車両の施錠解錠のエラー率の低減:自動サービスアウト ○ 定期通信途絶によるサービスアウト ○ ハードウェアエラーによるサービスアウト ● CMC based SLIの設計

Slide 29

Slide 29 text

Luup, Inc. - Confidential and Proprietary 29 IoTチームへの導入:定期通信途絶によるサービスアウト Enabling SLO 一定時間、定期通信がないときに自動でサービスアウトする機能 ● 車両の利用状況に関わらず一定時間ごとに定期通信をしている ● 定期通信の応答時間をDBに保存 ● 一定時間ごとにDBに保存した最終更新時間を確認して車両を判定する ● 一定時間応答なければ定期通信できていないとして、サービスアウト ● 定期通信が発生したタイミングでサービスイン

Slide 30

Slide 30 text

Luup, Inc. - Confidential and Proprietary 30 IoTチームへの導入:ハードウェアエラーによるサービスアウト Enabling SLO ハードウェアエラーを検知したときに自動でサービスアウトする機能 ● ハードウェアエラーは定期的に車両から通知されている ● エラー毎にしきい値を決めて一定時間でしきい値を超えたら、Slack通知+サービスア ウトを行う ● ハードウェア起因の故障なので自動でサービスインはせず、フィールドで確認後、修 理かサービスインかを判断する

Slide 31

Slide 31 text

Luup, Inc. - Confidential and Proprietary 31 IoTチームへの導入:CMC based SLIの設計(策定中) Enabling SLO

Slide 32

Slide 32 text

Luup, Inc. - Confidential and Proprietary 32 Agenda ● SLOについて ○ SLI・SLO ○ CUJ・CMC ● Luup 開発組織について ○ Luup 開発組織の紹介 ○ LUUP構成の紹介 ● Enabling SRE ○ LuupのEnabling SRE ○ これまでとこれから ● Enabling SLO ○ 導入方法 ○ 開発組織全体への導入 ○ IoTチームへの導入 ● まとめ

Slide 33

Slide 33 text

Luup, Inc. - Confidential and Proprietary 33 LUUPのEnablingSLOを始めてみて.... まとめ Enabling SREは少しずつ行う ● 関係するチームを少しずつ増やしていき、開発組織全体に拡大する 開発組織全体で人数が少ない状態では、Leadとの直接コミュニケーションを行う ● 開発組織全体で人数が少ない状態 ≒ スタートアップ ● EmbeddedSREはリソース的に難しい ● Leadには、将来的に各チームでSRE伝道師を担ってもらうことを期待 IoT領域のSLI設計についてはCMCを使用する ● CMC:Critical Machine Communication ● 定期通信途絶とハードウェアエラーによる自動サービスアウト ○ 現実世界で移動するIoTデバイスであるというLUUP特有の機能 ● サービスインしている車両の割合でSLIを検討中

Slide 34

Slide 34 text

一緒に、街じゅうを「駅前化」する インフラをつくりませんか? 詳細は採用ページをご覧ください https://recruit.luup.sc/

Slide 35

Slide 35 text

No content