Upgrade to Pro — share decks privately, control downloads, hide ads and more …

データ基盤チームの設立と直近の取り組み / the-establishment-of-pepa...

データ基盤チームの設立と直近の取り組み / the-establishment-of-pepabo-data-platform-team

Pepabo Tech Conference #14 登壇資料
https://pepabo.connpass.com/event/204392/

Toshifumi Tsutsumi

February 25, 2021
Tweet

More Decks by Toshifumi Tsutsumi

Other Decks in Technology

Transcript

  1. 1 堤 利史 / GMO Pepabo, inc. Date: 2021-02-25 Event:

    Pepabo Tech Conference #14 データ基盤チームの設立と 直近の取り組み
  2. 3 3 本日お話しすること Section 1: データ基盤チームの設立 Section 2: 直近の取り組み -

    チーム運営・基盤改善 - SUZURI KPIダッシュボード Section 3: データ基盤チームのこれから
  3. 5 5 ログ活用基盤 “Bigfoot” - ウェブサービスに関する様々なデータを扱う基盤 - ペパボ研究所 と 技術部

    技術基盤チーム が中心となって開発 - 2020年に Google Cloud Platform をベースに再構成 - BigQuery, Cloud Composer が中心 https://rand.pepabo.com/article/2020/06/16/bigfoot-migration/
  4. 6 6 ログ活用基盤 “Bigfoot” datasource datasets logs metrics GitHub issues

    databases BigQuery Data Studio tbls-build base tbls.yml files patch files ( *.yml, *.json ) patched tbls.yml files tbls-meta tbls kura.gem data catalog Update metadata & commit Collect datasets Apply metadata Generate & commit Collect data tbls Generate schema.json & commit lint bigfoot/data-catalog bigfoot/platform Cloud Storage - permissions - datasets - buckets bigfoot/cloud-composer Cloud Composer dags/
  5. 7 7 - 日本CTO協会が監修・編纂している企業のデジタル化と ソフトウェア活用のためのガイドライン - テーマのひとつである ”データ駆動” を全社的に注力 -

    Bigfoot にデータを集積し、活用していく機運の高まり DX Criteriaの実践 https://tech.pepabo.com/2020/02/19/dx-criteria/
  6. 11 11 2021-01-21 データ基盤チーム 設立 🎉 Vision “データ駆動” の実現を担う 事業部横断組織

    Mission 1. 社内のあらゆるデータへの意味付け 2. データによる意思決定を支援するプラットフォームの構築・ 全てのパートナーへの提供
  7. 14 14 チーム始動!と同時に発生した課題 - 開発者の増加 → 手数増える → CI渋滞 -

    連携元システム・サービスの増加 - データやETL処理の依存関係の複雑化 - 新規 / 既存メンバーのナレッジギャップ チーム運営&基盤の改善が急務に ...!
  8. 15 15 2021年の2ヶ月間でやったこと - CI環境の移行 (Drone * → GitHub Actions)

    - Cloud Composer テスト環境増設 (1→3) - マルチクラウド化 (AWSのチーム利用開始) - Sentry によるエラーマネジメント開始 - エラー通知 → エラー情報確認 → Issue起票 がスムーズに - アーキテクチャ共有会 の定期開催 - ドキュメント拡充 - Airflow DAG 依存関係の整理 - ソースコードコメントや Metadataの追加 * OSS CIプラットフォーム。 https://www.drone.io/
  9. 16 16 各種対応によって状況は改善へ💪 - 開発者の増加 → 手数増える → CI渋滞 -

    解消 - 連携元システム・サービスの増加 - チームとして対応できる状態に - データやETL処理の依存関係の複雑化 - 現状把握・注意喚起する仕組みを構築中 - 新規 / 既存メンバーのナレッジギャップ - 技術的・歴史的なナレッジ共有の継続実施 (共有会, GHE, Notion など) - 対応手順をGitHub Issueに残して資産化
  10. 18 18 画像を1枚アップ するだけ 自動的に商品が できます 販売まで行えます 自分買いも可能 画 像

    をアップすると、 Tシャツやトートバッグ、マ グカップなど、あらゆるグッズを作ることができま す。グッズは41種類。 好きな価格で販売できます。注文を受けてか ら作成するので在庫を気にする必要もありま せん。 自分で作ったイラストや写真を 1枚アップロード します。 (ファイル形式はJPGまたはPNG) オリジナルアイテムが作れる、売れる、買える。
  11. 20 Google BigQuery Cloud Composer Data Lake 20 今回のデータパイプラインの全体像 Data

    Warehouse Data Mart Cloud Storage Embulk PostgreSQL Data Studio Slack Summary & Dashboard URL Users Bigfoot
  12. 22 Bigfoot Google BigQuery Cloud Composer Data Lake 22 Data

    Warehouse Data Mart Cloud Storage Embulk PostgreSQL Data Studio Slack Summary & Dashboard URL Users Step1: SUZURIを理解(しようと努力)する 後ろは、ぼんやり考える程度に
  13. 23 23 Step1: SUZURIを理解(しようと努力)する - 事業そのものを知る - ビジネスモデルを学ぶ - サービスのユーザーになる

    - KPIへの理解を深める - 使われている用語の定義を確認 - 用語に紐づくデータの整理 - Google Colabでざっくり加工して、認識齟齬が無いか確認 - サービスのデータ構造を学ぶ - テーブルやER図を眺める - ひたすらSELECTを投げてデータ構造を感じる
  14. 24 Bigfoot Google BigQuery Cloud Composer Data Lake 24 Data

    Warehouse Data Mart Cloud Storage Embulk PostgreSQL Data Studio Slack Summary & Dashboard URL Users Step2: Data Studioでドラフト版を作成する カスタムクエリで直接参照!
  15. 25 25 Step2: Data Studioでドラフト版を作成する - Data Studio(データポータル) - Googleが提供するBIツール

    - BigQueryと簡単にデータ連携ができる - “実際に動くもの”を見ながら、ビジネス要件を再確認 - カスタムクエリ(データソースをSQLで直接指定するモード )にハードコード - DataMartが完成したら接続先を切り替える - アウトプットが固まってきたら、プロセスの最適化を検討
  16. 26 Bigfoot Google BigQuery Cloud Composer Data Lake 26 Data

    Warehouse Data Mart Cloud Storage Embulk PostgreSQL Data Studio Slack Summary & Dashboard URL Users 通知は最後 Step3: Cloud Composer でワークフローを構築する
  17. 27 27 Step3: Cloud Composer でワークフローを構築する - Cloud Composer -

    Google が提供するフルマネージド Airflow - 多様なOperator* を駆使してワークフローを構築 - (独特なスケジューリングの概念に苦戦 ...) - Airflow を初めてさわった - execution_date, start_date, end_date, schedule_interval… - ELT(Extract/Load/Transform) 処理の実施 - DataLake → DataWarehouse → DataMart の方向にデータを加工 * ワークフロータスクのテンプレート。これを組み合わせてワークフローを定義する。
  18. 28 Bigfoot Google BigQuery Cloud Composer Data Lake 28 Data

    Warehouse Data Mart Cloud Storage Embulk PostgreSQL Data Studio Slack Summary & Dashboard URL Users Step3でリリース済 Step4: Slackにサマリーを通知する
  19. 29 29 - DataMart 作成完了に合わせて、Slackへサマリーを通知 - Slack App の Incomming

    Webhook を使用 - ”SELECT 結果を加工して Slack に通知” をしてくれる Operator はない - そこで Custom Operator を実装 - 渡すパラメータは、Airflow Connection と mention, header, body の4つ - Base Operator を継承して、BigQueryHook を内部で実行 Step4: Slackにサマリーを通知する
  20. 32 32 再掲: データ基盤チームのVision & Mission Vision “データ駆動” の実現を担う 事業部横断組織

    Mission 1. 社内のあらゆるデータへの意味付け 2. データによる意思決定を支援するプラットフォームの構築・ 全てのパートナーへの提供
  21. 33 33 - Bigfoot をもっと活用してもらう - データや基盤は活用するためにある - 活用するにはどのような方法があるのか、選択肢を提示する -

    チームの認知度を上げる - Bigfoot を知っていても、データ基盤チームは知られていない - どんなひとがいるのか、なにをしているのか → 相談のしやすさ⏫ - 社内・社外への情報発信 - 至高のデータ基盤を目指して - 技術的なチャレンジも忘れない やっていくこと