Upgrade to Pro — share decks privately, control downloads, hide ads and more …

オブザーバビリティと開発優先度との向き合い方

Tomonori Hayashi
September 24, 2024
610

 オブザーバビリティと開発優先度との向き合い方

2024.09.25 オブザーバビリティ実践までの道のり〜各社の課題とアプローチ方法とは?〜 の 10 分枠で登壇させていただいた際の資料です。
https://findy.connpass.com/event/328935/

Tomonori Hayashi

September 24, 2024
Tweet

Transcript

  1. Tomonori Hayashi • NTT コミュニケーションズ イノベーションセンター所属 ◦ ノーコード時系列分析ツール「 Node-AI」の開発/運用 ◦

    ソフトウェアエンジニア ▪ Front:TypeScript - React/Next.js ▪ Infra:Google Cloud • Google Cloud Partner Top Engineer 2024 • Google Cloud All Certifications • コミュニティ ◦ Jagu’e’r デジクラ人材育成分科会 ◦ Jagu’e’r O11y-SRE 分科会 2 @pHaya72 @t_hayashi
  2. Node-AI の紹介 • ノーコードで AI モデルを作成できる WEB アプリケーション • カードを直感的につなげるだけで

    時系列データの前処理から AI モデルの学習・評価までの パイプラインを作成・実行 できる • 技術スタック ◦ TypeScript + React / Next ◦ Python + Django ◦ C# + ASP.NET Core + SignalR ◦ Kubernetes ◦ Google Cloud ◦ Scikit-learn / Tensorflow / Pytorch 3
  3. デモとして検証環境で実際にやってみる 18 実演することが一番伝わりやすい 検証環境でレスポンスが遅いリクエストのパフォーマンス改善に取り組んでみて、チームメンバー に共有した マイクロサービス間を行き来するリクエストがトレースによって可視化されボトルネックを発見しやす いことを示した “オブザーバビリティツールは、 捉えどころのない問題を素早く発見するた めに設計

    されています。 … 新しいイニシアティブを率先して行う場合、比較的早くポイントを獲得すること が重要です。難しい問題や捉えどころのない問題をすぐに解決すること で、価値を示し、好奇心を刺激し、興味を引き付けましょう 。” — 書籍「オブザーバビリティ・エンジニアリング」 10章 オブザーバビリティへの取り組みをチームへ適用する
  4. チームの開発メンバーは全員 SWE 10 名の開発メンバーは全員ソフトウェアエンジニアとして、内製でアプリケーション開発に取り組んでいる 開発しているアプリケーションを売り出すフェーズにあり、開発に加えて、お客様との打ち合わせなどビジネス面に寄与する取り組みも増え ている 実践までの道のりは険しい 20 優先度 稼働

    費用 ユーザーに価値を提供するための 機能開発が第一優先 開発者が割ける時間は少ない チームとして使える予算には 限りがある 技術検証や導入に費やせる 費用は多くない ユーザーに価値を提供するための 機能開発が第一優先 オブザーバビリティ関連の 開発の優先度を上げづらい
  5. チームの開発メンバーは全員 SWE 10 名の開発メンバーは全員ソフトウェアエンジニアとして、内製でアプリケーション開発に取り組んでいる 開発しているアプリケーションを売り出すフェーズにあり、開発に加えて、お客様との打ち合わせなどビジネス面に寄与する取り組みも増え ている 実践までの道のりは険しい 21 優先度 稼働

    費用 ユーザーに価値を提供するための 機能開発が第一優先 開発者が割ける時間は少ない チームとして使える予算には 限りがある 技術検証や導入に費やせる 費用は多くない ユーザーに価値を提供するための 機能開発が第一優先 オブザーバビリティ関連の 開発の優先度を上げづらい 稼働と費用についてはこちらの資料で オブザーバビリティ環境を構築する際のポイントを載せています https://speakerdeck.com/phaya72/toarusohutoueaenzinianoxiao-sakushi-meruobuzababiritei
  6. 22 現在のオブザーバビリティ環境 サービス A サービス B 計装 計装 ✔メトリクス ✔ログ

    ✔トレース ✔ プロファイル オブザーバビリティバックエンド HTTP ステータスコードの 4xx / 5xx の回数や頻度 処理の実行時間( Duration) 手動計装 PO 含めチームに伝えるべきことは・・
  7. 23 出来ていること・出来ていないこと New Relic のオブザーバビリティ成熟度モデルと照らし合わせる ◼ 成熟度 0:Getting Started •

    パーフォマンス計測 • スケールする製品の投入計画 ◼ 成熟度 1:Reactive(受動的) • MTTR(Mean Time To Repair) の改善 • アプリケーションパフォーマンスの気づき ◼ 成熟度 2:Proactive(積極的) • MTTD(Mean Time To Discover) の改善 • サービスレベルの計測
  8. 24 出来ていること・出来ていないこと New Relic のオブザーバビリティ成熟度モデルと 照らし合わせる ◼ 成熟度 0:Getting Started

    • パーフォマンス計測 • スケールする製品の投入計画 ◼ 成熟度 1:Reactive(受動的) • MTTR(Mean Time To Repair) の改善 • アプリケーションパフォーマンスの気づき ◼ 成熟度 2:Proactive(積極的) • MTTD(Mean Time To Discover) の改善 • サービスレベルの計測 ✅ 応答時間やスループットといったアプリケーション パフォーマンスに関するテレメトリーの収集が可能 ✅ メトリクスやログに加えてトレースの収集も可能となり、   ツールでの分析によって異常の発見対応は早くなった
  9. 25 出来ていること・出来ていないこと New Relic のオブザーバビリティ成熟度モデルと 照らし合わせる ◼ 成熟度 0:Getting Started

    • パーフォマンス計測 • スケールする製品の投入計画 ◼ 成熟度 1:Reactive(受動的) • MTTR(Mean Time To Repair) の改善 • アプリケーションパフォーマンスの気づき ◼ 成熟度 2:Proactive(積極的) • MTTD(Mean Time To Discover) の改善 • サービスレベルの計測 ✅ 応答時間やスループットといったアプリケーション パフォーマンスに関するテレメトリーの収集が可能 ✅ メトリクスやログに加えてトレースの収集も可能となり、   ツールでの分析によって異常の発見対応は早くなった ❌ ツールが利用できるのは一部のメンバーのみで、チーム全体   での取り組みにはなっていない、スケールに課題がある ❌ アプリケーションパフォーマンス改善は一部のメンバーが気   づいた時に取り組む程度、継続性に課題がある ❌ SLI/SLO の定義ができていない
  10. オブザーバビリティ実践までの道のりは険しい • オブザーバビリティの仕組みを導入するにあたり課題であった開発優先度の問題 ◦ オブザーバビリティに取り組むことはユーザーへの価値提供 = 常にユーザーが利用できる状態に近づけることで当たり前品質の担保 をメッセージに ◦ デモとして実際にパフォーマンス改善にやってみせた

    まだまだ出来ていないことばかり、でも一歩ずつ歩めている • 実際に導入してみての出来ていること・出来ていないこと ◦ New Relic のオブザーバビリティ成熟度モデルを道標に 出来ていること・出来ていないことを 把握 ◦ チームの状況に合わせて Next Step を今後も考えていく まとめ
  11. オブザーバビリティ実践までの道のりは険しい • オブザーバビリティの仕組みを導入するにあたり課題であった開発優先度の問題 ◦ オブザーバビリティに取り組むことはユーザーへの価値提供 = 常にユーザーが利用できる状態に近づけることで当たり前品質の担保 をメッセージに ◦ デモとして実際にパフォーマンス改善にやってみせた

    まだまだ出来ていないことばかり、でも一歩ずつ歩めている • 実際に導入してみての出来ていること・出来ていないこと ◦ New Relic のオブザーバビリティ成熟度モデルを道標に 出来ていること・出来ていないことを 把握 ◦ チームの状況に合わせて Next Step を今後も考えていく → オブザービリティは最初の一歩でも大きな価値を得られると思います! まとめ
  12. CREDITS: This presentation template was created by Slidesgo, and includes

    icons by Flaticon, and infographics & images by Freepik Thanks! 28 @pHaya72 @t_hayashi