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.

運用とデータ分析の遠くて近い関係、ISUCONを添えて

8,332 views

Published on

Talk at Hokkaido.pm #12

Published in: Technology
  • Be the first to comment

運用とデータ分析の遠くて近い関係、ISUCONを添えて

  1. 1. 運用とデータ分析の遠くて近い関係、 ISUCONを添えて TAGOMORI Satoshi (@tagomoris) 2014/11/01(Sat) Hokkaido.pm
  2. 2. はじめに YAPC::Asia Tokyo 2014 ベストスピーカー2位のおかげで来られました JPA++
  3. 3. Satoshi Tagomori (@tagomoris) Fluentd, Fluentd plugins, Norikra, Shib, woothee, xbuild, ... ISUCON founder
  4. 4. Perl書いてるの? Ruby, Node.js, ... Perl Net::Hadoop::WebHDFS, ...
  5. 5. _人人人人_ > Java < ‾Y ^ Y ^ Y‾ http://d.hatena.ne.jp/tagomoris/20141028/1414485679
  6. 6. anyway,
  7. 7. おしごと 開発支援: 2010/08 - 2014/04 平たく言うと運用系あれこれ サーバセットアップ、モニタリングから障害対応まで モニタリングの一環として(?)データ分析系の仕事 分析プラットフォーム: 2014/05 - NOW データ分析系専門
  8. 8. 運用の仕事 セットアップ系 監視 モニタリング、障害対応
  9. 9. 運用の仕事 セットアップ系 省略 監視 省略 モニタリング、障害対応
  10. 10. モニタリング システムモニタリング CPU、メモリ、トラフィック、ディスク容量 httpd、mysql、memcached サービスモニタリング HTTP status、レスポンスタイム、etc
  11. 11. サービスモニタリング(1) 外部モニタリング:アクセスログ HTTP status code、レスポンスタイム
  12. 12. サービスモニタリング(2) 半外部モニタリング:アクセスログ 特定パス・特定メソッドのみの状況 特定User-Agentのみの状況
  13. 13. サービスモニタリング(3) 内部モニタリング:アプリケーションログ 特定の外部API呼び出しの状況 アクセスログに載せられない情報による集計 複雑なデータ構造にもとづいた集計 ユーザの国情報、有料/無料ユーザ、等々
  14. 14. 障害検知 障害とは ユーザに対して不正な応答が返っている状況 あるいは応答が返っていない状況 外部モニタリングで観測可能 誰でも「障害が起きていること」はわかる
  15. 15. 障害検知 障害とは 誰でも「障害が起きていること」がわかるように しておかないと駄目
  16. 16. 障害対応 誰がやる? 誰か、見付けた人、対応できる人 誰がやるべき? そのサービスに詳しくない人こそやるべき 技術的知見が広がる、業務知識が広がる 他者が見ておかしいところを発見できる
  17. 17. 障害対応 応答が正常に戻るために何でもやる サーバ構成の把握(HW、SW) コードを読む どういうアクセスが来ているか見る 直す これどっかで見たやつでは?
  18. 18. ISUCONとはつまり 過負荷で障害が起きている状況コンテスト
  19. 19. ISUCONでやること ベンチのスコアを上げるために何でもやる サーバ構成の把握(HW、SW) コードを読む どういうアクセスが来ているか見る 直す 時間制限もある! いそげ!
  20. 20. とはいえ:普段の障害対応 究極的にパフォーマンスを上げるのは目的ではない 必要十分な対応ができればいい 逆にやりすぎて壊したらまずい 最小の手で解決するにはどうしたらいい? 可能な限り早く収束させたい 最短の作業で解決するにはどうしたらいい?
  21. 21. 障害対応のために 内部モニタリングが充実していると便利 詰まっている外部API呼び出しは? 集中しているアクセスの種類は? 影響を受けているユーザの属性は? まだあまりできてない……
  22. 22. 内部モニタリングの手法 アプリケーションからのログの出力 複雑な構造化データ 確実な伝送 柔軟な集計 できればリアルタイムに近い形で
  23. 23. Data Analytics overview collect parse clean up process visualize store process
  24. 24. Service Monitoring overview Data Analytics overview collect parse clean up process visualize store process
  25. 25. やることは同じ ログを集めて適度に集計、異常を検出 使いかたが少し違う 運用:リアルタイムに近い集計、障害検出 分析:中長期で集計、KPI算出、サービス改善 やり始めるとどっちにも効果があって便利
  26. 26. ツール群の特徴 ビジネスの効果には直結しない(大抵の場合は) ビジネスロジック等は設定やクエリに書かれる コード、仕組みは共有できる ツールのOSS化、ノウハウの公開がしやすい Fluentd, Hadoop, Presto, Norikra, GrowthForecast, ..
  27. 27. SHARE software, know-how & concerns! Thank you!

×