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.

GCPとBigQueryを用いたIoT基盤の構築

2,628 views

Published on

#bq_sushi #2 で発表した、GCPとBigQueryを用いてどのようにIoT基盤を構築したかに関する発表の資料です。

Published in: Technology
  • Be the first to comment

GCPとBigQueryを用いたIoT基盤の構築

  1. 1. RRADAR(仮):
 GCPとBigQueryを用いた IoT基盤の構築 株式会社リクルートライフスタイル kuma @Morikuma_Works #bq_sushi tokyo #2
  2. 2. HELLO 2
  3. 3. 本日のおしながき 3 •プロジェクトの紹介 •IoTで考えないといけないところ •構成の話 •BigQueryと分析
  4. 4. プロジェクト 紹介 4
  5. 5. 問題 5 •Web上の人の流入流出はわかる
 ようになってきた •では現実世界ではどうか?
  6. 6. 現実世界の計測 6 •交通量調査
 決め打ちの日付のデータに意味が?
 人為的ミス •アンケート調査
 決め打ちの日付のデータに意味が? •単純な計測器設置
 カウントミス
 設置が大変 •定点カメラからの画像処理
 プライバシー問題
 精度
  7. 7. 解 7 •良さそうな解法がまだない
  8. 8. RRADAR(仮) 8
  9. 9. コンセプト 9 •手軽で •そこそこ精度があり •汎用的な 人の流れを検知・分析できるものを作る
  10. 10. RRADAR(仮)とは 10 •手軽で、そこそこ精度があり、
 汎用的な •人の流れを測定し •分析するもの 要するに現実版Google Analytics
  11. 11. 混雑検知実験@社内食堂 • 店内にビデオカメラを設置し、 10分毎の滞在人数(正解値) を計測 • RRadar(仮)での検知数をも とに10分毎の滞在人数(推定 値)を算出 • 推定値=検知数×2.5 • 相関係数:0.915 -75 0 75 150 225 300 10:50 11:00 12:00 12:10 13:10 13:20 14:20 14:30 15:30 15:40 16:40 16:50 滞在人数(正解値) 滞在人数(推定値) 混雑検知端末の 設置場所 40m 社内食堂の見取り図 11
  12. 12. 唐突にデモ
  13. 13. メンバー 13 企画とiOS: okubok (アイコン設定して…) バックエンド+インフラ+デバイス+管理
 全体設計+その他: @Morikuma_Works フロントエンド: @kiikurage (なんと学生!) デバイス: @maruyama_jp
  14. 14. メンバー 14 まさかの4人!
  15. 15. メンバー 15 企画とiOS: okubok (アイコン設定して…) バックエンド+インフラ+デバイス
 全体設計+その他: @Morikuma_Works フロントエンド: @kiikurage (なんと学生!) デバイス: maru 事業計画書とか 忙しい 院試忙しい
 研究忙しい 他案件が忙しい
  16. 16. このプロジェクトのゴール 16 •超少数精鋭(ということにしておく) •人を検知するデバイスの設計と作成 •大量のデータをさばいて保存しておく基盤 •データを分析して結果を返すAPI •結果を魅せるフロント
  17. 17. IoT 17
  18. 18. IoTとは 18 •ネットワーク上に存在する現実情報を取得し常に そのデータをバックエンドに情報を流している
 デバイスのこと
  19. 19. IoTで必要な機能 19 •データの通信方式 •データの保存 •データの分析基盤 •認証情報・セキュリティ •デバイス管理
  20. 20. データ通信方式 20 •どんなデータをどのように、どのタイミングで通 信するか Streaming Insert
  21. 21. データ保存・分析基盤 21 •どのように膨大なデータを保存し分析するか
  22. 22. データ保存・分析基盤 22 •どのように膨大なデータを保存し分析するか
  23. 23. 認証・セキュリティ 23 •どのように各データに安全に認証情報をもたせるか
  24. 24. デバイス管理 24 •どのように各センサを管理・アップデートするか
  25. 25. その他制約など 25 •人的リソースが最小限 •1.5ヶ月でPoof of Conceptまで実行 •使うツール、環境などは自由
  26. 26. 構成 26
  27. 27. GCE
 Instances HTTP Load Balancer (L7LB) Kuberenetes Nodes Cloud SQL(MySQL) Kubernetes Master Container Engine Asia app engine (managed) asia-east1-a Cloud Storage (as Docker Registry) Cloud Monitoring BigQuery Cloud DNS from device
 via fluentd log
 via fluentd
  28. 28. 特徴 28 •Microserviceアーキテクチャ •h2o/Go/Redis/MySQL/html/js/css and <3 •Kubernetes/GKEでプロビジョニング・デプロイ・ス ケールをほぼ自動化
 http://goo.gl/2efDk2 •BigQueryをセンサデータの保存場所兼分析基盤に ココらへんの話はまた今度…
  29. 29. BigQueryと 分析 29
  30. 30. BigQuery 30 •Streaming Insertでほぼリアルタイムでセンサデー タをバックエンドに送信できる •Batch処理やリアルタイム性が必要ない分析には申 し分ない •データ保存料金、分析料金、とにかく安い
  31. 31. BigQueryの価格 31 ちなみに 気をつけましょう
  32. 32. 3種類の分析 32 •リアルタイム処理
 まさしく現在の滞在人数など •バッチ処理
 クライアントへのレポート作成など •オンデマンド処理
 ユーザのダッシュボードに表示するデータなど

  33. 33. 3種類の分析 33 •リアルタイム処理
 Apache Spark Stream, Dataflow etc. •バッチ処理
 BigQuery •オンデマンド処理
 (まだ答えが見つかっていない…)
 現状、ここもBigQuery

  34. 34. まとめ 34 •IoTをする上でスケーラブルな基盤は必要不可欠 •GCPなら容易に満たすことができている •オンデマンド型処理の最適解が必要
  35. 35. IoTで必要な機能 35 •データの通信方式 •データの保存 •データの分析基盤 •認証情報・セキュリティ •デバイス管理
  36. 36. まとめ 36 •IoTをする上でスケーラブルな基盤は必要不可欠 •GCPなら容易に満たすことができている •オンデマンド型処理の最適解が必要

×