Slide 1

Slide 1 text

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

Slide 2

Slide 2 text

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

Slide 3

Slide 3 text

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

Slide 4

Slide 4 text

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

Slide 5

Slide 5 text

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

Slide 6

Slide 6 text

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

Slide 7

Slide 7 text

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

Slide 8

Slide 8 text

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

Slide 9

Slide 9 text

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

Slide 10

Slide 10 text

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

Slide 11

Slide 11 text

CUJ、全くわからん🙃 11

Slide 12

Slide 12 text

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

Slide 13

Slide 13 text

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

Slide 14

Slide 14 text

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

Slide 15

Slide 15 text

Service Level Management❤ 15

Slide 16

Slide 16 text

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

Slide 17

Slide 17 text

distributed tracing❤ 17

Slide 18

Slide 18 text

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

Slide 19

Slide 19 text

New Relic CodeStream❤ 19

Slide 20

Slide 20 text

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

Slide 21

Slide 21 text

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

Slide 22

Slide 22 text

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

Slide 23

Slide 23 text

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

Slide 24

Slide 24 text

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

Slide 25

Slide 25 text

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

Slide 26

Slide 26 text

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

Slide 27

Slide 27 text

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

Slide 28

Slide 28 text

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

Slide 29

Slide 29 text

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

Slide 30

Slide 30 text

Website Performance Monitoring ❤ 30

Slide 31

Slide 31 text

Website Performance Monitoring を使ってみた 31

Slide 32

Slide 32 text

実際に計測してみる 32

Slide 33

Slide 33 text

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

Slide 34

Slide 34 text

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

Slide 35

Slide 35 text

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

Slide 36

Slide 36 text

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