Upgrade to Pro — share decks privately, control downloads, hide ads and more …

SRE Lounge#2 UZABASE

tanan
March 14, 2018

SRE Lounge#2 UZABASE

SRE Lounge#2で発表したUZABASEの取り組み紹介スライドです。

tanan

March 14, 2018
Tweet

More Decks by tanan

Other Decks in Technology

Transcript

  1. • 阿南 肇史
    • 2016年7月 UZABASE 入社
    – 前職はSIerでアドテク系のInfra Enginner
    • UZABASE SRE Team 所属
    – Infra Team => SRE Team (2017/07)
    自己紹介

    View full-size slide

  2. Mission
    経済情報で、世界をかえる
    Business Intelligence to Change Your World
    私たちは、世界中で愛される経済情報インフラをつくります。
    あらゆる経済情報を人とテクノロジーの力で整理・分析・創出し、
    ビジネスパーソンの生産性を高め、創造性を解放します。
    私たちは経済情報を通じて世界中の意思決定を支え、世界をかえます。

    View full-size slide

  3. Our Services
    B2Bマーケティングエンジン
    ソーシャル経済ニュース
    企業・業界情報プラットフォーム
    日本最大級のベンチャーデータベース

    View full-size slide

  4. SPEEDAは、ビジネスパーソンの情報収集・分析に
    おける課題を解決する最先端のプラットフォームで
    す。
    世界中の企業情報、業界レポート、市場データ、
    ニュース、統計、M&Aなどあらゆるビジネス情報を
    カバーしています。

    View full-size slide

  5. 日々発生するデータエラーと向き合う
    本日のテーマ

    View full-size slide

  6. • 企業データ
    • 業界データ
    • 財務データ
    • 株価データ
    • M&Aデータ
    • 有報 / 適時開示 資料
    • ニュース
    SPEEDAの要はデータ

    View full-size slide

  7. • 企業データ
    • 業界データ
    • 財務データ
    • 株価データ
    • M&Aデータ
    • 有報 / 適時開示 資料
    • ニュース
    これについて話します
    SPEEDAの要はデータ

    View full-size slide

  8. 業界ページイメージ

    View full-size slide

  9. 業界ページが作られるまで
    * 市場環境 *
    アジア市場(日本、中国除く)では、インドの[[Dummy Company : ID0001]]を除けば、インドやインドネシアな
    どの新興地域を事業拠点とする大規模な企業は現れていない。ヨーロッパ市場では、フランスの...
    [[Dummy Chart : 0001]]
    ● 独自のWiki記法で記述(Markdownのようなイメージ)
    ● 企業ページのリンクを企業IDから生成できる
    ● チャートは自動的に最新年度までのデータを取得して生成
    Chartを自動生成表示 企業ページへのリンク作成

    View full-size slide

  10. 業界ページイメージ
    途中までしかない!

    View full-size slide

  11. • チャートの一部が表示されない
    • 既に存在しない企業が表示される
    – M&A、名称変更、データサプライヤ関連
    • リンク切れ
    – 企業ページに飛べない
    エラーの内容は様々
    作成したタイミングでは正常だったが、
    時間が経って不整合が発生する場合がある

    View full-size slide

  12. どう対応する??

    View full-size slide

  13. STEP #1
    ・・・
    Web Server
    App Server
    アプリケーションサーバで出
    力したエラーログを
    メールで送信

    View full-size slide

  14. STEP #1
    【改善点】
    • 弊社アナリストがメールを見て、wiki文章を修正
    • SREチームが介在することなく対応できる
    【課題】
    • 同じ内容のエラーメールが何件も送信される
    • StackTraceもメール本文に含まれて見づらい
    • メールが飛びすぎて送信遅延や送信上限に達する

    View full-size slide

  15. STEP #2
    ・・・
    Web Server
    App Server
    収集した
    ログを分析

    View full-size slide

  16. 【改善点】
    • メール送信を停止
    • Fluentdを導入してログを1箇所に収集
    • 集計プログラムでサマリーをSlack通知
    • 必要な情報だけ送信(重複する内容やStackTrace等は削除)
    【課題】
    • 特になし!!
    STEP #2

    View full-size slide

  17. これでよかったっけ?

    View full-size slide

  18. データフロー
    企業データ追加
    業界ページ追加
    業界ページ
    アクセス
    業界ページ
    アクセス
    企業データ更新
    業界ページ
    アクセス
    エラーログ出力
    ログ収集・検知
    エラー発生
    企業データ更新
    時間経過

    View full-size slide

  19. データフロー
    企業データ追加
    業界ページ追加
    業界ページ
    アクセス
    業界ページ
    アクセス
    企業データ更新
    業界ページ
    アクセス
    エラーログ出力
    ログ収集・検知
    エラー発生
    もう既にエラー
    なってるよね
    企業データ更新
    時間経過

    View full-size slide

  20. • データが本来あるべき姿をロジックに落とす
    – 下図参照
    • ユーザのアクセスとは切り離して考える
    – Kubernetes上でCronJobとして登録し、Dailyでチェックする
    STEP #3
    * 市場環境 *
    アジア市場(日本、中国除く)では、インドの
    [[Dummy Company : ID0001]]を除けば、
    インドやインドネシアなどの新興地域を事業拠点
    とする大規模な企業は現れていない。
    wikiテキスト
    ID Name Path
    ID0001 Dummy Company /company/ID0001
    company テーブル
    companyテーブルに存
    在するか?

    View full-size slide

  21. STEP #3
    ・・・
    Web Server
    App Server
    validation
    CronJob: [ 0 9 * * * ]
    DB
    report

    View full-size slide

  22. 【改善点】
    • エラー発生に関わらず、自分たちで整合性をチェックする
    • 上位のフローで不整合に気づくことができる
    • 不整合が起こったレコード数を日次でレポートすることにより、
      不整合が増減したタイミングがわかる(予定)
    • コンテナ化、Kubernetes利用等、CI/CDを整備することで他の人からも見え
    やすい。(すぐ捨てられることが大事)
    STEP #3

    View full-size slide

  23. そもそも

    View full-size slide

  24. SRE本 第7章
    Therefore, while we believe that software-based automation is superior
    to manual operation in most circumstances, better than either option is a
    higher-level system design requiring neither of them—an autonomous
    system.
    高レベルに設計されたシステムがあれば自動化する必要はない

    View full-size slide

  25. • ログ分析大事だけどデータの網羅的なチェックは別で担保する
    • フローのなるべく上位でValidationする
    • 周辺ツールは廃れやすいので、作る場合は他に影響を与えない形で、
      簡単に捨てられるようにする
    • 自動化は大切だが、それよりもシステム自体が高レベルに
      設計されていることが大事(バランス難しい)
    まとめ

    View full-size slide

  26. Any questions?
    Thank you for listening!

    View full-size slide