Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

【16E2】New Relic を使ったDevOps 時代のパフォーマンス監視と障害分析入門

5,542 views

Published on

Developers Summit 2017【16-E-2】宮澤様・岩永様の資料です。

Published in: Technology
  • Be the first to comment

【16E2】New Relic を使ったDevOps 時代のパフォーマンス監視と障害分析入門

  1. 1. New Relic を使った DevOps 時代の パフォーマンス監視と障害分析⼊⾨ 宮澤信吾、岩永朝陽 @ Degica 2017.02.16
  2. 2. プロフィール 宮澤 信吾 •  所属: 株式会社デジカ Ruby エンジニア兼 New Relic 担当 •  エンジニア: ECや弊社決済サービス Komoju の開発 •  New Relic 担当: 技術サポートやワークショップの講師 株式会社デジカ •  海外と⽇本を繋ぐ会社 •  社員の半分くらい⽇本⼈以外 •  決済サービス: Komoju の開発/運営とか •  Steam とか HTC とか Razer とかと取引 •  New Relic の⽇本代理店兼パートナー
  3. 3. アンケート 1.  アプリケーション監視を導⼊している⼈? 2.  New Relic という名前を聞いた事がある⼈? 3.  New Relic APM を使っている⼈? 4.  New Relic APM 以外の製品を使っている⼈? 5.  インフラも⾒るひと? 6.  フロントエンドも作る⼈(主にJS)? 7.  モバイルアプリも作る⼈?
  4. 4. Agenda •  New Relic の紹介 •  パフォーマンス監視の必要性とその理由 •  New Relic でできること •  New Relic APM のはじめかた (DEMO) •  New Relic APM を使った障害分析⽅法 (DEMO) •  覚えて帰って欲しい New Relic APM 便利機能トップ5 •  おまけデモ (Browser / Mobile / Infrastructure) (DEMO) •  さいごに
  5. 5. はじめに New Relic とは SaaS 型のパフォーマンス分析プラットフォームである
  6. 6. Digital Intelligence プラットフォーム アプリケーション インフラ顧客体験 フルスタックの可視化
  7. 7. Digital Intelligence プラットフォーム アプリケーション インフラ顧客体験 アラート フルスタックの可視化 リアルタイム分析 ダッシュボードメトリクス
  8. 8. Digital Intelligence プラットフォーム 強固なセキュリティオンデマンドスケールマルチテナント アプリケーション インフラ顧客体験 アラート スケール可能なクラウドプラットフォーム フルスタックの可視化 リアルタイム分析 ダッシュボードメトリクス
  9. 9. ページ 平均レスポンスタイムチャート ユーザー満⾜度指標 スループット 分あたりのリクエスト数 遅いトランザクショントップ エラー率サーバーリソース 直近の警告や致命的な 状態などのイベント アプリケーションパフォーマンス監視 (APM)
  10. 10. もってかえってほしいこと 1.  監視とアラート重要 2.  New Relic はフルスタックの監視プラットフォームであること 3.  New Relic は導⼊が簡単で直ぐ使える
  11. 11. パフォーマンス監視ツールは必要なのか?
  12. 12. パフォーマンス監視ツールは サービスを運⽤しているなら、必要 サービスを発展させていきたいなら、必須
  13. 13. パフォーマンス監視ツールは サービスを運⽤しているなら、必要
  14. 14. パフォーマンス監視ツールを導⼊していない世界 1.  問題を検知する仕組みがない
  15. 15. 1.  問題を検知する仕組みがない •  ⾃前で計測する仕組みを作る •  カスタマーサポートからの電話(ユーザーからのクレーム) パフォーマンス監視ツールを導⼊していない世界
  16. 16. 1.  問題を検知する仕組みがない 2.  問題の原因を特定する仕組みがない パフォーマンス監視ツールを導⼊していない世界
  17. 17. 1.  問題を検知する仕組みがない 2.  問題の原因を特定する仕組みがない •  ログを確認する •  開発/テスト環境で再現する パフォーマンス監視ツールを導⼊していない世界
  18. 18. コストが⾼くつく 1.  問題を検知する仕組みがない: 機会損失、ユーザーの信頼性の低下 2.  問題の原因を特定する仕組みがない: 調査時の⼈件費、機会損失 まとめ: パフォーマンス監視ツールを導⼊していない世界
  19. 19. パフォーマンス監視を導⼊していると パフォーマンスが低下したときに、 ⾃動的に検知し、アラート通知し、 原因を特定するための情報をくれる
  20. 20. パフォーマンス監視は サービスを発展させていきたいなら、必須
  21. 21. ソフトウェア開発をとりまく現状 1.  進化の激しく複雑なソフトウェア開発、運⽤環境 •  マイクロサービス、コンテナ、サーバーレス
  22. 22. ソフトウェア開発をとりまく現状 1.  進化の激しく複雑なソフトウェア開発、運⽤環境 •  マイクロサービス、コンテナ、サーバーレス 2.  より安定したシステムへの要望 •  デジタルビジネスの加速
  23. 23. ソフトウェア開発をとりまく現状 1.  進化の激しく複雑なソフトウェア開発、運⽤環境 •  マイクロサービス、コンテナ、サーバーレス 2.  より安定したシステムへの要望 •  デジタルビジネスの加速 3.  頻繁な機能追加、改善のリリース •  迅速な安定性の確保、競争⼒強化のため
  24. 24. ソフトウェア開発をとりまく現状 1.  進化の激しく複雑なソフトウェア開発、運⽤環境 •  マイクロサービス、コンテナ、サーバーレス 2.  より安定したシステムへの要望 •  デジタルビジネスの加速 3.  頻繁な機能追加、改善のリリース •  迅速な安定性の確保、競争⼒強化のため 4.  チーム間/サービス間の連携コストの向上 •  ⼩さなチームによる分散開発の促進
  25. 25. つまり、 安定性を維持しながら、 システムを成⻑、スケールさせる 体制や仕組みが必要である
  26. 26. 如何に安定した状態でスケールさせるか? フォーカスすべき5つのこと 1.  故障を想定して構築する 2.  常にスケール化を意識する 3.  リスクを軽減する 4.  可⽤性を監視する 5.  事前に問題を想定し、対策を決 めておく
  27. 27. 可⽤性の監視とは? ソフトウェアが外部からどう⾒えているかだけでなく、内部の監視も適切に⾏う必要があ ります。 •  サーバー監視: サーバーの健康状態を監視し、運⽤が効率的に維持できるようにする •  設定変更の監視: システムの設定を監視し、いつ変更されたのか特定できるようにす る •  アプリケーションパフォーマンスの監視: アプリやサービスを監視し、期待どおりに 動作していることを保証できること •  外形監視: ユーザーが問題に気づく前に問題を把握できるように、アプリがユーザー の期待どおりに機能しているかを調査できるようする •  アラート: 問題発⽣時に適切な対応者へ連絡できること
  28. 28. アプリケーションパフォーマンス監視 ブラウザ監視/RUM モバイルアプリ(mAPM) 監視 外形監視/死活監視 サーバーリソース監視/設定変更監視 ミドルウェアパフォーマンス監視 アラート ダッシュボード 監視対象とNew Relic 製品
  29. 29. New Relic Digital Intelligence プラットフォーム 強固なセキュリティオンデマンドスケールマルチテナント アプリケーション インフラ顧客体験 アラート スケール可能なクラウドプラットフォーム フルスタックの可視化 リアルタイム分析 ダッシュボードメトリクス
  30. 30. New Relic が提供すること •  問題が発⽣した場合に迅速に通知する •  問題が発⽣した場合に、どこが問題の原因なのか、当たりを絞り こめる •  問題が発⽣した場合に、その原因をコードレベルまで深掘りでき る
  31. 31. サーバーアプリケーションのパフォーマンス監視 New Relic でもっとも古い製品であり、有名な製品。 アプリケーションサーバーにエージェントを⼊れて、 パフォーマンスを計測。7⾔語に対応。 アプリの平均のレスポンスタイム、スループットから 各トランザクションごとのパフォーマンスも確認でき る。SQL レベルまで情報が⾒えるのが特徴。 導⼊が⾮常に簡単、最短数分 Application Performance Monitoring (APM)
  32. 32. 1.  アカウント作成 (newrelic.degica.com) •  メールが届く 2.  APM ⽤エージェントをダウンロード 3.  設定ファイルのダウンロードと修正 •  ライセンスキーの追加 •  アプリ名の変更 4.  アプリを起動 5.  数分待つ 以上 ※ 最初はトライアル期間(14⽇)のため、すべて無料で開始できま す。 Getting Start
  33. 33. ⽇々のパフォーマンス監視のすゝめ [準備] 1.  ユーザー満⾜度の指標である Apdex を適切な値に設定する 2.  アラートを設定し、ユーザーに影響が出る前に迅速に検知できる体制を整えておく [障害対応] 1.  アラート通知が来たら、New Relic UI にアクセスし、まずは Overview ページで概要 を把握する 2.  気になるデータを⾒つけたら、Transaction やレイヤーを軸に原因を絞り込んでいく
  34. 34. New Relic APM 覚えて帰って欲しい機能トップ5 1. トランザクショントレース 2. デプロイ履歴管理 3. キートランザクション 4. ヒストグラムとパーセンタイル 5. サービスマップ
  35. 35. 2: デプロイ履歴機能 デプロイ時点を中⼼に前後のパフォーマン スを様々なチャート(レスポンスタイムや CPU 使⽤率等)で表⽰ [利点] 1.  リリース後にシステムに異常がないか⼀ ⽬で判断できる。 2.  Overview ページでもデプロイタイミン グが分かるため、リリースに関係なかっ たメンバでもパフォーマンスに異常が あった場合に、リリースが原因ではない かと当たりがつく Deployments ページ Overview ページ
  36. 36. 3: キートランザクション アプリに重要なトランザクション専⽤のパ フォーマンス監視が⾏える。 [利点] 1.  専⽤のページができる 2.  アラートやパフォーマンス指標も専⽤の 設定が⾏える 3.  X-Ray session 機能でメソッドレベルで パフォーマンスを計測できる Key Transactions ページ X-Ray Session ページ
  37. 37. 4: ヒストグラムとパーセンタイル トランザクションのレスポンスタイムのば らつきを表⽰ [利点] 1.  異常値や外れ値を発⾒できる 2.  トランザクションの傾向を分析できる ヒストグラム パーセンタイル
  38. 38. 5: サービスマップ サービス間のアーキテクチャを表⽰ [利点] 1.  アプリの構成を俯瞰して確認できる 2.  どのアプリでアラートが発⽣しているの か⼀⽬瞭然 サービスマップ アプリの概要ビュー
  39. 39. 1. Apdex、アラートを適切に設定する 2. リリースしたら、デプロイ履歴をチェック 3. キートランザクションを活⽤する 4. レスポンスタイムのパフォーマンスが気になったら、 ばらつきも確認する 5. サービスマップを⾒て、障害の場所を切り分ける New Relic APM を効果的に利⽤するヒント
  40. 40. ブラウザ処理のパフォーマンスを計測するツール。 -  描画やDOM処理、ネットワークな処理時間の内訳の 分析 -  JS エラーや Ajax リクエストも分析可能。 -  アクセス分析が可能(ブラウザ、地域等) -  SPA にも対応 イメージとしては、ブラウザ付属のパフォーマンス分 析ツールでみれるデータをWebでみる感じ。 APM ⼊れると勝⼿に⼊る。 Real User Monitoring (RUM)
  41. 41. モバイルアプリのインタラクション(画⾯操作等)、 HTTPリクエストのパフォーマンスを計測。 -  クラッシュレポート機能におけるインタラク ションの追跡 -  アプリのリリースバージョン毎の各種⽐較 iOS、Android の両⽅に対応。Unity のサポートも 開始。 mobile Application Performance Monitoring (mAPM)
  42. 42. クラウド時代に最適なインフラ監視 4つのインフラ監視のビュー 1.  サーバーリソース(CPU/メモリ/ロードアベ レージ等)の監視 2.  変更管理 3.  IT 資産管理: インストールされているパッケー ジの管理 4.  各種 AWS サービスとの統合 便利機能 -  フィルタリング機能が優秀 -  ダイナミックアラート Server Resource Monitoring / Configuration Change Monitoring / Inventory Management
  43. 43. New Relic の⽬標 御社のデジタルビジネスを理解できる最初で最良の場所となること 15,000+ 10億+ 有料アカウント 1分あたりの 受信データ 12,500+ 新興企業1,500+ グローバル企業 ⽇本でも多数のソーシャルゲームや EC系のサービスで利⽤ 50万+ ユーザー 某転職サイトの求⼈数
  44. 44. おさらい: もってかえってほしいこと 1.  監視必須 2.  New Relic はフルスタックの監視プラットフォームであること 3.  導⼊が簡単で直ぐ使える。無料トライアルがあるので、是⾮試してくだ さい。
  45. 45. プロフィール 岩永朝陽 •  所属: 事業開発 •  New Relic担当 :営業、データビジネスの重要性のエバンジェ リスト 株式会社デジカ •  海外と⽇本を繋ぐ会社 •  決済サービス: Komoju の開発/運営とか •  New Relic の⽇本代理店兼パートナー •  社員の半分くらい⽇本⼈以外
  46. 46. デジタルエクスペリエンスはブランドエクスペリエンス 75% 
カスタマーインターラクション はデジタル 10M 1⽇のストリーミング 再⽣ 50% 
USセールスは モバイル 50% 
USセールスは デジタル
  47. 47. デジタルサプライチェーンと顧客との関係 デザイン 開発 リリース運⽤ サポート お客様
  48. 48. 各事業部署によって情報共有がされていない Develop Release Manage Support Customer Customer Care Product Manager IT Operations Developer Marketing
  49. 49. ダッシュボードツール 全てのデータを俯瞰的に確認できる BI ツール的な使い⽅もできる。 -  全製品のデータを⼀括表⽰できる -  全アプリのデータを⼀括表⽰できる NQRL と呼ばれるSQLチックなクエリを使っ て、リアルタイムに好きな条件、表⽰形式で データを表⽰できる。 Real-time Dashboard
  50. 50. Marketing ちゃんと思ったように システムは動いてますか? Data Center 例えば、チェックア ウトの成功率が急に 落ちた場合は、運⽤ チームが急いで対応 にあたる間に、同じ 指標を⾒てカスタ マーサポートが顧客 対策を考える! Manage Developer Product Manager カスタマーケア 運用
  51. 51. Webマーケティングの 広告効果でているの か? KPIは保たれているか? カートに⼊れてから のドロップレートは どれぐらい? 正しく購⼊されているか? 購⼊の成功率は維持されているか? Marketing Developer Product Manager Customer Care Operations 購⼊ファネルは正しく 機能しているか?
  52. 52. 理解できるが… 問題は⼈です。
  53. 53. 株式会社デジカの取り組み •  データに対してのマインドセットを全社的に変える→無 理やりサイネージを社内設置 •  データコンテストを社内で実施 –  こんなデータを⾒てみたい –  エンジニアが実装 –  1位〜3位までを四半期ごとに決める
  54. 54. さいごに ワークショップ(無料)も定期的に開催 ⽇本 New Relic ユーザー会へ是⾮ご登録を! プランや料⾦は製品資料を! デモに伺います

×