Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
DMMブックスにNewRelicを導入した話
Search
ono-hiroshi1
January 24, 2022
Technology
1.1k
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
DMMブックスにNewRelicを導入した話
ono-hiroshi1
January 24, 2022
More Decks by ono-hiroshi1
See All by ono-hiroshi1
ログ基盤をCloudWatchLogからNewRelic Logs + S3に変えたら 利便性も上がってコストも下がった話
onohiroshi1
1
4.6k
モダンとレガシーが混在するDMMブックスで培った SRE Practices
onohiroshi1
0
6.6k
60億円の損害を出した 「DMMブックス」 70%OFFキャンペーンでプラットフォームに何が起きていたか
onohiroshi1
8
49k
Other Decks in Technology
See All in Technology
使いこなすために知っておきたい Azure SRE Agent アンチパターン
torumakabe
2
420
SDDの運用にめげずに向き合った話
sansantech
PRO
1
140
AI Made Us Faster at Solving the Wrong Problems
marceloancelmo
0
190
AI駆動開発の時代になったのでトヨタ生産方式から見直す
terurou
5
5.2k
TinyGoでオブザーバビリティ?OpenTelemetryはTinyGoで使えるのか / Is OpenTelemetry available in TinyGo environment?
ymotongpoo
2
110
契約書画像からの情報抽出に特化した視覚接地モデルを育てる話
sansantech
PRO
1
150
OpenSharing について熱く語る〜AI アセットの共有について〜
kameitomohiro
0
240
AI時代のAPI開発を加速する品質ガードレール / API Quality Guardrails in the AI Era
yokawasa
0
160
SREでアラート疲れを 解決しよう!
kairim0
1
210
「事実」を「計測」して、「解釈」する 〜AWS Lambdaのメモリ最適解の見つけ方〜
maimyyym
0
120
二歩目のフロントエンド・ウェブアクセシビリティ
camiha
2
180
脆弱性診断って、何をしているの? 〜弱点を見つけて、会社の改善につなげるまで〜
keeg
0
720
Featured
See All Featured
New Earth Scene 8
popppiees
4
2.7k
Lightning Talk: Beautiful Slides for Beginners
inesmontani
PRO
2
720
A better future with KSS
kneath
240
18k
The Pragmatic Product Professional
lauravandoore
37
7.5k
svc-hook: hooking system calls on ARM64 by binary rewriting
retrage
2
610
B2B Lead Gen: Tactics, Traps & Triumph
marketingsoph
0
260
Accessibility Awareness
sabderemane
1
240
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
123
22k
It's Worth the Effort
3n
188
29k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
3k
A Modern Web Designer's Workflow
chriscoyier
699
190k
Digital Projects Gone Horribly Wrong (And the UX Pros Who Still Save the Day) - Dean Schuster
uxyall
1
3.3k
Transcript
© DMM.com DMMブックスに NewRelicを導入した効果 合同会社 DMM.com SRE部 小野 博志 2022/1/20
© DMM.com 自己紹介 2 小野 博志 / Ono Hiroshi 合同会社DMM.com
ITインフラ本部 SRE部 エンジニアリング マネージャー 2005年に新卒で中小独立系Sierに入社。Javaを使ったWeb系開発に従事。 2008年よりMSP(マネージド・サービス・プロバイダ)の業務に従事。アカウントSEから始まり、サービス企画や テクニカルディレクターを務める。エンタープライズの領域で大規模なコーポレートサイト、WebCMSを中心とし て担当していた。 2018年よりB2Cもやってみようかなって思って2020年にDMM.comに入社。DMMブックスやNewRelicの導 入推進を主に担当しています。 たまに山登りしてます
© DMM.com 最初にPRさせて下さい! 3
© DMM.com 話題のコミックや小説などを パソコンやスマホで 読めるプラットフォーム コミック、雑誌、小説、写真集等の電子書籍を配信しております。現在は 66万冊以上の作品を取り揃えており さまざまなジャンルの作品を提供しています。
© DMM.com 本題 5
© DMM.com 導入背景 6 • DMMブックスは20年以上の歴史を持つサービスで、段階的にモダンなアーキテクチャに変えていってはい ます。ただし、まだレガシーなアーキテクチャが一部残るシステムになっています。 • モニタリングツールはDatadogを利用していました。インフラストラクチャ(AWSインテグレーション含む)は活 用できていましたが、APMはPHPフレームワークが対応しておらず取得できる情報は非常に限定的で活用
できていませんでした。 • またログ周りが非常に高額になっており、一部ログを破棄していてもコストがかなりかさんでおりプラット フォーム全体に対するコストバランスに課題がありました
© DMM.com DMMにおけるNewRelicの導入状況 7 • 全社的には2年前にDatadogの導入を推進していたこともあり、Datadogの利用が多めです • NewRelic One の登場で改めて検証しなおし、DMMブックス含めDMM動画、オンラインサロンなどい
くつかのサービスで利用してもらうようになっています • (当時ではないが)最近は3ヶ月で1〜2件ぐらいのペースでプロダクトに対して部分的または全面的に 導入してもらっていました。
© DMM.com APMの導入 Step.1 8
© DMM.com AWSの制約でAPMを入れるもCPU高負荷に・・ 9 • PHP Agent (諸事情ありバージョン古め) を利用している •
ステージングでは気づかず、本番投入するとピーク時にレスポンスタイムが2〜3倍悪化することに・・・ • newrelic.transaction_tracer.detail = 0 (トレースを限定的にする)を試してみたが状況は変わらず だった。newrelic.transaction_tracer.enabled = false (欲しい情報が出なくなったので見送った) • 調べてみると時刻周りのクロックソースがXenの場合に問題がありそうだと分かった
© DMM.com AWSサポートに問い合わせるも 10 • Fargateのクロックソースに何が選択されるかは内部仕様で公開されてないとのこと • ただガチャっぽく、何度か試すと問題ないクロックソース(kvm-clock)が選ばれることがある 公式からはこれ以上情報貰えそうにないので後は個別検証した •
Fargate PV を変更(1.3 -> 1.4など) サービス作り直すレベルの変更で変わるらしく、一度問題ないク ロックソースになると固定になるような動きになっていた。 • DMMブックスはこれで問題が解消したので再度本番投入した。以後数百回デプロイしているが問題は 再発したことはない
© DMM.com 導入した結果 (1) 11 • 負荷の高いSQLが簡単に見つかるようになった。 この時点ではAWSインテグレーションは Datadog使っています
© DMM.com 導入した結果 (2) 12 • デプロイメントマーカーを活用することで、デプロイ単位でのレスポンスタイムの影響がわかりやすくな り、原因調査がしやすくなった
© DMM.com 導入した結果 (3) 13 • もちろんトレース・スパンを分析することで非効率な処理を見直すこともできました。 この時点ではAWSインテグレーションは Datadog使っています
© DMM.com 全体導入 Step.2 14
© DMM.com 複数チームがNewRelicで分析できるように 15 インフラストラクチャ、APMが一つにつながった事から派生して最近ではモバイル(まずは Android)も導入することに。 様々なチームが一つのツール上で横断的に調査ができるようになり、開発スピードの向上につながった
© DMM.com 「サイトが遅い」を定量的に分析できるように 16 ユーザ体感でサイトが遅いというモニタリングを NewRelicブラウザの機能の一つ、CoreWebVitalsとして取得できるようになり、Metric Aggregatorと組み合わせて長期トレンドに変換し、改善指標として複数のチームでモニタリングしていくことに
© DMM.com SRE部が横断的に見ることでナレッジ展開 17 DMMブックス固有の話ではないですが、各プロダクトの NewRelicアカウントを横断的にみることで各プロダクトでよい取り組み、ダッ シュボードなど別のプロダクトへ取り込むことができ全体的な最適化への取り組みが可能になった。
© DMM.com 月額コストの削減に繋がった 18 Datadogでは月額コストが高かった兼ね合いで一部ログを捨てていた。その結果ピーク時にログが欠損するという課題があった。 NewRelicではすべてのログを取りつつも大きなコスト削減になり、大きな効果が得られました。
© DMM.com 監視テンプレート(Terraform)の作成 19 現在ブラッシュアップ中ではあるが、よくある監視内容(例えば CPU使用率監視やデータベースの死活監視など)は SRE部が提供する NewRelic Alertの監視テンプレートを利用すれば各サービス単位で最低限の監視はすぐに導入できるように。
© DMM.com まとめ 20
© DMM.com 良かったこと一覧(他にもありますが) 21 • APMできちんとアプリケーションがモニタリングできるようになり改善活動が捗った • コスト削減になり浮いたコストで新しいモニタリングができるように • CoreWebVitalsをモニタリングするようになり、ユーザ目線の遅いが定量的に図れるようになりました
• SREやネイティブなど様々なチームが共通のモニタリングツールを見るようになり、障害調査や性能情 報などを共有しやすくなりました
© DMM.com 宣伝 22 https://book.dmm.com/coupons/