Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
データ基盤チームの設立と直近の取り組み / the-establishment-of-pepa...
Search
Toshifumi Tsutsumi
February 25, 2021
Technology
5
4.2k
データ基盤チームの設立と直近の取り組み / the-establishment-of-pepabo-data-platform-team
Pepabo Tech Conference #14 登壇資料
https://pepabo.connpass.com/event/204392/
Toshifumi Tsutsumi
February 25, 2021
Tweet
Share
More Decks by Toshifumi Tsutsumi
See All by Toshifumi Tsutsumi
ModuleNotFoundErrorの傾向と対策:仕組みから学ぶImport / Unpacking ModuleNotFoundError
tosh2230
3
4.4k
CDCデータパイプラインを止めないために / One Stream of the CDC
tosh2230
0
1.2k
ニアリアルタイム分析の実現に向けたChange Data Captureの導入 / Change data capture for near realtime analytics
tosh2230
3
1.6k
データリネージの組織導入事例と今後の戦略 / Introduction to an example of data lineage in GMO Pepabo
tosh2230
0
880
SQLクエリ解析によるE2Eデータリネージの実現 / E2E-data-lineage
tosh2230
0
3.4k
データ抽出基盤 Yeti をつくっている話 / Yeti - Yet another Extract-Transfer Infrastructure
tosh2230
1
4.5k
Loggingモジュールではじめるログ出力入門 / Introduction to Python Logging
tosh2230
32
13k
Other Decks in Technology
See All in Technology
RubyのWebアプリケーションを50倍速くする方法 / How to Make a Ruby Web Application 50 Times Faster
hogelog
3
940
Platform Engineering for Software Developers and Architects
syntasso
1
520
マルチプロダクトな開発組織で 「開発生産性」に向き合うために試みたこと / Improving Multi-Product Dev Productivity
sugamasao
1
300
IBC 2024 動画技術関連レポート / IBC 2024 Report
cyberagentdevelopers
PRO
0
110
Lexical Analysis
shigashiyama
1
150
Terraform CI/CD パイプラインにおける AWS CodeCommit の代替手段
hiyanger
1
240
スクラムチームを立ち上げる〜チーム開発で得られたもの・得られなかったもの〜
ohnoeight
2
350
Security-JAWS【第35回】勉強会クラウドにおけるマルウェアやコンテンツ改ざんへの対策
4su_para
0
180
インフラとバックエンドとフロントエンドをくまなく調べて遅いアプリを早くした件
tubone24
1
430
[FOSS4G 2024 Japan LT] LLMを使ってGISデータ解析を自動化したい!
nssv
1
210
Why App Signing Matters for Your Android Apps - Android Bangkok Conference 2024
akexorcist
0
120
Shopifyアプリ開発における Shopifyの機能活用
sonatard
4
250
Featured
See All Featured
Intergalactic Javascript Robots from Outer Space
tanoku
269
27k
Teambox: Starting and Learning
jrom
133
8.8k
Designing on Purpose - Digital PM Summit 2013
jponch
115
7k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
26
2.1k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
506
140k
Documentation Writing (for coders)
carmenintech
65
4.4k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
31
2.7k
Designing Experiences People Love
moore
138
23k
Large-scale JavaScript Application Architecture
addyosmani
510
110k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
0
89
How STYLIGHT went responsive
nonsquared
95
5.2k
Optimising Largest Contentful Paint
csswizardry
33
2.9k
Transcript
1 堤 利史 / GMO Pepabo, inc. Date: 2021-02-25 Event:
Pepabo Tech Conference #14 データ基盤チームの設立と 直近の取り組み
2 堤 利史 Twitter: @tosh2230 データエンジニア GMO Pepabo, inc. 技術部
データ基盤チーム (2020/12~) 2
3 3 本日お話しすること Section 1: データ基盤チームの設立 Section 2: 直近の取り組み -
チーム運営・基盤改善 - SUZURI KPIダッシュボード Section 3: データ基盤チームのこれから
4 データ基盤チームの設立 Section 1 4 ログ活用基盤 “Bigfoot” と実現するデータ駆動
5 5 ログ活用基盤 “Bigfoot” - ウェブサービスに関する様々なデータを扱う基盤 - ペパボ研究所 と 技術部
技術基盤チーム が中心となって開発 - 2020年に Google Cloud Platform をベースに再構成 - BigQuery, Cloud Composer が中心 https://rand.pepabo.com/article/2020/06/16/bigfoot-migration/
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 - 日本CTO協会が監修・編纂している企業のデジタル化と ソフトウェア活用のためのガイドライン - テーマのひとつである ”データ駆動” を全社的に注力 -
Bigfoot にデータを集積し、活用していく機運の高まり DX Criteriaの実践 https://tech.pepabo.com/2020/02/19/dx-criteria/
8 8 最近の事例 1 https://speakerdeck.com/osamtimizer/suzuri-data-driven-2020 https://tech.pepabo.com/2021/01/21/pepabo-tech-conference-13/
9 9 最近の事例 2 https://tech.pepabo.com/2021/02/10/zendesk-data-visualization-with-bigfoot/
10 需要 > 供給 10
11 11 2021-01-21 データ基盤チーム 設立 🎉 Vision “データ駆動” の実現を担う 事業部横断組織
Mission 1. 社内のあらゆるデータへの意味付け 2. データによる意思決定を支援するプラットフォームの構築・ 全てのパートナーへの提供
12 直近の取り組み Section 2 12 一部を抜粋してご紹介
13 1. チーム運営・基盤の改善 13
14 14 チーム始動!と同時に発生した課題 - 開発者の増加 → 手数増える → CI渋滞 -
連携元システム・サービスの増加 - データやETL処理の依存関係の複雑化 - 新規 / 既存メンバーのナレッジギャップ チーム運営&基盤の改善が急務に ...!
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 各種対応によって状況は改善へ💪 - 開発者の増加 → 手数増える → CI渋滞 -
解消 - 連携元システム・サービスの増加 - チームとして対応できる状態に - データやETL処理の依存関係の複雑化 - 現状把握・注意喚起する仕組みを構築中 - 新規 / 既存メンバーのナレッジギャップ - 技術的・歴史的なナレッジ共有の継続実施 (共有会, GHE, Notion など) - 対応手順をGitHub Issueに残して資産化
17 2. KPIダッシュボード 17
18 18 画像を1枚アップ するだけ 自動的に商品が できます 販売まで行えます 自分買いも可能 画 像
をアップすると、 Tシャツやトートバッグ、マ グカップなど、あらゆるグッズを作ることができま す。グッズは41種類。 好きな価格で販売できます。注文を受けてか ら作成するので在庫を気にする必要もありま せん。 自分で作ったイラストや写真を 1枚アップロード します。 (ファイル形式はJPGまたはPNG) オリジナルアイテムが作れる、売れる、買える。
19 19 ダッシュボードの目的 データによってサービスの状態を把握して、施策のPDCAに貢献 - 複数のデータソースを収集 - 多量・多種のデータを加工・蓄積 - KPI
* を即座に抽出して可視化 - サマリーを定期的に通知 * Key Performance Indicator: 重要業績評価指標
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
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 Step1: SUZURIを理解(しようと努力)する - 事業そのものを知る - ビジネスモデルを学ぶ - サービスのユーザーになる
- KPIへの理解を深める - 使われている用語の定義を確認 - 用語に紐づくデータの整理 - Google Colabでざっくり加工して、認識齟齬が無いか確認 - サービスのデータ構造を学ぶ - テーブルやER図を眺める - ひたすらSELECTを投げてデータ構造を感じる
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 Step2: Data Studioでドラフト版を作成する - Data Studio(データポータル) - Googleが提供するBIツール
- BigQueryと簡単にデータ連携ができる - “実際に動くもの”を見ながら、ビジネス要件を再確認 - カスタムクエリ(データソースをSQLで直接指定するモード )にハードコード - DataMartが完成したら接続先を切り替える - アウトプットが固まってきたら、プロセスの最適化を検討
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 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 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 - DataMart 作成完了に合わせて、Slackへサマリーを通知 - Slack App の Incomming
Webhook を使用 - ”SELECT 結果を加工して Slack に通知” をしてくれる Operator はない - そこで Custom Operator を実装 - 渡すパラメータは、Airflow Connection と mention, header, body の4つ - Base Operator を継承して、BigQueryHook を内部で実行 Step4: Slackにサマリーを通知する
30 30 - サマリーやダッシュボードを 見ながらSlackで議論できる - 社内共有も簡単! - ダッシュボードはユーザ編集可 このあたりにKPIのサマリーを
列挙して通知しています Step4: Slackにサマリーを通知する
31 データ基盤チームの これから Section 3 31
32 32 再掲: データ基盤チームのVision & Mission Vision “データ駆動” の実現を担う 事業部横断組織
Mission 1. 社内のあらゆるデータへの意味付け 2. データによる意思決定を支援するプラットフォームの構築・ 全てのパートナーへの提供
33 33 - Bigfoot をもっと活用してもらう - データや基盤は活用するためにある - 活用するにはどのような方法があるのか、選択肢を提示する -
チームの認知度を上げる - Bigfoot を知っていても、データ基盤チームは知られていない - どんなひとがいるのか、なにをしているのか → 相談のしやすさ⏫ - 社内・社外への情報発信 - 至高のデータ基盤を目指して - 技術的なチャレンジも忘れない やっていくこと