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

俺達のSREとNew_Relicを読んでみた

 俺達のSREとNew_Relicを読んでみた

NRUG (New Relic User Group) SRE支部 Vol.3で使った発表資料です

紹介した書籍
https://techbookfest.org/product/mH7sfRsGupWnvD8iECpAdz

Twitter : @ymd65536

Kento.Yamada

June 27, 2023
Tweet

More Decks by Kento.Yamada

Other Decks in Programming

Transcript

  1. 俺達のSREとNew Relicを読んでみた
    1

    View Slide

  2. このLTでやること
    ● 自己紹介
    ● 「俺達のSREとNew Relic」とは
    ● 所感
    ● 本書の紹介
    ● まとめ
    2

    View Slide

  3. https://twitter.com/ymd65536
    https://github.com/ymd65536
    https://qiita.com/ymd65536
    自己紹介
    山田顕人(やまだけんと)
    2016年4月
    KDDIエボルバ
    新卒(1期生)
    ITスペシャリスト
    2022年10月
    6年 2023年6月
    本執筆
    本執筆 イマココ👇
    アイレット株式会社
    MSP開発セクション
    ※3冊目 執筆中
    https://zenn.dev/ymd65536
    3

    View Slide

  4. 「俺達のSREとNew Relic」とは
    ● オブザーバビリティ初心者でもわかる!
    ● CUJ/SLI/SLOの基礎が学べる!
    ● SREの真髄を見るような1冊!!
    ● New Relicのハンズオンがついている!
    ● OaC(オブザーバビリティ・アズ・コード)
    オブザーバビリティをやるなら読むべき1冊
    4
    出典:技術書典14より

    View Slide

  5. 本書の構成
    第1章 CUJ / SLI / SLO(決定方法、測定方法、見直し)
    第2章 アプリケーションのパフォーマンス問題を特定する
    第3章 スタックトレースから問題を迅速に特定する
    第4章 アプリケーションの応答速度を継続的に観測する
    第5章 Webページのユーザー体験を継続的に観測する
    第6章 Observsbility as Code(OaC)
    付録
    5

    View Slide

  6. 本書の構成
    第1章 CUJ / SLI / SLO(決定方法、測定方法、見直し)
    第2章 アプリケーションのパフォーマンス問題を特定する
    第3章 スタックトレースから問題を迅速に特定する
    第4章 アプリケーションの応答速度を継続的に観測する
    第5章 Webページのユーザー体験を継続的に観測する
    第6章 Observsbility as Code(OaC)
    付録
    6

    View Slide

  7. 本書の構成
    第1章 CUJ / SLI / SLO(決定方法、測定方法、見直し)
    第2章 アプリケーションのパフォーマンス問題を特定する
    第3章 スタックトレースから問題を迅速に特定する
    第4章 アプリケーションの応答速度を継続的に観測する
    第5章 Webページのユーザー体験を継続的に観測する
    第6章 Observsbility as Code(OaC)
    付録
    7

    View Slide

  8. 第1章 CUJ / SLI / SLO(決定方法、測定方法、見直し)
    8
    CUJ SLI SLO
    👉 👉
    SLOを決める為にはどうしたら良いかがわかる章
    考えていくうちに提供しているシステムの役割が明確になる!
    ※エラーバジェットの話もあります

    View Slide

  9. 補足:CUJ(Critical User Journey)とは
    対象サービスのユーザーにとって重要な体験
    9
    CUJはUI/UXやビジネスに直結する話!

    View Slide

  10. CUJはどう考えたら良いんだろう
    10

    View Slide

  11. CUJ、全くわからん🙃
    11

    View Slide

  12. サービスがどんな利益をもたらしているか
    どのような役割を果たしているか
    そういうところから逆算して考えれば良いのでは?
    ん?ワーキングバックワーズ的な考え方と同じでは?
    ドメインが考え抜かれたソフトウェアの設計を辿るのもあり?
    12
    ※ワーキングバックワーズ:全てを顧客起点で考えるAmazonの課題解決メソッド

    View Slide

  13. CUJを考える時のポイント 〜山田流🐶〜
    13
    〜どのように考えていけば良いかのポイント〜
    ● ユーザーからはどのような期待をされているか
    ● サービスの役割は何か
    ● どのような機能を最重要とするか

    View Slide

  14. 指標を考えるのって大変ですよね🤪
    14

    View Slide

  15. Service Level Management❤
    15

    View Slide

  16. 第2章 アプリケーションのパフォーマンス問題を特定する
    16
    マイクロサービスアーキテクチャもたらす課題
    そして、課題をNew Relicではどのように解決するかが書かれた章
    要するに分散トレーシングの話
    Open TelemetryとかGolangで計装するとか

    View Slide

  17. distributed tracing❤
    17

    View Slide

  18. 第3章 スタックトレースから問題を迅速に特定する
    18
    いかにしてエラー分析に迅速に対処するかが書かれた章
    エラーを素早く分析して調査活動の時間を短縮し、DevEx(開発者体験)を向上!

    View Slide

  19. New Relic CodeStream❤
    19

    View Slide

  20. 参考:New Relic CodeStream
    20
    ※注意事項:New Relicのアカウントとは別にCodStreamのアカウントが必要

    View Slide

  21. 第4章 アプリケーションの応答速度を継続的に観測する
    21
    顧客体験のモニタリングがどれほど重要かがわかる章
    Apdex (Application Performance Index)を計測してユーザー体験を可視化する!

    View Slide

  22. そもそもApdexとはなんだろう🤔
    22

    View Slide

  23. 補足:Apdex(アプデックス)とは
    ユーザー体験を評価する為の定量的な指標であり、業界標準で決まっている
    23

    View Slide

  24. Apdex Score❤
    ※New Relicに実装されているAPM機能の一つ
    24

    View Slide

  25. 第5章 Webページのユーザー体験を継続的に観測する
    25
    Core Web Vitalsの重要性と計測方法がわかる章
    Core Web Vitalsを計測してユーザー体験を可視化する!

    View Slide

  26. Core Web Vitalsとはなんだろう🤔
    26

    View Slide

  27. Core Web Vitals
    Google が提唱する
    Web ページのパフォーマンスと ユーザー体験を評価するための 3 つの主要指標
    27
    ユーザー体験の改善に用いられる指標!

    View Slide

  28. 補足:Core Web Vitalsの主な要素
    ● LCP(Largest Contentful Paint)
    ○ ページのメインとなるコンテンツが読み込まれた時間を示す指標
    ● FID(First Input Delay)
    ○ ページ上で最初の操作を実行した際にブラウザがその操作に反応するまでの遅延時間
    ● CLS(Cumulative Layout Shift)
    ○ レイアウトのズレを表す指標
    28

    View Slide

  29. New Relic Browser Monitoring❤
    なんだけども。。。
    29

    View Slide

  30. Website Performance Monitoring ❤
    30

    View Slide

  31. Website Performance Monitoring を使ってみた
    31

    View Slide

  32. 実際に計測してみる
    32

    View Slide

  33. 第6章 Observebility as Code(OaC)
    ですが。。。
    最後はハンズオンなので説明するより実際にやっていただくと良いのかなと思うので内
    容は割愛します。
    ※書いてある内容と合わせて読むことで理解できる章!
    33

    View Slide

  34. オブザーバビリティって何なのさ
    ● 個別監視の集合体
    ● システムの健全性を観測できる度合い
    ● システムパフォーマンスを計測する為の概念
    システムのことをよく知り、エラーを可視化する為の手段である。
    そして、よく可視化されているシステムはエラーを直しやすい!
    34

    View Slide

  35. 補足:個別監視の集合体
    35
    インフラ・ネットワーク
    アプリケーション
    ビジネス
    顧客体験
    監視
    監視
    監視
    監視
    オブザーバビリティ

    View Slide

  36. まとめ
    ● 前提知識のおさらい
    ● 山田流 CUJの考え方を紹介
    ● 2章~5章を振り返り
    ● デジタル庁のサイトにWebsite Performance Monitoringを使うとすごいことになる
    ● オブザーバビリティとは何か
    36

    View Slide