Slide 1

Slide 1 text

Yappli Tech Conference 0 2024.10.17 Yappli Data Hubの 謎に迫る踊る24新卒

Slide 2

Slide 2 text

Speaker 開発統括本部 プロダクト開発本部 開発2部 サーバー3グループ ⼤﨑 敬太 ● 24卒 ○ 2023年から内定者インターンでジョイン! ● 好きなデータは⽣体情報関連(ECG)

Slide 3

Slide 3 text

⽬次 1. Yappli Data Hubについて 2. 裏側の仕組み 3. 直近の取り組みについて 4. まとめ

Slide 4

Slide 4 text

ゴール ● Yappli Data Hubがどういったサービスなのか知る! ● どういった技術が使われているのかを知る! ● 我々がどんな取り組みを⾏なっているのか知る!

Slide 5

Slide 5 text

Yappli Data Hubについて

Slide 6

Slide 6 text

Yappli では約800アプリも運⽤されている! 01 Yappli Data Hubについて

Slide 7

Slide 7 text

● アプリ内の⾏動データ‧属性データを「ユーザー単位」で分析可能 Yappli Data Hubとは 01 Yappli Data Hubについて

Slide 8

Slide 8 text

もう少し踏み込みます 01 Yappli Data Hubについて

Slide 9

Slide 9 text

● アプリ内の⾏動データ‧属性データを「ユーザー単位」で分析可能なサービス Yappli Data Hubとは 01 Yappli Data Hubについて エンドユーザのアプリ操作からデータを収集!

Slide 10

Slide 10 text

取得しているデータ 01 Yappli Data Hubについて ①⾏動データ ②イベントデータ ③属性データ 各機能の閲覧ログ ボタンアクションログ ユーザ情報 ● ホームの閲覧 ● クーポンページ閲覧 ● スタンプページ閲覧 ● クーポンの使⽤状況 ● プッシュ通知の開封 ● プッシュ通知の詳細 ● 性別 ● 年齢 ● エリア

Slide 11

Slide 11 text

● アプリ内の⾏動データ‧属性データを「ユーザー単位」で分析可能なサービス Yappli Data Hubとは 01 Yappli Data Hubについて

Slide 12

Slide 12 text

①データの取得 ● クライアント様の社内でデータ分析 ②データの連携 ● Treasure Data CDP, b→dashなどの外部サービスとの連携 ③データの可視化 ● Lookerダッシュボードによるデータの可視化 活⽤⽅法 01 Yappli Data Hubについて

Slide 13

Slide 13 text

● 例:pushの開封データからよりニーズのあるpush施策 ○ 開封されやすいpush内容は? ■ 時間や内容、頻度、セグメントなど ■ データからよりユーザに適したpushを検討 効果的な施策の実施への活⽤ 01 Yappli Data Hubについて データを⾒る pushを送信 開封率UP!

Slide 14

Slide 14 text

データドリブンなアプリ運⽤を ⽀援するサービス 01 Yappli Data Hubについて

Slide 15

Slide 15 text

● アプリ内の⾏動データ‧属性データを「ユーザー単位」で分析可能なサービス Yappli Data Hubとは 01 Yappli Data Hubについて 「んじゃこいつは何...?」 と思われた⽅、安⼼してください 今から説明します

Slide 16

Slide 16 text

裏側の仕組み

Slide 17

Slide 17 text

データの流れ 02 裏側の仕組み ①ユーザの  ⾏動データの格納 ②S3へのデータ格納 Cloud Run Cloud Run Amazon S3 Dataflow Pub/Sub BigQuery BigQuery Dataflow Cloud Storage Pub/Sub

Slide 18

Slide 18 text

● データが可視化されるまで ○ S3に格納されたデータは分析⽤のバケットに配置 ○ クライアントへのデータ提供または分析⽤外部ツールへのデータ連携 データが提供されるまで 02 裏側の仕組み Amazon S3 データ提供 外部ツール Amazon S3 Amazon S3 ECS

Slide 19

Slide 19 text

直近の取り組みについて

Slide 20

Slide 20 text

Yappli Data Hubは⽇々進化しているのだ 03 直近の取り組みについて

Slide 21

Slide 21 text

最近の進化 GCP サービスのバージョン対応 ● GCP Dataflow SDKバージョンのアップグレード ● Cloud Functions のランタイムをアップデート(第2世代) 社内管理コスト削減 ● Yappli Data Hubクライアントを管理しやすいように改善 03 直近の取り組みについて

Slide 22

Slide 22 text

最近の進化 GCP サービスのバージョン対応 ● GCP Dataflow SDKバージョンのアップグレード ● Cloud Functions のランタイムをアップデート(第2世代) 社内管理コスト削減 ● Yappli Data Hubクライアントを管理しやすいように改善 03 直近の取り組みについて

Slide 23

Slide 23 text

● Dataflow SDKバージョンアップ対応 ○ Dataflow で利⽤している Apache Beam SDK for Java を 2.34.0 から 2.56.0 ■ ⾮推奨バージョンからサポート対象バージョンまでアップグレード GCPサービスのバージョン対応 03 直近の取り組みについて

Slide 24

Slide 24 text

● Dataflow SDKバージョンのアップグレード ○ ⾟みポイント ■ Javaアプリケーションの知⾒がチーム内にないため修正コストが⾼い ■ バージョンアップに伴うリリース変更内容を追うことが⼤変 ● AvroCoder クラスが廃⽌など ○ 学び ■ 定期的なアップデート ● 差分が多くならないうちに定期的な確認とアップデートを! ● バージョンアップ必要性の⾃動検知システムの構築! GCPサービスのバージョン対応 03 直近の取り組みについて

Slide 25

Slide 25 text

● Cloud Functions のランタイムをアップデート(第2世代) ○ Goのバージョンアップに伴い第2世代への移⾏が必要に ● やったこと ○ CloudEvent 関数を利⽤したコードに書き換える ○ Eventarc APIの有効化とロールの付与 ○ CLIでデプロイしている場合)指定するオプションを変更 GCPサービスのバージョン対応 03 直近の取り組みについて

Slide 26

Slide 26 text

● Cloud Functions 関数を第2世代への移⾏ ○ 学び ■ ドキュメントを⾒ることでGCPサービス周りの知識がインプットされた! ● 担当者コメント GCPサービスのバージョン対応 03 直近の取り組みについて 個⼈でこんなにクラウドサービス触れる機会はそうそうないので AWSもGCPも触れるのでプロジェクト楽しいです!

Slide 27

Slide 27 text

最近の進化 GCP サービスのバージョン対応 ● GCP Dataflow SDKバージョンのアップグレード ● Cloud Functions のランタイムをアップデート(第2世代) 社内管理コスト削減 ● Yappli Data Hubクライアントを管理しやすいように改善 03 直近の取り組みについて

Slide 28

Slide 28 text

● Yappli Data Hubクライアント管理の容易性改善 ○ GCS上にあるjsonファイルによる管理 社内管理コスト削減 03 直近の取り組みについて json { "clients": [ { "name": "大崎", "usecase": "外部ツールへの連携" } ] } Cloud Storage

Slide 29

Slide 29 text

● クライアント追加時の流れ 1. jsonファイルにクライアント情報を追記 2. S3バケットの⽤意 3. ECS上の環境変数にも追加 ● つらみポイント ○ json の整合性検証 ○ 管理情報が分散している 社内管理コスト削減 03 直近の取り組みについて { "clients": [ { "name": "大崎", "usecase": "外部ツールへの連携 " }, { "name": "New client", "usecase": "外部ツールへの連携 " } ] }

Slide 30

Slide 30 text

社内管理コスト削減 03 直近の取り組みについて S3へのデータ格納 Cloud Run Amazon S3 BigQuery Dataflow Cloud Storage Pub/Sub ● 集計対象のクライアントをjsonファイルから読み取ってデータをS3へ ○ GCSからBigQueryの間にも処理がありますが割愛させていただきます json *間の処理は割愛

Slide 31

Slide 31 text

● ECS上の環境変数を元にバケットに配置 ○ ⼆つのECS上のタスクから⽬的にあったS3バケットへ 社内管理コスト削減 03 直近の取り組みについて Amazon S3 データ提供 外部ツール Amazon S3 ECS

Slide 32

Slide 32 text

● DBでクライアントを管理 ○ 管理情報を⼀元化! ○ DBを参照することでECSタスクを⼀つに! 社内管理コスト削減 03 直近の取り組みについて データ提供 外部ツール Amazon S3 Amazon S3 ECS Cloud Run Amazon S3 BigQuery Dataflow Cloud Storage Pub/Sub Amazon Aurora *間の処理は割愛

Slide 33

Slide 33 text

● ⼯夫 ポイント ○ クライアント情報をDB移⾏ ■ データの⼀元管理! ■ ECSタスクを⼀つに! 社内管理コスト削減 03 直近の取り組みについて 異なるクラウドサービスのリソースへの アクセス周りの設計思想は難しさもありつつ⾯⽩い!

Slide 34

Slide 34 text

まとめ

Slide 35

Slide 35 text

Yappli Data Hubとは! ● Yappli Data Hubはデータドリブンなアプリ運⽤を⽀援するサービス! ⽇々改善! ● 改善ポイントはまだまだある! ○ システム構成の再構築 ○ S3バケットの⾃動⽣成 ○ データ処理の改善 まとめ 04 まとめ

Slide 36

Slide 36 text

内定者インターンと⼊社後を通して! ● 約800アプリから収集されるデータの基盤を構築する技術的な⾯⽩さ ● データドリブンなアプリ運⽤を実現するためのビジネス的な⾯⽩さ ● チャレンジしやすい環境 Yappli Data Hubの⾯⽩さ 04 まとめ

Slide 37

Slide 37 text

ゴール 04 まとめ ● Yappli Data Hubがどういったサービスなのか知る! ● どういった技術が使われているのかを知る! ● 我々がどんな取り組みを⾏なっているのか知る!