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

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

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

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

A1391fea7feb81a26c333c05f831dbf3?s=128

Toshifumi Tsutsumi

February 25, 2021
Tweet

Transcript

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

    Pepabo Tech Conference #14 データ基盤チームの設立と 直近の取り組み
  2. 2 堤 利史 Twitter: @tosh2230 データエンジニア GMO Pepabo, inc. 技術部

    データ基盤チーム (2020/12~) 2
  3. 3 3 本日お話しすること Section 1: データ基盤チームの設立 Section 2: 直近の取り組み -

    チーム運営・基盤改善 - SUZURI KPIダッシュボード Section 3: データ基盤チームのこれから
  4. 4 データ基盤チームの設立 Section 1 4 ログ活用基盤 “Bigfoot” と実現するデータ駆動

  5. 5 5 ログ活用基盤 “Bigfoot” - ウェブサービスに関する様々なデータを扱う基盤 - ペパボ研究所 と 技術部

    技術基盤チーム が中心となって開発 - 2020年に Google Cloud Platform をベースに再構成 - BigQuery, Cloud Composer が中心 https://rand.pepabo.com/article/2020/06/16/bigfoot-migration/
  6. 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/
  7. 7 7 - 日本CTO協会が監修・編纂している企業のデジタル化と ソフトウェア活用のためのガイドライン - テーマのひとつである ”データ駆動” を全社的に注力 -

    Bigfoot にデータを集積し、活用していく機運の高まり DX Criteriaの実践 https://tech.pepabo.com/2020/02/19/dx-criteria/
  8. 8 8 最近の事例 1 https://speakerdeck.com/osamtimizer/suzuri-data-driven-2020 https://tech.pepabo.com/2021/01/21/pepabo-tech-conference-13/

  9. 9 9 最近の事例 2 https://tech.pepabo.com/2021/02/10/zendesk-data-visualization-with-bigfoot/

  10. 10 需要 > 供給 10

  11. 11 11 2021-01-21 データ基盤チーム 設立 🎉 Vision “データ駆動” の実現を担う 事業部横断組織

    Mission 1. 社内のあらゆるデータへの意味付け 2. データによる意思決定を支援するプラットフォームの構築・ 全てのパートナーへの提供
  12. 12 直近の取り組み Section 2 12 一部を抜粋してご紹介

  13. 13 1. チーム運営・基盤の改善 13

  14. 14 14 チーム始動!と同時に発生した課題 - 開発者の増加 → 手数増える → CI渋滞 -

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

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

    解消 - 連携元システム・サービスの増加 - チームとして対応できる状態に - データやETL処理の依存関係の複雑化 - 現状把握・注意喚起する仕組みを構築中 - 新規 / 既存メンバーのナレッジギャップ - 技術的・歴史的なナレッジ共有の継続実施 (共有会, GHE, Notion など) - 対応手順をGitHub Issueに残して資産化
  17. 17 2. KPIダッシュボード 17

  18. 18 18 画像を1枚アップ するだけ 自動的に商品が できます 販売まで行えます 自分買いも可能 画 像

    をアップすると、 Tシャツやトートバッグ、マ グカップなど、あらゆるグッズを作ることができま す。グッズは41種類。 好きな価格で販売できます。注文を受けてか ら作成するので在庫を気にする必要もありま せん。 自分で作ったイラストや写真を 1枚アップロード します。 (ファイル形式はJPGまたはPNG) オリジナルアイテムが作れる、売れる、買える。
  19. 19 19 ダッシュボードの目的 データによってサービスの状態を把握して、施策のPDCAに貢献 - 複数のデータソースを収集 - 多量・多種のデータを加工・蓄積 - KPI

    * を即座に抽出して可視化 - サマリーを定期的に通知 * Key Performance Indicator: 重要業績評価指標
  20. 20 Google BigQuery Cloud Composer Data Lake 20 今回のデータパイプラインの全体像 Data

    Warehouse Data Mart Cloud Storage Embulk PostgreSQL Data Studio Slack Summary & Dashboard URL Users Bigfoot
  21. 21 どのように構築したか 21

  22. 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を理解(しようと努力)する 後ろは、ぼんやり考える程度に
  23. 23 23 Step1: SUZURIを理解(しようと努力)する - 事業そのものを知る - ビジネスモデルを学ぶ - サービスのユーザーになる

    - KPIへの理解を深める - 使われている用語の定義を確認 - 用語に紐づくデータの整理 - Google Colabでざっくり加工して、認識齟齬が無いか確認 - サービスのデータ構造を学ぶ - テーブルやER図を眺める - ひたすらSELECTを投げてデータ構造を感じる
  24. 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でドラフト版を作成する カスタムクエリで直接参照!
  25. 25 25 Step2: Data Studioでドラフト版を作成する - Data Studio(データポータル) - Googleが提供するBIツール

    - BigQueryと簡単にデータ連携ができる - “実際に動くもの”を見ながら、ビジネス要件を再確認 - カスタムクエリ(データソースをSQLで直接指定するモード )にハードコード - DataMartが完成したら接続先を切り替える - アウトプットが固まってきたら、プロセスの最適化を検討
  26. 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 でワークフローを構築する
  27. 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 の方向にデータを加工 * ワークフロータスクのテンプレート。これを組み合わせてワークフローを定義する。
  28. 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にサマリーを通知する
  29. 29 29 - DataMart 作成完了に合わせて、Slackへサマリーを通知 - Slack App の Incomming

    Webhook を使用 - ”SELECT 結果を加工して Slack に通知” をしてくれる Operator はない - そこで Custom Operator を実装 - 渡すパラメータは、Airflow Connection と mention, header, body の4つ - Base Operator を継承して、BigQueryHook を内部で実行 Step4: Slackにサマリーを通知する
  30. 30 30 - サマリーやダッシュボードを 見ながらSlackで議論できる - 社内共有も簡単! - ダッシュボードはユーザ編集可 このあたりにKPIのサマリーを

    列挙して通知しています Step4: Slackにサマリーを通知する
  31. 31 データ基盤チームの これから Section 3 31

  32. 32 32 再掲: データ基盤チームのVision & Mission Vision “データ駆動” の実現を担う 事業部横断組織

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

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