$30 off During Our Annual Pro Sale. View Details »

電動マイクロモビリティのシェアサービス「LUUP」におけるEnabling SLOの実践

grimoh
September 27, 2023

電動マイクロモビリティのシェアサービス「LUUP」におけるEnabling SLOの実践

grimoh

September 27, 2023
Tweet

More Decks by grimoh

Other Decks in Technology

Transcript

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

    View Slide

  2. 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
    同人サークル「野孤ヲ倶楽部」主催

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  6. Luup, Inc. - Confidential and Proprietary 6
    LUUPとは
    街じゅうの電動マイクロモビリティに、
    どこからでも乗れて好きな場所に返せる
    シェアリングサービス
    LUUPは電動キックボードと電動アシスト自転車のシェアリングサービスで
    す。

    LUUPのポートは街じゅうに広がっています。駅前や繁華街、住宅街やコン
    ビニなど、近くのポートから好きなタイミングで借りて、好きな場所に返すこと
    ができます。
    毎日の最寄り駅までの移動や、「歩くには少し遠いな」と感じる場所へ向か
    うこと、できれば避けたい坂道をのぼることも、“早く・ラクに・気持ちのよい
    “ライドに変えることができます。
    現在は、東京・大阪・横浜・京都・神戸・名古屋などで展開しており、さらに拡
    大を目指しています。

    View Slide

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

    View Slide

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

    View Slide

  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はユーザーを中心に置くアクションについて書かれるべきです。

    顧客の体験を補足するには、クリティカルユーザージャーニーを利用できます。

    クリティカルユーザージャーニーは、あるユーザーの体験の中核部分となるタスクの並び
    で、サービスのきわめて重要な側面です。

    サイトリライアビリティワークブックより


    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  18. 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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  35. View Slide