小さく始めるデータ基盤
by
Reiji Kainuma
×
Copy
Open
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
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