tsalakh ain sus noam Huyah ol guf

勉強会のメモ。その他備忘録。参考にさせて頂いたサイトや資料はリンクさせて頂いていますが不都合があればご連絡ください。

【勉強会】OpsJAWS Meetup#13 分散トレーシングにおけるAPM活用

これに行ってきた

opsjaws.doorkeeper.jp

AWS X-ray

「分散アプリケーションの内部を可視化 AWS X-rayとは?」

アマゾン ウェブ サービス ジャパン 畑 史彦 さん

<<スライド展開待ち>>

AWS X-Ray とは?

  • X-Rayはレントゲンのこと、システムのレントゲン
  • SDKをターゲットにしこむ
  • サポート言語:Java/Node.js/C#/Python/Go、RubyCookpad
  • RDBのクエリも。JDBCのインターセプタで実現
  • ALBでHTTPのリクエストヘッダにトレースIDを追加できる
  • 従量課金、トレースの記録と取得が対象
  • 10万件の記録、100万回の取得までは無料

ユースケース

  • 負荷試験
  • 従量課金を気にするならURL絞る
  • ステージング環境に入れる

注意点

  • デフォルトではサンプリング、全データではない
  • 完全性は保証されない、監査やコンプライアンスには使えない
  • トレースデータの保存は直近30日まで

質疑応答

  • Javaに組み込む場合は?
  • 入れることによるパフォーマンス劣化は?
    • データがサンプリングになる代わりに、レイテンシに影響出ないようになってる
  • ダッシュボードのカスタマイズは可能?
    • サービスマップのカスタマイズは不可、フィルタリングは可
  • 条件をつけてアラーティングはできる?
    • できない、分析のみ
  • アカウントをまたぐ場合は?
    • 設定で統合可能
  • 独自のプロトコルTCP通信は?
    • トレース不可

New Relic

「マイクロサービスによるアプリ開発と分散トレーシングにおけるAPMの活用」

日商エレクトロニクス 松尾 竹純 さん

<<スライド展開待ち>>

分散トレーシングの代表的なプロダクト

よくある意見

  • トレースIDをしこむのは、開発者が嫌がったりする
  • そんな複雑なことまでして、そもそも何がやりたかったんだっけ?となってしまう

分散トレーシングの代替案としてのNewRelic

分散トレーシングは、

  • "個々のユーザリクエスト処理"に関するプロファイリングができる
  • ボトルネックになっているサービスの特定まではできる
  • 原因のドリルダウンができない

New Relicなら、

  • サービス内のプロセスも含めたルートコーズ分析が可能
  • 直感的なボトルネック探索

NewRelicの課題

  • すべてのユーザリクエストをプロファイルしてない
    • メトリクスとしてはすべてのデータが集計されてはいるが
    • 性能劣化のあるプロセスでないとプロファイルされない
  • あくまでも“APM”、エラーの原因調査ツールではない
  • 業務的にはエラーでも、性能として問題なければ扱わなかったりするところが課題

その他

  • New Relic OpenTracingも鋭意開発中?時期は未定
  • トレースID・スパンIDを用いない分散トレーシング、が売りになるか
  • NewRelicのシェア
    • Datanyze
    • Siftery