小さく始めるデータ基盤
by
Reiji Kainuma
Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
小さく始めるデータ基盤 @reizist 1 / 18
Slide 2
Slide 2 text
自己紹介 @reizist Web Backend / Infra / Data (Infra) R なんとかという会社で データエンジニア 最近CloudComposer2 と戯れています 2 / 18
Slide 3
Slide 3 text
背景 データ基盤はもはや大規模サービスにのみ必要なものではない スタートアップでもデータ基盤の需要は増えてきている 今回 副業で enpay.Inc で構築した事例を紹介します 3 / 18
Slide 4
Slide 4 text
事前制約 外部にダッシュボードを埋め込みで提供したい Looker を採用したい 4 / 18
Slide 5
Slide 5 text
重要視した方針 汎用化 エンハンス/ リプレイスしやすい技術を採用 作り込まない Airflow, Argo Workflow 等ワークフローエンジンの採用を見送る リスク最小化 DWH には個人情報を一切入れない「全部なし戦略」 5 / 18
Slide 6
Slide 6 text
どんなデータを集める? 1. クライアントログ 2. DB 3. 各SaaS(kintone) 6 / 18
Slide 7
Slide 7 text
どこにデータを集める? BigQuery エコシステムが整って枯れているBigQuery に不満がなかった 権限周り/cli 周りの取り回し Snowflake のtrial してみたいと思いつつ.. 7 / 18
Slide 8
Slide 8 text
Q. どうやってデータを集める? 真っ先にtrocco をtrial で導入し検討した あらゆるデータソースに対応していて要件(DB, SaaS からのデー タ取り込み) は満たせた が要件に対してはコストが見合わなかったので断念 Embulk on CloudRun を採用 コンテナベースなので安心 8 / 18
Slide 9
Slide 9 text
Amazon S3 Amazon RDS Cloud Build Cloud Storage db-importer Cloud Run Push AWS Step Functions workflow rds-exporter Create DBClusterSnapshot StartExportTask EventBridge run-embulk Cloud Run BigQuery DB SaaS ClientLog 9 / 18
Slide 10
Slide 10 text
DB Aurora instance から個人情報をすべてマスク済のsnapshot を作成 snapshot からS3 にParquet でexport S3 に DB のデータがリスクのない状態で配置 CloudRun 上で実行されるbq load によりS3 のParquet をBQ にimport 10 / 18
Slide 11
Slide 11 text
SaaS Embulk on CloudRun CloudRun のroot endpoint にアクセスすると実装済のすべての embulk config をsequential にembulk run する 環境変数によって個別に実行可能 SaaS 毎のendpoint を作る等自由に拡張可能 11 / 18
Slide 12
Slide 12 text
ClientLog Google Analytics 必要な箇所で trackEvent を呼ぶだけでBQ にほぼリアルタイムにロ ギングされる export const EventTracker = { trackEvent: function (event_name: string, payload: any) { try { gtag('event', event_name, payload) 12 / 18
Slide 13
Slide 13 text
どうやって使っている? まずはsales/cs メンバー向けのkintone ダッシュボード上でLooker ダ ッシュボードを埋め込み表示 今後エンドユーザーに便利ダッシュボードを公開予定 13 / 18
Slide 14
Slide 14 text
14 / 18
Slide 15
Slide 15 text
稼働状況 StepFunction, CloudRun 共に daily job は実装完了後一度も落ちていない 15 / 18
Slide 16
Slide 16 text
ランニングコスト 実質無料 CloudRun & BQ (& CloudBuild) で200 円くらい CloudRun 最高! 16 / 18
Slide 17
Slide 17 text
enpay のプロダクト/ データに興味がある方はこちらへどうぞ! Looker 採用決定したCTO がカジュアルにトークします 17 / 18
Slide 18
Slide 18 text
まずは小さく始めよう 18 / 18