Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
Copyright © 2023 Bitkey Inc. All right reserved. フロントエンドにおける Observability 株式会社ビットキー 北村 順 2023/06/13
Slide 2
Slide 2 text
Copyright © 2023 Bitkey Inc. All right reserved. 2 Outline 1. 話すこと・話さないこと 2. ざっくりアーキテクチャ全体像 3. Metrics/Logs/Traces + Profiles for フロントエンド 4. 実施した改善とその結果
Slide 3
Slide 3 text
Copyright © 2023 Bitkey Inc. All right reserved. 3 自己紹介 北村 順 Jun Kitamura 2015.4 2019.4 2021.7 株式会社フロムスクラッチ(現・株式会社データX) に入社 SaaSマーケティングツールの導入エンジニア・インフ ラエンジニアを担当 ビットキーへ参画 最初の製品リリースとほぼ同時期に入社 カギのプラットフォーム: bitkey platform や顔認証プ ロダクトの開発に従事 SREチームの立ち上げ。SLO/SLIやインシデントレスポ ンスなど様々な運用設計、構築、ツール導入を実施 し、信頼性向上へ貢献。 2023.06 SREとしてこれまでに、構築してきた様々な施策・仕組 みを各事業・プロダクトへと適切に還元していく活動を 実施中。
Slide 4
Slide 4 text
ઃཱɹɹɿ20185݄ɹ ڌɹɹɿ౦ژɾେࡕɾԬɾٶ࡚ ࢿຊۚɹɿ14,946,908,300ԁʢ202212݄31࣌ɹࢿຊ४උؚۚʣ ैۀһɿ233໊
Slide 5
Slide 5 text
5
Slide 6
Slide 6 text
6 workhubͷશͯΛͭͳ͛ΔΞϓϩʔν શͯͷεςʔΫϗϧμʔ͕ ͍͍ͨػೳ͕͜͜ʹ ʮIVCʯ͔ͩΒ࣮ͦ͜ݱͰ͖Δ ຊʹศརͳz৽͍͠ಇ͖ํz ࡉ͔ʹઃఆΛબΔ ৺Α͍αʔϏεར༻ମݧ …and more ϏϧΞΫηείϯτϩʔϧ ͋ΒΏΔ൶ΛҰݩཧ ిؾৣࣗಈυΞɺΤϨ ϕʔλʔ͔Βϑϥούʔ ήʔτ·ͰɺશͯͷηΩϡ ϦςΟΛworkhubʹ࿈ܞɻ ϗςϦϯάɾ"#8 χϡʔϊʔϚϧͳಇ͘ॴͷߏங QRϏʔίϯͰҐஔΛ ఆɻ࠲੮ʹՃ͑ɺϩοΧʔ ༧ෳڌରԠՄೳ SEQMBDFԣஅݕࡧ ͙͢ʹݟ͔ͭΔɺΛ࣮ݱ͢Δਤ γΣΞΦϑΟεݸࣨϒʔεͳͲɺ αʔϏεΛ·͍ͨͰݕࡧɾ༧ɻ ݸผʹϩάΠϯͯ͠୳͢खؒ͏ ඞཁ͋Γ·ͤΜɻ SEQMBDFӡӦࢧԉ ू٬͔ΒӡӦ·ͰΛแׅཧ ձһɾܖཧ͔Βೖୀࣨɺ ձٞࣨͳͲͷར༻࣮ूܭ͔ Βܾࡁ·Ͱɻ؆қͳ্ཱͪ͛ Ͱ༨ΤϦΞͷऩӹԽʹɻ ϑϨΩγϒϧͳೝূํ๏ ༻్ɾਓʹԠͯ͡࠷దԽ ΧʔυQRɺإೝূͳͲΤϦΞɾ ࢪઃ༻్ʹԠͨ͡ೖࣨݖݶΛ࣮ ݱɻࣾһ͚ͩͰͳ͘ɺήετۀ ऀɺϏϧཧऀʹɻ ࠞࡶঢ়گҐஔঢ়گఆ ີΛճආ͢Δۭؒͮ͘Γ AIΧϝϥͱ࿈ಈ͠ʮਓܕʯ ΛݕɻͦͷΤϦΞͷࠞࡶ ঢ়گΛՄࢹԽ͠ɺີΛආ͚ ͍ۭؒ͢Λԋग़ɻ ແਓडձٞࣨ༧ ඇର໘͔ͭߴ͍ϗεϐλϦςΟ QRͰͷड͔Βձٞࣨ༧ ɾղৣ·Ͱ࿈ಈɻηΩϡ ϦςΟΛҡ࣋ͭͭ͠ɺ҆શ ͳඇର໘ແਓडΛ࣮ݱɻ 4BB4ΞυΠϯ࿈ܞ ׳Ε͠ΜͩπʔϧͰεϜʔζʹਁಁ ΧϨϯμʔɾνϟοτͳͲ ׳Ε͠Μͩπʔϧͱͦͷ ··ܨ͕Γɺࣗવʹਁಁ͠ ͯΘΕΔπʔϧʹɻ αʔϏεͭͳ͕ΔεϚʔτϏϧ ϥϯνୡɾਗ਼ͳͲ ՄࢹԽɾੳϓϥοτϑΥʔϜ ར༻࣮σʔλΛجʹͨ͠࠷దͳۭؒ׆༻ ϚωδϝϯτμογϡϘʔυ ใΛू͠ɺࢄͨ͠ಇ͖ํΛέΞ ֤ࣄۀͰͷऔΓΈɾ࣮ɹʙWorkspace Domainʙ
Slide 7
Slide 7 text
Copyright © 2023 Bitkey Inc. All right reserved. 7 1. 話すこと・話さないこと
Slide 8
Slide 8 text
Copyright © 2023 Bitkey Inc. All right reserved. 8 1. 話すこと・話さないこと こんなこと思ったことないですか?
Slide 9
Slide 9 text
Copyright © 2023 Bitkey Inc. All right reserved. 9 1. 話すこと・話さないこと ・バックエンドのリファクタリング・バグ修正しても、事象が改善しない! ・クエリパフォーマンスチューニングしても、画面が遅い!開かない! ・一応、ボトルネック”っぽい”ところをみて改善したつもりのはずなのに。。。 こんなこと思ったことないですか?
Slide 10
Slide 10 text
Copyright © 2023 Bitkey Inc. All right reserved. 10 1. 話すこと・話さないこと ・バックエンドのリファクタリング・バグ修正しても、事象が改善しない! ・クエリパフォーマンスチューニングしても、画面が遅い!開かない! ・一応、ボトルネック”っぽい”ところをみて改善したつもりのはずなのに。。。 こんなこと思ったことないですか? ユーザー視点で 考えられているだろうか?
Slide 11
Slide 11 text
Copyright © 2023 Bitkey Inc. All right reserved. 11 1. 話すこと・話さないこと 話すこと ・GCP x Datadog を利用したフロントエンドのオブザーバビリティの観点について ・Metrics/Logs/Traces + Profiles の 4 つの柱を利用して SREs の私(not フロントエンドエンジニア)が、どういうことを考えて、何をしたのか。
Slide 12
Slide 12 text
Copyright © 2023 Bitkey Inc. All right reserved. 12 1. 話すこと・話さないこと 話すこと 話さないこと ・フロントエンド以外のオブザーバビリティ ・詳細な設定・改善方法について ・GCP x Datadog を利用したフロントエンドのオブザーバビリティの観点について ・Metrics/Logs/Traces + Profiles の 4 つの柱を利用して SREs の私(not フロントエンドエンジニア)が、どういうことを考えて、何をしたのか。
Slide 13
Slide 13 text
Copyright © 2023 Bitkey Inc. All right reserved. 13 2. ざっくりアーキテクチャ全体像
Slide 14
Slide 14 text
Copyright © 2023 Bitkey Inc. All right reserved. 14 API 2. ざっくりアーキテクチャ全体像 Cloud Load Balancing Cloud Run Cloud Functions Database AlloyDB Firestore Contents Cloud Storage frontendʢSPAʣ Firebase hosting Hardware RUM Logs dd-agent Cloud Run APM Logging Error Tracking Monitor
Slide 15
Slide 15 text
Copyright © 2023 Bitkey Inc. All right reserved. 15 API 2. ざっくりアーキテクチャ全体像 Cloud Load Balancing Cloud Run Cloud Functions Database AlloyDB Firestore Contents Cloud Storage Hardware RUM Logs dd-agent Cloud Run APM Logging Error Tracking Monitor frontendʢSPAʣ Firebase hosting
Slide 16
Slide 16 text
Copyright © 2023 Bitkey Inc. All right reserved. 16 3. Metrics/Logs/Traces + Profiles for フロントエンド
Slide 17
Slide 17 text
Copyright © 2023 Bitkey Inc. All right reserved. 17 3. Metrics/Logs/Traces + Profiles for フロントエンド ref. https://learning.oreilly.com/library/view/distributed-systems-observability/9781492033431/ch04.html 1 Metrics 2 Logs 3 Traces 時間の経過とともに発生した個別のイベントの 不変のタイムスタンプ付き記録 一定の時間間隔で測定されたデータを数値で表現したもの 分散システムを介したエンドツーエンドの リクエストフローをエンコードする 因果関係のある一連の分散イベントを表現したもの 「サービス間」でのボトルネック特定に有効
Slide 18
Slide 18 text
Copyright © 2023 Bitkey Inc. All right reserved. 18 3. Metrics/Logs/Traces + Profiles for フロントエンド ref. https://learning.oreilly.com/library/view/distributed-systems-observability/9781492033431/ch04.html 1 Metrics 2 Logs 3 Traces 分散システムを介したエンドツーエンドの リクエストフローをエンコードする 因果関係のある一連の分散イベントを表現したもの 「サービス間」でのボトルネック特定に有効 4 Profiles CPU 使用率や関数呼び出しの頻度と時間など プログラムの複雑さをコードレベル、かつ 時間ベースでその表現したもの 「サービス内」のボトルネック特定に有効 時間の経過とともに発生した個別のイベントの 不変のタイムスタンプ付き記録 一定の時間間隔で測定されたデータを数値で表現したもの
Slide 19
Slide 19 text
Copyright © 2023 Bitkey Inc. All right reserved. 19 Metrics
Slide 20
Slide 20 text
Copyright © 2023 Bitkey Inc. All right reserved. 20 Metrics ʲಡΈࠐΈͷύϑΥʔϚϯεʳ ϖʔδಡΈࠐΈ։͔࢝Β ϝΠϯίϯςϯπ͕ಡΈࠐ·ΕΔ ·Ͱͷ࣌ؒ 2.5 sec ҎԼ͕Goodʂ ʲࢹ֮తͳ҆ఆੑʳ ϖʔδͷදࣔதʹൃੜͨ͠ ༧ظ͠ͳ͍ϨΠΞτγϑτ ΛఆྔԽͨ͠ 0.1 ҎԼ͕Goodʂ ʲಡΈࠐΈͷԠੑʳ Ϣʔβʔ͕࠷ॳʹ ϖʔδΛૢ࡞ͨ͠ͱ͖͔Β ͦͷૢ࡞ʹԠͯ͡ϒϥβʔ͕ ࣮ࡍʹΠϕϯτ ϋϯυϥʔͷॲཧΛ։࢝͢ Δ·Ͱͷ࣌ؒ 0.1 sec ҎԼ͕Goodʂ https://web.dev/i18n/ja/vitals/
Slide 21
Slide 21 text
Copyright © 2023 Bitkey Inc. All right reserved. 21 Metrics ʲಡΈࠐΈͷύϑΥʔϚϯεʳ ϖʔδಡΈࠐΈ։͔࢝Β ϝΠϯίϯςϯπ͕ಡΈࠐ·ΕΔ ·Ͱͷ࣌ؒ 2.5 sec ҎԼ͕Goodʂ ʲࢹ֮తͳ҆ఆੑʳ ϖʔδͷදࣔதʹൃੜͨ͠ ༧ظ͠ͳ͍ϨΠΞτγϑτ ΛఆྔԽͨ͠ 0.1 ҎԼ͕Goodʂ https://web.dev/i18n/ja/vitals/ https://web.dev/inp/ ݄͔Β '*%ʢ'JSTU*OQVU%FMBZʣ ͔Β */1ʢ*OUFSBDUJPOUP/FYU1BJOUʣ ʲಡΈࠐΈͷԠੑʳ
Slide 22
Slide 22 text
Copyright © 2023 Bitkey Inc. All right reserved. 22 フィールドデータ・ラボデータ
Slide 23
Slide 23 text
Copyright © 2023 Bitkey Inc. All right reserved. 23 Metrics - フィールドデータ・ラボデータ - ϑΟʔϧυσʔλ ϥϘσʔλ 一貫性のある管理された環境で、ページの読み込みをシミュレートするためのツールを使用して計測される指標 e.g. CPU や Network の Throttling 実際にページを読み込み、操作しているユーザーについて 測定される指標
Slide 24
Slide 24 text
Copyright © 2023 Bitkey Inc. All right reserved. 24 Metrics - フィールドデータ・ラボデータ - https://web.dev/i18n/ja/vitals/
Slide 25
Slide 25 text
Copyright © 2023 Bitkey Inc. All right reserved. 25 Metrics - フィールドデータ・ラボデータ - ϑΟʔϧυσʔλ https://web.dev/i18n/ja/vitals/
Slide 26
Slide 26 text
Copyright © 2023 Bitkey Inc. All right reserved. 26 Metrics - フィールドデータ・ラボデータ - ϥϘσʔλ https://web.dev/i18n/ja/vitals/
Slide 27
Slide 27 text
Copyright © 2023 Bitkey Inc. All right reserved. 27 計測ツール
Slide 28
Slide 28 text
Copyright © 2023 Bitkey Inc. All right reserved. 28 Metrics - 計測ツール - 計測ツール(フィールドデータ)の選定 PageSpeed Insights ʢPSIʣ 導入 しやすさ 認証 継続的 計測 詳細 分析 備考 Datadog RUM web-vitals ʢlibraryʣ 実環境へのパフォーマンス影響が 多少発生してしまうが 詳細な分析が可能。 自前で分析する仕組みを用意 する必要がある サクッと分析するには最適だが サイトにbasic 認証経由でアクセスを 許可とかして、頑張ればいける。 主にtoC向け。 BigQuery x Looker Studio 認証が必要なサイトはできなさそう Chrome UX Report ʢCrUXʣ
Slide 29
Slide 29 text
Copyright © 2023 Bitkey Inc. All right reserved. 29 Metrics - 計測ツール - 計測ツール(フィールドデータ)の選定 PageSpeed Insights ʢPSIʣ Chrome UX Report ʢCrUXʣ 導入 しやすさ 認証 継続的 計測 詳細 分析 備考 Datadog RUM 実環境へのパフォーマンス影響が 多少発生してしまうが 詳細な分析が可能。 主にtoC向け。 BigQuery x Looker Studio 認証が必要なサイトはできなさそう サクッと分析するには最適だが サイトにbasic 認証経由でアクセスを 許可とかして、頑張ればいける。 自前で分析する仕組みを用意 する必要がある web-vitals ʢlibraryʣ
Slide 30
Slide 30 text
Copyright © 2023 Bitkey Inc. All right reserved. 30 Metrics - 計測ツール - 計測ツール(ラボデータ)の選定 PageSpeed Insights ʢPSIʣ Chrome DevTool ʢLighthouseʣ 導入 しやすさ 認証 継続的 計測 詳細 分析 備考 Lighthouse CI ローカル環境で簡単かつ詳細に 分析ができる。 サクッと分析するには最適だが サイトにbasic 認証経由でアクセスを 許可とかして、頑張ればいける。 環境整備が少し手間だが より再現性の高く継続的な 計測が実現可能。
Slide 31
Slide 31 text
Copyright © 2023 Bitkey Inc. All right reserved. 31 Metrics - 計測ツール - 計測ツール(ラボデータ)の選定 PageSpeed Insights ʢPSIʣ Chrome DevTool ʢLighthouseʣ 導入 しやすさ 認証 継続的 計測 詳細 分析 備考 Lighthouse CI 環境整備が少し手間だが より再現性の高く継続的な 計測が実現可能。 ローカル環境で簡単かつ詳細に 分析ができる。 サクッと分析するには最適だが サイトにbasic 認証経由でアクセスを 許可とかして、頑張ればいける。
Slide 32
Slide 32 text
Copyright © 2023 Bitkey Inc. All right reserved. 32 Datadog RUM(フィールドデータ)
Slide 33
Slide 33 text
Copyright © 2023 Bitkey Inc. All right reserved. 33 Metrics - Datadog RUM(フィールドデータ) - フィールドデータ ɾDatadog RUM ͷઃఆɺdatadogRum.init Λ࠷ ॳʹಡΈࠐΉ͚ͩͰ؆୯ɻ ɾpackage.json ͷ version Λऔಘͯ͠ɺversion Λ ࢦఆ͢Δͱɺversion ຖͷ web vitals error rate ͱ͔ΈΕΔΑ͏ʹͳΔɻ ref. https://docs.datadoghq.com/ja/real_user_monitoring/browser/
Slide 34
Slide 34 text
Copyright © 2023 Bitkey Inc. All right reserved. 34 Metrics - Datadog RUM(フィールドデータ) -
Slide 35
Slide 35 text
Copyright © 2023 Bitkey Inc. All right reserved. 35 Lighthouse CI(ラボデータ)
Slide 36
Slide 36 text
Copyright © 2023 Bitkey Inc. All right reserved. 36 Lighthouse CI Metrics - Lighthouse CI(ラボデータ) - Lighthouse CI Server Cloud Load Balancing Cloud Run PostgreSQL Cloud SQL Backend Service Backend Service Identity- Aware Proxy upload Developers frontendʢSPAʣ Firebase hosting 監査 (参考)ヤフー全社横断「Webパフォーマンス改善」の取り組み (Core Web Vitalsスコアの向上) https://techblog.yahoo.co.jp/entry/2022090530337093/ lighthouse CI を使うことで簡単に、Lighthouse による監査をコマンドラインで実施することができます。 また、Lighthouse CI Sever で Web UI による可視化。
Slide 37
Slide 37 text
Copyright © 2023 Bitkey Inc. All right reserved. 37 Metrics - Lighthouse CI(ラボデータ) - lighthouserc.js puppeteer-script.js 認証が必要な url においては、puppeteerScript を利用して、監査前に都度実行するスクリプトの中で、ログイン を実施するように puppeteer のスクリプトを実行してあげればok
Slide 38
Slide 38 text
Copyright © 2023 Bitkey Inc. All right reserved. 38 Metrics - Lighthouse CI(ラボデータ) - Lighthouse CI Server の Web UI で URL x Branch 単位で、Lighthouse のスコアを時系列に確認することができ、 いつそのスコアが下がったのかなどを観測できるようになった。
Slide 39
Slide 39 text
Copyright © 2023 Bitkey Inc. All right reserved. 39 Logs
Slide 40
Slide 40 text
Copyright © 2023 Bitkey Inc. All right reserved. 40 フロントエンドにおける Logs ɾͬ͘͟Γ Chrome DevTools > Console ʹग़ྗ͞ΕΔΠϕϯτͷه ɾͱ͍͑ɺຊ൪ڥͰɺconsole.log Λग़͢ͷ͍͔͕ͳͷ͔ɻ ɾͦ͜ͰɺDatadog RUMͱDatadog Logs Logs
Slide 41
Slide 41 text
Copyright © 2023 Bitkey Inc. All right reserved. 41 ■ Datadog RUM ・datadogRum.addError すると、対象のRUM session に対して、発生したエラーを紐づけて送信し、分析することができます。 ・その際、任意の context も付与することもできます。 ■ Datadog Logs ・datadogLogs.logger.xxx すると、Datadog Logs へ指定したログを送信することができます。 ・当然 error だけではなく、debug・info も送信できるので、実際のユーザーの任意の操作をログで確認することもできます。 ・Firebase Analytics(Google Analytics)でも似たようなことができるが、導入のしやすさ、リアルタイム性等の点において、 Datadog Logs の方が使いやすいなと感じています。 Logs フロントエンドにおける Logs
Slide 42
Slide 42 text
Copyright © 2023 Bitkey Inc. All right reserved. 42 Logs datadogRum.addError で、 ブラウザのエラーを収集すると Error Tracking を活用して、ブラウザのエラーをグルーピング して管理・監視することができます。
Slide 43
Slide 43 text
Copyright © 2023 Bitkey Inc. All right reserved. 43 Logs CI ͰɺࣄલʹɺDatadog sourcemap Λ upload ͓͚ͯ͠ɺIDEGitHubͱ࿈ܞ͢Δ͜ͱͰ͖·͢ɻ
Slide 44
Slide 44 text
Copyright © 2023 Bitkey Inc. All right reserved. 44 Logs Error Tracking x Monitor Λར༻͢Εɺ࣮ࡍͷϢʔβʔͷڥͰൃੜͨ͠ϒϥβΤϥʔΛࢹ͢Δ͜ͱ͕Ͱ͖·͢ɻ
Slide 45
Slide 45 text
Copyright © 2023 Bitkey Inc. All right reserved. 45 Traces
Slide 46
Slide 46 text
Copyright © 2023 Bitkey Inc. All right reserved. 46 フロントエンドにおける Traces ɾେલఏɺTraces ɺࢄτϨʔγϯάͳͷͰɺϑϩϯτΤϯυ͚ͩͰ݁͢Δ͓Ͱͳ͍ɻ ɾόοΫΤϯυ͚ͩͰͳ͘ɺϑϩϯτΤϯυؚΊͨγεςϜશମͰΈͨ࣌ͷϘτϧωοΫΛಛఆ͢Δ͜ͱɺ Ϣʔβʔࢹతʹॏཁɻ Traces
Slide 47
Slide 47 text
Copyright © 2023 Bitkey Inc. All right reserved. 47 Traces ・当初 Opentelemetry + Cloud Trace を利用して、バックエンド間のトレーシングを実現 していた。 Traces を活用すると、ユーザーのセッション・操作と実行されているSQLを紐付けて観測することができるようになり ます。
Slide 48
Slide 48 text
Copyright © 2023 Bitkey Inc. All right reserved. 48 Profiles
Slide 49
Slide 49 text
Copyright © 2023 Bitkey Inc. All right reserved. 49 Profiles https://blog.sentry.io/profiling-101-what-is-profiling/ そもそも Profiles を取得するための手法(Profiling)にはどういったものがあるのか
Slide 50
Slide 50 text
Copyright © 2023 Bitkey Inc. All right reserved. 50 Profiles https://blog.sentry.io/profiling-101-what-is-profiling/ そもそも Profiles を取得するための手法(Profiling)にはどういったものがあるのか フロントエンド バックエンド ? ? Cloud Profiler v8-profiler (Sentry…?)
Slide 51
Slide 51 text
Copyright © 2023 Bitkey Inc. All right reserved. 51 Profiles Chrome DevTools > Performances から Profiling することができます。どのコンポーネント・処理にどれくらいの 時間・リソース(e.g. CPU)がかかっているのか等が特定できます。
Slide 52
Slide 52 text
Copyright © 2023 Bitkey Inc. All right reserved. 52 4. 実施した改善とその結果
Slide 53
Slide 53 text
Copyright © 2023 Bitkey Inc. All right reserved. 53 ■ Metrics(Lighthouse) ・不要なコンポーネント削除 ・link タグに、preconnect・dns-prefetch 付与 ・適宜、Dynamic Importへ変更 ・webpack bundle analyzer 導入、webpack v4 -> v5 へ version up ・Tree Shaking、splitChunks 最適化 ・ついでに、CICD速度改善 ・Firebase Storage Region 移行(Storage Transfer Service利用 ・Cloud CDN導入 ・画像リサイズ(Firebase Resize Images ・ref. https://extensions.dev/extensions/firebase/storage-resize-images 4. 実施した改善とその結果 frontendʢSPAʣ Firebase hosting Contents Cloud Storage 3-5s 速度改善 End Users Cloud Load Balancing 100-200s 速度改善 preconnect dns-prefetch
Slide 54
Slide 54 text
Copyright © 2023 Bitkey Inc. All right reserved. 54 ■ Logs(ブラウザエラー監視) ・リリース直後に、発生した新しいエラーを通知することで、すぐにブラウザでのエラーを検知し、修正・リリースする 流れを構築することができた。 4. 実施した改善とその結果 Developers End Users ■ Profiles(Chrome DevTools) ・コードレベルで、ボトルネック特定し、不要な処理の削除、及び、メモ化等のリファクタリング ・フロントエンドの重複した処理を、バックエンドに寄せるように API 追加・修正 etc... frontendʢSPAʣ Firebase hosting Developers frontendʢSPAʣ Firebase hosting エラー発生! 新しい エラーのみ Profiling
Slide 55
Slide 55 text
Copyright © 2023 Bitkey Inc. All right reserved. 55 ■ 結果 ・Lighthouse のスコアは若干上がったけど、全然上がらん。。。!? ・主要な URL をいくつか監査したが、全体平均5ポイント程度しか改善しなかった。 ・逆にがっつりリファクタリングしたコンポーネントを含む URL とかは、25 -> 55 と 30 ポイントくらい改善しているの で、ちまちま改善するより、書き直した方がいい場合もあるなーという感想。(もはやフロントエンド関係ない ・傾向として、TBT が大きい(メインスレッドを占有している)コンポーネントとかは、その傾向が高いかも? ・(ここまで言っておいてなんだが)Lighthouse のスコアやDatadogの指標を改善することは 結果論であって、目的ではない。 ・そもそも SEO とか関係ないプロダクトはそこまで意識する必要はないかも?という前提がある。 ・かつ、改善したいのは、「スコア」ではなく、「ユーザー体験」ということを忘れてはならない。 ・ステークホルダーと「ユーザー体験に基づいた指標(SLI)とスコアの基準(SLO)」を、合意することが大切。 4. 実施した改善とその結果
Slide 56
Slide 56 text
Copyright © 2023 Bitkey Inc. All right reserved. 56 さいごに
Slide 57
Slide 57 text
Copyright © 2023 Bitkey Inc. All right reserved. 57 さいごに ユーザー視点で 考えられているだろうか?
Slide 58
Slide 58 text
Copyright © 2023 Bitkey Inc. All right reserved. 58 ・「ユーザー視点」によるオブザーバビリティの構築・運用 ・フロントエンド ~ ハードウェア 一気通貫したオブザーバビリティ の実現へ ・「ユーザー視点」によるSLO/SLIの構築・運用 ・ハードウェアを絡めた解錠体験等に対する SLO・SLI の実装、運用へ ・「ユーザー視点」による運用体制構築 ・アラート ~ サポート対応までのシームレスな体制へ さいごに
Slide 59
Slide 59 text
End of File Copyright © 2023 Bitkey Inc. All right reserved. 59