SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

【デブサミ秋2015】セッションレポート(AD)

【デブサミ秋2015】S5セッションレポート
これからの開発者に必須なデータ分析スキル ~ サイバーエージェント流分析環境の構築からチームへの普及まで

  • X ポスト
  • このエントリーをはてなブックマークに追加

データ分析基盤は応答性を重視、誰もが気軽に使えるように

 データ分析基盤の構成は下図のとおり。アプリケーションサーバからFluentdでログを抽出し、Streaming InsetでBigQueryへ。対象となるデータは大きいので、一定の期間が経ったら、Google Cloud Storageにエクスポート。過去のデータも含めて分析したい場合は、Google Cloud Storageからインポートすると、BigQueryで分析できる。またGoogle Cloud StorageはオンプレミスのSparkからも読み書きができるようなっている。「分析用のログ以外のデータソースにアクセスしてデータ処理をしたい場合はSparkを使っている」と神田氏。

応答性にこだわったデータ分析基盤の構成
応答性にこだわったデータ分析基盤の構成

 こういう構成にしたのは、「とにかく応答性を重視したから」と神田氏は説明する。分析ツールにBigQueryを採用した理由については、「使いたかったということもあるが、BigQueryはIndex的なものの定義が不要で、アドホック分析に向いていたから」と語る。とにかくBigQueryにデータを入れておけば、思いついたクエリーが投げられるので便利なのだそうだ。

 またSparkは分析ログに含まれないデータを処理したい場合に使うほか、機械学習を使いたいときなどにも使用しているという。「機械学習はSparkやscikit-learnを使っている。用途やデータソースによって環境を使い分けている」(神田氏)。

 なぜこれほどまで応答性を重視するのか。それは先述したように、直観などのフィーリングを大事に考えているからだ。「直観は案外正しいが、根拠がない直観はダメ。しかし根拠のための調査をしようと思っても、結果を得るのに時間がかかると、コストと得られるメリットを天秤にかけてしまい、興味があるから調べるというような遊びのある調査は行わなくなってしまう。しかし10分以内で結果がでるのであれば、やってみようと思う人も増えると考えた」と神田氏は言う。

 だがデータ分析環境ができたものの「最初はあまり使われなかった」と神田氏。理由は2つ。1つは使い方が分からなかったこと。「BigQueryもSparkもあり、UIも2種類といろいろありすぎた」のだという。2つめはそもそも何に使えるかわからなかったこと。「私たちのチームはあくまでも開発チーム。したがって分析の環境を作っても、『これで何をするんだっけ』ということになってしまう」というのだ。

 そこで神田氏は使い方を共有するために、チュートリアルを開催したり、ドキュメント化をしたりしたという。「最も効果があったのは、ノートブックの活用」と神田氏は力強く語る。つまり他の人が分析した手順をノートブックに残すことで、「こういうことがしたい」と思ったときに参考にできるからだ。

 ここまで解説したところで、実際に構築した分析基盤によるデモを実施。エンジニアでも簡単にデータ分析ができることを披露した。分析の手法はノートブックで共有できたが、「何に使えるのか」については、まだ共有する手段を試行錯誤しているからだ。

 「基礎集計の結果と手順はチーム内のチャットグループで共有したり、有用なものは定型ジョブとして自動化したりしている。またTableauなどを使って可視化し、共有している」(神田氏)

 エンジニアはデータ分析基盤を何に使えばよいのか。神田氏は「開発工程の選定やシステム改善の事前・事後の評価、運用フローの改善などに使える」と語る。開発項目の選定であれば、現状をより正確に把握し、開発すべき根拠を導き出してくれる。データ評価・分析のレベルを上げることや可視化、ワークフローの自動化などこれからの課題はいろいろあるが「BigQueryを使って人生が変わった」と神田氏は熱く語る。

 気軽にデータ抽出できることで、新たな気づきがあるだけではない。今まで理解していたことよりも、さらにより深く、自分たちが作っているシステムの理解ができるようになったからだ。そして開発者がリリースした機能を自分で評価でき、改善サイクル回すスピードも上がる。

 「データ分析のスキルは特異なものではない。データを見られないことはもはやリスクと捉えるべきではないか」こう参加者に問いかけ、神田氏はセッションを締めくくった。

お問い合わせ

株式会社サイバーエージェント

TEL: 03-5459-0202

コーポレートサイト

この記事は参考になりましたか?

  • X ポスト
  • このエントリーをはてなブックマークに追加
【デブサミ秋2015】セッションレポート連載記事一覧

もっと読む

この記事の著者

CodeZine編集部(コードジンヘンシュウブ)

CodeZineは、株式会社翔泳社が運営するソフトウェア開発者向けのWebメディアです。「デベロッパーの成長と課題解決に貢献するメディア」をコンセプトに、現場で役立つ最新情報を日々お届けします。

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

【AD】本記事の内容は記事掲載開始時点のものです 企画・制作 株式会社翔泳社

この記事は参考になりましたか?

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/9064 2015/11/26 14:00

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング