オブザーバビリティ最前線 〜 事例LTから学ぶ、オブザーバビリティの成熟度〜 2023年5月23日(火)19:00〜 LT1-1『守りから「攻め」の開発へ!New Relicを活用してサービスと共に成長するチームになる』
https://www.dip-net.co.jp/1守りから「攻め」の開発へ!New Relicを活⽤してサービスと共に成⻑するチームになるディップ株式会社小森谷良輝
View Slide
https://www.dip-net.co.jp/2早速ですが
https://www.dip-net.co.jp/3こんなこと、ありませんか?
https://www.dip-net.co.jp/4こんなこと、ありませんか?調査に⼈的コストがかかるシステム全体が監視できていない担当者間で伝言ゲームになる有識者が手作業で調査している(目grep最強!)原因の切り分けが難しい…インフラ?ミドルウェア?ソースコード?はたまた?サーバーに入れない(ログが見られない…)
https://www.dip-net.co.jp/5こんなこと、ありませんか?監視ツールが浸透していないアラートの対応方法がわからないアラートが無視されているツールが複数ある(どれを見たらいいの?)一部のエンジニアのみ活用できている監視ツール向けの教育までやる余裕がない…
https://www.dip-net.co.jp/6こんなこと、ありませんか?エンジニアのパフォーマンスがわからない最近動きが悪いような?定量的な指標がない人は増えたけど、成果出てるっけ?ボトルネックはどこだろう?
https://www.dip-net.co.jp/7New Relicを使ってこれらを解決したい!
https://www.dip-net.co.jp/8その頑張りを⾒てほしい
https://www.dip-net.co.jp/9そんな話です
https://www.dip-net.co.jp/10バイトルのユーザーサイト開発小森谷良輝最近はスクラムマスターバイトルユーザーサイト開発で社員エンジニア第一号Twitter: @ramiyon_chanディップ株式会社エンジニア歴6年目バイトルは20周年!2022年4月入社
https://www.dip-net.co.jp/11本題の前に
https://www.dip-net.co.jp/12宣伝です
https://www.dip-net.co.jp/13カジュアル⾯談やってます!この辺を読み込んでね!
https://www.dip-net.co.jp/14さて本題
https://www.dip-net.co.jp/15New Relic導⼊の経緯「ガンガン作れる200⼈体制」(内製化)の推進
https://www.dip-net.co.jp/16New Relic導⼊の経緯「ガンガン作れる200⼈体制」(内製化)の推進- 多⾓的なシステム全体の「⾒える化」- ≠インフラ担当から⾒えればいい- ≠パートナーから⾒えればいい- 担当‧領域を限定せず各エンジニアが⾒られるように- 監視から「オブザーバビリティ」へ- (バイトルでは)インフラ担当による監視がメイン- 各エンジニアが価値創造に貢献する主体性がほしい
https://www.dip-net.co.jp/17New Relic導⼊の経緯「ガンガン作れる200⼈体制」(内製化)の推進「噂によると、New Relicってのがいいらしい…」
https://www.dip-net.co.jp/18といって導⼊したものの…
https://www.dip-net.co.jp/19困難の数々- ⾔語のバージョンが古くてAPMが⼊らない- スクリプトではなく、パッケージインストールで対応- ⼀部機能がそのままでは使えない- Logs in Contextを使うためのライブラリが⼊らない…- アラートが次々と上がる- 裏からアクセスするAPIの処理時間が⻑い- 動作上の問題はないけど…- 既存のアラートはどう移植するの?NRQLって何よ?
https://www.dip-net.co.jp/20困難の数々- エラーが補⾜できない- 握り潰してるじゃん!!- ログが⾒づらい- アプリのログが構造化されてなく意図した表⽰にならない- アクセスログが独⾃のフォーマットでパースできない
https://www.dip-net.co.jp/21でも便利な点もある
https://www.dip-net.co.jp/22APM- トランザクションタイム‧Apdexスコアなどを可視化- 今まで「なんとなく遅いよね」と⾔っていた部分が⼀⽬瞭然- ⼿動で調査⽤ログを設置するなどの対応が不要に- Key Transactions- 価値のあるページを集中的にモニタリングできる- 開発者も「価値を届ける」部分によりフォーカス
https://www.dip-net.co.jp/23APM
https://www.dip-net.co.jp/24APM- リリース前後の影響調査が容易に- Deploymentsでリリースタイミングを記録できる- エラーレートの向上‧パフォーマンスの悪化などを確認- Service LevelsでSLI/SLOを設定できる- サービスの状態が丸わかり- 障害報告の基準にできる
https://www.dip-net.co.jp/25分散トレーシング- トランザクションの処理を追うことができる- 複数のサービスを経由しても処理を追うことができる- エラー箇所の特定が容易に出典 : Find and Fix Issues Fast with Distributed Tracing | New Relichttps://newrelic.com/jp/blog/how-to-relic/distributed-tracing-general-availability
https://www.dip-net.co.jp/26計測をはじめて、いろいろ⾒えてきた(成熟モデルの「レベル0: Getting Started」かも?)
https://www.dip-net.co.jp/27ここで考える
https://www.dip-net.co.jp/28スムーズに⾏かない点を考える- バージョンが古い‧アラートが次々と上がるなど- 標準的なシステムの開発/運⽤環境から遠い部分- アラートが出ているのも「いつか改善したい」箇所- エラーが補⾜できない‧ログが⾒づらい- 握り潰すこと⾃体が問題- ログも他プロダクトでは構造化が進んでるし…→いずれ直⾯する問題が表出しているだけでは?
https://www.dip-net.co.jp/29スムーズに⾏かない点を考える→いずれ直⾯する問題が表出しているだけでは?- ちょうどいい機会なので⾒直していこう!- 導⼊して1年弱、問題は残っているが解決に向けて頑張っている- 今まで(問題だけど)⾒えていなかった点を解消できた
https://www.dip-net.co.jp/30便利な点を考える- 障害検知‧調査‧対応をみんなでやる- レトロスペクティブでNew Relicを⾒る「定期点検」を実施- 属⼈化されている障害対応フローを⽂書化- 軽い障害の対応を新卒者に任せてみる- パフォーマンスチューニングをみんなでやる- リリース前後にNew Relicをみてパフォーマンスを計測する- チューニングにおすすめのページを教えてくれるので、各⾃でやってみる
https://www.dip-net.co.jp/31便利な点を考える- カスタマイズを考える- ダッシュボードを活⽤して運⽤に必要な指標をまとめる- Core Web Vitalsなどユーザー体験- 応募関係リクエストのエラー- カスタムパラメータの送信- ユーザー識別⼦を送信して、ヘビーユーザーの⾏動パターンやボトルネックを分析- Adobe Analyticsのユーザー識別⼦を送信すると、マーケティング担当との会話がスムーズに
https://www.dip-net.co.jp/32便利な点を考える
https://www.dip-net.co.jp/33開発チームのパフォーマンス- Four Keysの計測- デプロイ時間‧リードタイム‧変更障害率‧復旧時間- 開発チーム向けにダッシュボードを作成- Github Actionsを使ってNew Relicにデータを送信する- パフォーマンスのデータを結びつける- サービスと開発チームでパフォーマンスのデータを結びつけることで、定量的な貢献度を測る試みを実施
https://www.dip-net.co.jp/34開発チームのパフォーマンス
https://www.dip-net.co.jp/35開発チームのみんなで障害やパフォーマンスに向き合うようになった(成熟モデルの「レベル1: Reactive」かも?)
https://www.dip-net.co.jp/36New Relicを導⼊して1年弱
https://www.dip-net.co.jp/37だいぶ形になってきた
https://www.dip-net.co.jp/38New Relic導⼊の成果調査の人的コスト 監視ツールの浸透 エンジニアのパフォーマンス総合的にデータが見えるため、調査が早くなった新卒者にも任せられるほど、調査のハードルが低くなったアラートを整理することで、必要なもののみ移植したツールを見る文化ができて、誰もが扱えるようになったFour Keysの計測を通じて、数値としてパフォーマンスがわかるようになった数値の向上の他に、活用法も見出していきたい
https://www.dip-net.co.jp/39もっともっと良くしたい
https://www.dip-net.co.jp/40今後の展望- 計測を豊かにして、データから企画⽴案へ- データがビジネスにどう紐づいているか?がわかるように- ⾃ら企画⽴案するカッコイイ開発を極めたい- 開発チームのパフォーマンスをKPIにできないか?- 定量的な評価ができるように活⽤を考えたい- Four Keys以外の指標も追加していきたい- 他プロダクトとの連携‧展開- 社内勉強会の発⾜など進めたい
https://www.dip-net.co.jp/41これからも頑張ります!
https://www.dip-net.co.jp/42最後に再び宣伝です
https://www.dip-net.co.jp/43カジュアル⾯談やってます!この辺を読み込んでね!
https://www.dip-net.co.jp/44おしまい
https://www.dip-net.co.jp/45守りから「攻め」の開発へ!New Relicを活⽤してサービスと共に成⻑するチームになるディップ株式会社小森谷良輝