ソフトウェア開発

Pocket

セミナーレポート: 第2回Google Cloud Inside Games & Apps

Pocket

GoogleがGoogle の中のテクノロジーを知れる場。として開催しているエンジニア向けセミナー「Google Cloud Inside Games & Apps」に参加してきましたので、レポートします。

Google Cloud Inside Games & Apps 2017/11/22水

主に、Google Cloud Platformを利用したデータアナリティクス関連に関する内容です。

アジェンダ

  1. Google Cloud 下田 倫大「基本から学ぶ ビッグデータ / データ分析 / 機械学習 サービス群」
  2. 株式会社リクルートライフスタイル 南谷 和毅 氏 「データプロダクトを支えるビッグデータ基盤」
  3. 株式会社プレイド 牧野 祐己 氏「」

Google Cloud 下田 倫大「基本から学ぶ ビッグデータ / データ分析 / 機械学習 サービス群」

GCP上でのデータ分析の基本的考え方

データ分析のワークフロー」

  • 集める
  • 貯める
  • 処理する
  • 分析する
  • 可視化する

データサイエンス + データエンジニアの構成で仕事をすることが多い。

「データサイエンティスト」

ビジネス課題に対してデータを利用して科学的に課題を解決する

「データエンジニア」

データセットを用意するためのインフラを構築/運用/保守する

データサイエンティスト + データエンジニア うまくいかないことが多い。

サーバ負荷等気になる等
課題、守備範囲が分かれている

データ分析を簡単に効率的に。

「Cloud Pub/Sub 」(Cloud Publish/Subscribe)

大量に高速に安価に集めて保存
イベントメトリックなどをストリーミングで収集

Cloud Strage

オブジェクトのストレージサービス
生ログ、ファイルなどデータの保存場所

「Cloud Dataflow」

高速に、サーバレスでデータ処理
パイプラインのストローミングとバッチ実行をサポートする
フルマネージドどのデータサービス

特徴

フルマネージド
最適な実行パスのための自動グラフ最適化
ジョブのAuto Sacale
ジョブの動的な負荷のリバランシング

Cloud Dataproc」

マネージドhadoop, spark

「Cloud Dataprep」

GUIベースのデータ準備ツール
Cloud Dataflow上に構築され、コードは不要
データソース:CSV, JSON …
データ変換のレコメンド

データの分析(集計/検索)

大量のデータに素早くアクセス
BigQuery
ペタバイト級のデータも低料金で保存
フルマネージドのデータウェアハウス
スキーマの設定が不要
同時に複雑な処理が行える
生ログをストリーミングで挿入できる

データの分析(機械学習)

No Ops でのモデル作成 / 学習済みモデルへの提供
Cloud ML Engine
フルマネージドのTensorFlowの実行環境
分散学習やバッチ/オンライン予測も実行可能

ML APIs

学習済みモデルに対してデータを適用することのできるサービス

TensorFlow

機械学習のライブラリ
自由度高いが、使いこなすのは知識必要

Cloud ML Engine

マネージドなTensorFlow実行で環境
インラウフラはGCPに任せる

ML APIs

特定のタスクの学習済みモデルをAPI経由で利用
e.x. ) 翻訳、画像認識
モデルに変更はくわえられない
やりたいことにハマれば良い選択肢

データの可視化

「Cloud Datalab」

インタラクティブなデータの探索、分析、可視化、機械学習のための使いやすいインタラクティぶなツール
Jupiter notebookのクラウド版
オープンソースとしての開発
GCPの各サービスとのインテグレーション GCS, BigQuery

「Cloud Data Studio 」

データ可視化 / レポートサービス
定期的な定型的なレポート出力に向いている。
BIツールではない。

分析環境 on GCPのメリット

事実上無制限にスケールする
小さく初めて、同じ構成でそのまま使い続けられる

PaaS / Saa Sのみので構築できる
専任のインフラエンジニアが事実上不要

データの活用に専念できる

「データプロダクトを支えるビッグデータ基盤」リクルートライフスタイル南谷氏

アジェンダ

  • データプロダクトを支えるビッグデータ基板の設計
  • インフラ設計背景、 GCPプロダクト選定の背景
  • ノウハウ

クライアント向けBIツール を作っている

データプロダクト基板設計 意識

①誰もがデータを自律的に活かせる基板
このデータの意味を誰に聞けばいいんだろ
このデータをあるDBに入れたい、毎回頼む
データ処理したいけど、負荷が高い他に影響しないか。

→ 本質でないことに労力を避けない

② PDCAを高速に回しデータから価値をうむ基板
データの取り込みからユーザー提供までをトライアンドエラーで一気通貫できるインフラ

③ 誰もがデータから価値を生み出せる。
他領域への横展開が容易な基板
誰もがデータプロダクトを開発・運用できる基板
凄腕エンジニアでなくても開発できる。

アーキテクチャ

Datarobot も使っている。

データ処理 機械学習

コストを抑えるため us-central-1リージョンを利用

用途に合わせて最適なプロダクト/ 使い方をする

BigQuery 日次バッチ コストを意識。事前に用意できるデータ 9割型

Cloud Dataflow

SQLでもかけるが、将来性を考えて
BigQueryでパフォーマンスが出ない。
Javaではなくデータ処理に適しhたPythonを採用

Apache beamドキュメントを参考 Dataflowのドキュメント古い場合も
開発デバッグはDirectRunner (ローカル実行モード)を利用。

BigQuery オンライン

事前にデータを準備難しい
e.x. A,B,C店舗のD商品とF日とG日のデータが欲しい

Dataroboto(機械学習)

YAMLを書くだけでBigQueryのデータを使って誰でも簡単に予測可能できるようにしている

データロード

レイテンシーを意識し、BigQueryなどで加工したデータはDatastoreへ保存

Memcacheの更新について

Dataflow -> NDB使えない、毎度flushで初期化

データ表示

十数行のコードでデータ加工したデータがユーザーに届くようにAPIを設計
App Engine +Datastore + Memcache + BigQuery

RedShiftとBigQueryをどのように使い分けているか

基本は慣れているRedShift。BigQueryクエリ投げ放題プランで気軽に使えるので、BQも使っている。

「データアナリティクスの新たないっぽとそれを支えるインフラ」PLAID牧野祐己氏

PLAID (プレイド)牧野祐己氏
主にリアルタイム解析システムの開発

データ分析のステップ

「処理」
古典統計
ベイズ統計 & Machine Learning ☆ここがHOT 非線形モデル、ディープなやつ。人の解釈が必ずしも必要とされない
「理解」
理解
モデルの作成 -> Science
「意思決定」

課題より現実的な意思決定、創造につなげようとすると元お動的で複雑なモデルが必要

→ 結構難しい

→ 人を挟んで、意思決定や想像をさせる
その結果に基づく学びを取り入れる、制御や強化学習的なスタンス
意思決定も取り組んだアナリティクス が有効と考え、これができるシステムを作っている。

それに必要なこと

感じさせる

意思決定につながる可視化(!= data visualization) 類推 自然な理解
多様なデータをまとめる
すぐに意思決定、創造

→ 具体的にはWeb接客、KARTEというサービスを提供。
リアルタイムにWebサイト嬢のアクションが行えるプラットフォーム

大量データの代表的な処理方法

「バッチ処理」
最短数秒で大量のデータを処理
BigQuery, Presto, Spark, Hadoop
「ストリーミング処理」
秒以内で短時間のウィンドウのデータを処理
Spark Streaming, Storm

秒以内に全データの解析処理結果が欲しい

→ 作った。ただし、解析軸は決定

なぜGCPなのか

コストパフォーマンスが良い

Bigtableのポイント

主にリアルタイム分析

BigQueryのポイント

ニアリアルタイムのユーザー軸以上の解析にしよう
Streaming Insertがバッファリングなど考えないで良いので非常に便利
中間レイヤが少なくて済む
データ連携が用意

おわりに

GCPで何の問題が解決できるのか、短時間で理解が深まり有意義でした。
次回は 2018年2月に開催予定となっていて、次回も楽しみです。

第 2 回 Google Cloud INSIDE Games & Apps 開催のお知らせ

限定最大100%OFF!!新オンライン講座「Linuxサーバー構築運用入門」リリース記念セールのお知らせ

Pocket

Linuxサーバ構築の基礎が学べるオンライン講座「Linuxサーバー構築運用入門 CentOS7, Apache2.4, MySQL5.7, PHP7」を、世界最大級のオンライン学習プラットフォームUdemy(ユーデミー)にて公開いたしました。

自らの手でWebサーバを構築して、インターネットに独自ドメインのWordPressを使ったオリジナルブログを公開できるようになりませんか?

SEO対策で有利とされる、サイトのhttps化にも対応した講義内容です。

今回は新コースリリースを記念して、このブログの読者限定で特別クーポンをご用意しました。
下記のリンクを経由してUdemyでコースを購入すると優待価格で入手できますので、ぜひご利用ください!

リリース記念クーポン価格で購入できるURL

無料(100%OFF!、限定数2)

1,200円(89%OFF!、限定数5)

1,500円(86%OFF!、限定数5)

※有効期限2017/11/12(日)

講義概要

  • まず、ローカル環境で練習してから、実践編として、さくらのVPS(Virtual Private Server)の無料お試しプランを使って、インターネットにブログを公開します。
  • CUI(文字列で命令を出してコンピューターを操作する画面)が初めてでも、大丈夫です。一から説明します。
  • 主な使用技術としては、CentOS7, Apache2.4, MySQL5.7, PHP7と、最新の安定バージョンを使って学習します。
  • https対応には、無料のSSL証明書が使えるLets’ Encryptを使います。

対象とする受講生

  • 会社でプロジェクトマネージャーとして、インフラエンジニアと仕事をする機会が多いため、Linuxの概要を学びたい人
  • 会社で駆け出しのWebエンジニアとして働いているが、Linuxの知識を習得して仕事の幅を広げたい人
  • 会社でWebデザイナーとして、エンジニアと仕事をする機会が多いため、Linuxの概要を学びたい人
  • ※この講座はLinuxを初めて使う方向けの初心者向け講座です。普段からLinuxを使っている方には、物足りない内容となっていますのでご注意ください。

    できるようになること

  • Linuxサーバを自らインストール、LAMP環境を行うことで、一緒に働くインフラエンジニアの仕事内容やプロセスを一通り理解出来るようになる。
  • Linuxの基本的なコマンド使って、Linuxサーバを操作できるようになる
  • さくらのVPSを設定して、WordPressによるオリジナルブログをインターネットに公開できる。
  • 独自ドメイン取得して設定できる
  • Webサイトをhttps対応してSEOに有利なWebサイトを構築できる。
  • おわりに

    5.5時間の動画・約100件のレクチャーを使ってLinuxの学習ができる大型のコースです。
    私がエンジニアとして実務で身につけたノウハウを詰め込みましたので、ぜひご活用ください!