15年続くIoTサービスのSREエンジニアが挑む分散トレーシング導入
by
Melonps
×
Copy
Open
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Slide 1
Slide 1 text
15年続くIoTサービスの SREエンジニアが挑む 分散トレーシング導入 ~技術をビジネス価値に翻訳する試行錯誤の記録~ ROOM B|16:05 – 16:35 パナソニック株式会社 エレクトリックワークス社 ● 黒﨑 耕平 ● 筧 万里
Slide 2
Slide 2 text
1:私たちについて 2:私たちの試行錯誤の記録 2-1:分散トレーシングの導入失敗・・・ 2-2:失敗の要因を分析 2-3:導入に向けて再挑戦中! 3:まとめ 目次 2 1:私たちについて
Slide 3
Slide 3 text
3 Kohei Kurosaki(黒﨑 耕平) ● Home IoT 『AiSEG』のSREを担当 ● カメラとクルマとバイクとインテリアと Kubernetesが好き ● 最近おうち SREはじめました Speaker
Slide 4
Slide 4 text
4 Banri Kakehi(筧 万里) ● 家庭用燃料電池 『エネファーム』の SREを担当 ● ハッカソンが大好き ● Webフロントエンドとモバイルアプリの 開発ばかりやっていました Speaker
Slide 5
Slide 5 text
エレクトリックワークス社について 5 ◎パナソニックグループの中で電気設備に関する商材を担当
Slide 6
Slide 6 text
Home IoT『AiSEG』について① 6 ◎エネルギーのみえる化、家電のコントロールができる IoTデバイス 現行機 従来機
Slide 7
Slide 7 text
7 ※他社製品も連携可能 ● 電気代データ のチェック ● 家電の操作 Home IoT『AiSEG』について②
Slide 8
Slide 8 text
突然ですが、皆さん ... 8 可観測性向上は進んでいますか? 現場では、おざなりになっていませんか?
Slide 9
Slide 9 text
技術をビジネス価値に翻訳する方法 本セッションでお伝えしたいこと 9 可観測性向上を目的に分散トレーシング導入に挑戦しました。 この実例をもとにお話しします。
Slide 10
Slide 10 text
1:私たちについて 2:私たちの試行錯誤の記録 2-1:分散トレーシング導入の実例 2-2:失敗の要因を分析 2-3:導入に向けて再挑戦中! 3:まとめ 目次 10 2-1:分散トレーシングの導入失敗・・・
Slide 11
Slide 11 text
可観測性(Observability・O11y)とは? ◎システム内部に手を加えずに外部から状態を推論できる能力 11 オブザーバビリティ・エンジニアリング, O’Reilly Japan, https://www.oreilly.co.jp/books/9784814400126/
Slide 12
Slide 12 text
12 ◎リクエストがサービス間をどのように流れ、どの処理に時間がかかっているかを可 視化・追跡する技術 消費電力を確認したい! 1リクエストの処理の流れ トレース 分散トレーシングとは? トレースデータ(スパンの集合)を集約
Slide 13
Slide 13 text
クラウド技術の発展と共にスケール 13 2012 2018 2025 2016 AiSEG販売開 始 AiSEG2販売開始 専用スマホアプリ スマートHEMSサービス開始 2015 サービスの歴史 信頼性向上の歴史 2020 スマートスピーカーサービス開始 実行基盤を K8sに移行 2022 メトリクス収集 ログ収集の開始 AiSEG3販売開始 2026 スマホアプリ刷新 2021 ログの中央集権化 2023 ネットワーク改善 分散トレーシング導入試み 無停止リリース
Slide 14
Slide 14 text
分散トレーシング導入の経緯 14 実績:k8s基盤へ移行&マイクロサービス化 新たな懸念: ・サービス間の依存関係の把握が困難 ・トラブルシューティングの難易度が増加 (ログをみてk8sの状態をみてMeshを見て…) 分散トレーシング導入に挑戦 2020年 2022年
Slide 15
Slide 15 text
導入は失敗に終わる 15 ◎当初想定していたよりコストが跳ねて打ち切りに ・SaaS&インフラコスト:想定の10倍 ・実装コスト:計装に使う工数が早い段階で想定以上の増加 チームとして続ける流れにならず、終了 ◎推進の中心にいた人物が別プロジェクトへ … 黒崎だけが残る(具体的な進め方がわからず...) 計装(Instrumentation):アプリケーションやサービスに追跡情報(トレースデータ)を自動的に収集させるための仕組みを組み込むこと。
Slide 16
Slide 16 text
なぜ今、再挑戦をしたいのか? 16 ◎メンバーのレベルが上り、技術の価値がわかるように ・「今ならもっとうまくやれるんじゃ?」を直感 ・主要メンバーの高齢化で、属人化に対する危機感の高まり 技術的挑戦だけでなく、 どうビジネス価値へ貢献するか?が重要になった
Slide 17
Slide 17 text
1:私たちについて 2:私たちの試行錯誤の記録 2-1:分散トレーシング導入失敗・・・ 2-2:失敗の要因分析 2-3:導入に向けて再挑戦中! 3:まとめ 目次 17 2-2:失敗の要因を分析
Slide 18
Slide 18 text
分散トレーシング導入失敗の要因 18 ● 知識、経験不足 ● コスト見積もりの甘さ ● 価値が不明確 ● 共通認識の欠如 認識面 技術面
Slide 19
Slide 19 text
技術面の失敗要因分析 19 ◎スキルや知識、社内ノウハウの問題 ・大規模サービスにおけるインフラの制約やコスト上昇 ・SDKの使用方法や計装のノウハウ、リファレンス不足 ・何を可視化したいのか?の問がなかった そもそも技術的な難しさの特定・把握が足りてなかった
Slide 20
Slide 20 text
当時の分散トレーシングの構成 20 SDK→ Collector(受信・バッチ) → SaaS Backend(ストレージ・検索・ UI)という流れ
Slide 21
Slide 21 text
当時甘くみていたコストの見積もり 21 サービスが大きくなるほど、テレメトリ送受 信の負荷が増大。検索自体のリソースも無 視できない。 リソースコスト 1 SaaS利用料 2 トレース取り込み量/Span数/保持期間 などに依存。サンプリングを考えておらず 膨大になった。 実装コスト 3 SDKの使い方や計装のノウハウが全くな かった。当時は成熟度が足りず、技術的な 工夫が必要だった。 インフラ負荷とコストが 想定の1.5倍 年間の利用予想額を 1か月で使い切り 用意した工数を 2か月で使い切り
Slide 22
Slide 22 text
実装コスト増加の理由 22 ◎いきなり IoTデバイスまでの E2Eトレーシングに挑戦した HTTP リクエスト 1.HTTPリクエストはスパンの設定が簡単 2. 非同期の振る舞いに対してスパンの設定が困難 3.一貫性のためコンテキストの伝搬に工夫が必要 4. 上下や他サービスも考慮するとより複雑に
Slide 23
Slide 23 text
23 認識面について失敗要因の分析 ビジネス価値に貢献する指標の共通認識がない 長期的な価値創出が停滞してしまった
Slide 24
Slide 24 text
ビジネス価値に貢献する指標の共通認識がない 24 ◎可観測性向上がもたらす価値の様々な例 最近は障害も少ないから 機能開発だけでいい Aさん とにかく新しい技術を 取り入れたい Bさん 運用に無駄が多い 早く自動化したい Cさん リスクや不確実性に対し簡単に振り回されてしまう
Slide 25
Slide 25 text
長期的な価値創出の停滞 25 ◎タスク優先度の設定方針が定まっていなかった Do Last Avoid Do Fast Do Second 緊急度 タスクの大きさ ・脆弱性対応 ・インシデント対応 ・EOL ・新機能開発 ・可観測性向上 ・分散トレーシング ・トイル撲滅 High Mid Low None タスク管理マトリックス 分散トレーシングは放置されがちな課題に
Slide 26
Slide 26 text
1:私たちについて 2:私たちの試行錯誤の記録 2-1:分散トレーシングの導入失敗・・・ 2-2:失敗の要因を分析 2-3:ビジネス価値を定義して再挑戦 3:まとめ 目次 26 2-3:導入に向けて再挑戦中!
Slide 27
Slide 27 text
技術面の見直し 27 認識面 技術面 ● 知識、経験不足 ● コスト見積もりの甘さ ● 価値が不明確 ● 共通認識の欠如
Slide 28
Slide 28 text
分散トレーシングで何を把握したいか? 28 ◎まずは問を明確化。それをもとに導入戦略を具体化した
Slide 29
Slide 29 text
【再掲】従来の分散トレーシングの構成 29 ◎計装/SaaS/インフラにかかるコストが許容範囲を超えていた
Slide 30
Slide 30 text
再設計した分散トレーシングの構成 30 ◎まずはOSSを活用し、運用負荷 /OSSでの限界を探索する
Slide 31
Slide 31 text
コストの見積もり 31 ◎自動計装 +サンプリング戦略設定の場合 サンプリング戦略の設定により コントロール可能に。 リソースコスト 1 SaaSの利用コスト 2 必要な機能を絞り込むことで、 まずはSaaSなしでの実現を狙う 実装コスト 3 自動計装を主体としてサービスへの 手動計装を最小限に抑える。 不足している部分はクリティカルパスか ら手動計装を追加する。
Slide 32
Slide 32 text
認識面の見直し 32 認識面 技術面 ● 知識、経験不足 ● コスト見積もりの甘さ ● 価値が不明確 ● 共通認識の欠如
Slide 33
Slide 33 text
まずSREに対する理解を深めた 33 ◎社内の勉強会からスタート ● すぐに始められることを探した ● モニタリング ● ポストモーテム ● 参考にできる部分を探した ● ビジネス価値に貢献する指標の定義方法 ● 自動化によって生まれる価値の見積もり方 SRE サイトリライアビリティエンジニアリング, O’Reilly Japan, https://www.oreilly.co.jp/books/9784873117911/
Slide 34
Slide 34 text
参考:Googleにおける信頼性の制御 ◎信頼性を保ちながらどうやって自動化を進めたか ● SLO(サービスレベル目標) :ユーザーが満足するために守るべきサービスの品質目標 ● エラーバジェット :SLOを守るために、どれだけのダウンタイムやエラーを許容するか 信頼性向上 自動化・ トイル削減 開発を進めすぎると 信頼性が置き去りになる 信頼性を高めぎると 開発が遅れる SLOに紐づくエラーバジェット の 消費状態で決定 34 しかし、最初の一歩として進めるにはまだハードルがあった
Slide 35
Slide 35 text
はじめの一歩として行ったこと 35 ◎「ビジネス価値に貢献できる指標」=「価値創出の時間」と定義した ● 各チームから小さく・シンプルに始められること。 ● エラー予算等の計測基盤がなくても今日から始められること。 ● KPIがなくても若手メンバーが始められること。 内部工数の割合 運用作業 開発 運用作業 開発 新たな価値の創造へ
Slide 36
Slide 36 text
ビジネス価値への貢献度を見積もる 36 ◎分散トレーシングの導入の貢献度は? 得られる価値創出の時間 = 4 [時間/件] × 2 [件/月] + 10 [時間] = 18 [時間/月] 問い合わせ調査時間の減少 得られる価値創出の時間 = 3 [時間/週] × 0.5 × 4 [週間] = 6 [時間/月] 属人化の解消
Slide 37
Slide 37 text
現状できてきたこと 37 ・知識、経験不足 ・価値が不明確 認識面 技術面 ・コスト見積もりの甘さ ・共通認識の欠如 タスク優先度の適切な設定へ・・・
Slide 38
Slide 38 text
認識面で残っている課題 38 ◎チーム内の優先度付けに、まだまだデータを使えていない ● ビジネス側との関係性はあっても、 SREとしてデータを用いた判断方針を共有できていない ◎(5~10年単位で)今の指標を使い続けることはきっと難しい ● 長く続いてるサービスだと、人が変わる、指標も変わるはず ● 常に考えて、自分たちでベストを求めていきたい
Slide 39
Slide 39 text
1:私たちについて 2:私たちの試行錯誤の記録 2-1:分散トレーシングの導入失敗・・・ 2-2:失敗の要因を分析 2-3:導入に向けて再挑戦中! 3:まとめ 目次 39 3:まとめ
Slide 40
Slide 40 text
技術をビジネス価値に翻訳する方法 【再掲】本セッションでお伝えしたいこと 40 可観測性向上を目的に分散トレーシング導入に挑戦しました。 この実例をもとにお話しします。
Slide 41
Slide 41 text
技術をビジネス価値に翻訳する方法 41 1 ビジネス価値に貢献できる指標を定義する 2 課題とその打ち手(技術)を検討する 3 ビジネス価値への貢献度を見積もる 4 タスク優先度の設定方針に取り込む 定量な表現 =ビジネス価値への翻訳 信頼性も 置き去りにしない!
Slide 42
Slide 42 text
No content