TB / Day規模のゲーム向けデータパイプラインを開発運用する日々

gree_tech
gree_techgree_tech
Copyright © GREE, Inc. All Rights Reserved.
TB/Day規模のゲーム向け
データパイプラインを
開発運用する日々
グリー株式会社 開発本部
森田想平
目次
2
● 会社紹介
● データ基盤全般の紹介
● AWSベースのデータ基盤
● GCPベースのデータ基盤
● 開発運用する日々の話
● まとめ
会社紹介
3
社名 グリー株式会社
事業内容 ● ゲーム・ライブエンタメ事業
● 広告・メディア事業
● 投資事業
設立 2004年12月7日
代表者 代表取締役会長兼社長 田中良和
本社所在地 東京都港区六本木 6-10-1 六本木ヒルズ森タワー
従業員数 1,531人(グループ全体・ 2018年6月末現在)
主なグループ企業 ● グリービジネスオペレーションズ株式会社
● グリーベンチャーズ株式会社
● ファンプレックス株式会社
● 株式会社ポケラボ
● リミア株式会社
● 株式会社ExPlay
● Glossom株式会社
● GREE VR Capital, LLC.
● 株式会社Wright Flyer Studios
● 株式会社3ミニッツ
会社紹介
4
開発本部(の一部メンバー)
会社紹介
ゲームプラットフォーム事業
5
ゲーム事業 ライブエンタメ事業 メディア事業
● 横断データ基盤、分析ツールの開発運用
● 事業ごとのデータ基盤、分析ツールの開発運用
目次
6
● 会社紹介
● データ基盤全般の紹介
● AWSベースのデータ基盤
● GCPベースのデータ基盤
● 開発運用する日々の話
● まとめ
Copyright © GREE, Inc. All Rights Reserved.
● ex. シノアリス
● AppStoreトップセールスランキング最高1位
● 最大AWSインスタンス数1000前後(らしい)
● ex. ゲームプラットフォーム事業
● オンプレミスサーバ数千台程度
データ基盤全般の紹介
事業の規模感
ref. https://gamebiz.jp/?p=218802
Copyright © GREE, Inc. All Rights Reserved.
● データ基盤に送信蓄積されるデータ量
● 増加量は数TB/Day 程度
● 現在 1PB前後を管理運用
● 送信されるデータを全て永遠に取っておくわけではない
データ基盤全般の紹介
データの規模感
Copyright © GREE, Inc. All Rights Reserved.
● オンプレミスMySQLサーバ群
● MySQLサーバ : 100台程度(数十TB)
● オンプレミスHadoop
● Hadoopクラスタ : 50台程度(数百TB)
データ基盤全般の紹介
幾つかの世代がある
Copyright © GREE, Inc. All Rights Reserved.
● AWSベースのデータ基盤
● メインのデータ基盤(数百TB)
● 後述します
● GCPベースのデータ基盤
● 最近使い始めた(データ少ない)
● 少しだけ後で触れます
データ基盤全般の紹介
幾つかの世代がある
Copyright © GREE, Inc. All Rights Reserved.
● 旧Sun Microsystemsの専用アプライアンス(Solaris)から汎用IA
サーバ(Ubuntu)へのMySQLマイグレーション
● ZFSの機能(zfs send)にpatchを当てて利用
● オンプレミスHadoopからAWSデータ基盤へのマイグレーション
● データ送信はfluentdのダブルライト
● 過去ログはAWS Snowballデバイス
● バッチジョブは地道に書き換える
データ基盤全般の紹介
レガシーシステムからのマイグレーション
目次
12
● 会社紹介
● データ基盤全般の紹介
● AWSベースのデータ基盤
● GCPベースのデータ基盤
● 開発運用する日々の話
● まとめ
Copyright © GREE, Inc. All Rights Reserved.
AWSベースのデータ基盤
システム構成
Amazon
Kinesis
Amazon
EMR
Amazon
S3
Kinesis
Consumer
API Server
BI Tool
KPI Metric
プロダクトA
プロダクトB
プロダクトC
プロダクトD
Copyright © GREE, Inc. All Rights Reserved.
● S3への重依存
● (オンプレミスと比べた場合の)運用負荷減
● クエリエンジンのステートレス化
● 障害対応やバージョンアップが容易に
AWSベースのデータ基盤
規模感に伴うかんどころ:その1
Copyright © GREE, Inc. All Rights Reserved.
● S3のファイル数が多くなると、クエリ実行時にS3のRead(API呼び出
し)がボトルネックになる
● 定常的にファイルをマージしている
● 遅延ログがあるとマージが難しくなる
● よく使うテーブルに関しては、定常的にカラムナフォーマットで作り直し
ている
AWSベースのデータ基盤
規模感に伴うかんどころ:その2
Copyright © GREE, Inc. All Rights Reserved.
● 会社組織が複雑になると、権限管理が複雑になる
● 書き込みに関しては、プロダクトごとにAWSアカウントがあるので、
IAM Assume Roleという機能を利用する
AWSベースのデータ基盤
規模感に伴うかんどころ:その3
Amazon
Kinesis
Streams
IAM Role
(KinesisへのWrite権限) Amazon EC2
AWS Lambda
1. AssumeRoleで一時的権限を取得
2. Kinesis::PutRecordsでログを送信
データ分析基盤のAWSアカウント プロダクトのAWSアカウント
目次
17
● 会社紹介
● データ基盤全般の紹介
● AWSベースのデータ基盤
● GCPベースのデータ基盤
● 開発運用する日々の話
● まとめ
Copyright © GREE, Inc. All Rights Reserved.
GCPベースのデータ基盤
システム構成
analytics-systemproduction server
Stackdriver
BigQuery Data
Studio
Cloud
Pub/Sub
Cloud
Storage
Cloud
Dataflow
client
Cloud
SQL
Firebase
App
Engine
ios/android
Copyright © GREE, Inc. All Rights Reserved.
● スケーラビリティに関しては、まだ検証フェーズ
● 心配はしていない
GCPベースのデータ基盤
概要
目次
20
● 会社紹介
● データ基盤全般の紹介
● AWSベースのデータ基盤
● GCPベースのデータ基盤
● 開発運用する日々の話
● まとめ
Copyright © GREE, Inc. All Rights Reserved.
システムを
「気持ちよく開発・保守できるかどうか」を
示す言葉(として一部使われている)
開発運用する日々
デベロッパーエクスペリエンス(DX)
ref. https://gfx.hatenablog.com/entry/2018/06/28/100103
Copyright © GREE, Inc. All Rights Reserved.
● セットアップの自動化
● 実行環境(OS)の移植性の最大化
● サーバ・システム管理を不要に
● 継続的デプロイを可能に
● スケールアップを可能に
開発運用する日々
The Twelve-Factor App
ref. https://12factor.net/ja/
Copyright © GREE, Inc. All Rights Reserved.
● (本番と同様)、開発時も依存プロセスが多い
● dockerで各プロセスを管理するが、1つ1つ再起動等するのは手間に
なる
● そこで、docker-compseという複数dockerを管理する仕組みを利用
する
● 一括で起動できる
● コンテナ間の通信や依存関係を設定できる
開発運用する日々
DX向上のための工夫の例
Copyright © GREE, Inc. All Rights Reserved.
● システムコンポーネント(AWSベースデータ基盤の場合)
● Kinesis Consumerアプリケーション(データ配送ロジック)
● API Server(クエリの管理や権限制御)
● Analyticsツール(ワークフロー機能等含む)
● 構成管理・デプロイ・起動
● その他、細かいコード
● バッチジョブ(ファイルマージなど)
● Presto等のUser-Defined Function
開発運用する日々
結局何を開発するのか?主なコーディング対象
Copyright © GREE, Inc. All Rights Reserved.
● プロダクトマネジメント体制
● 仕様策定や利用者問い合わせ対応は別チームのタスク
● 開発ツール
● MacBookとAWS開発専用アカウントを駆使する
● IntelliJ IDEA(IDE)のライセンスは付与
● 日々の作業
● 新規開発、bugfix、障害対応
● お昼は割と社内勉強会やコーディング系の部活
● ごく稀に、海外出張でカンファレンスに参加
開発運用する日々
開発運用体制
Copyright © GREE, Inc. All Rights Reserved.
● (クラウド)データ基盤の開発運用のやりがい
● 様々なミドルウェアや技術にさわれる (Mさん、Yさん)
● 少さなコードで大規模なシステムが動く(Iさん)
● 社内ユーザからダイレクトにFBがもらえる(Mさん)
開発運用する日々
開発メンバーの意見
Copyright © GREE, Inc. All Rights Reserved.
● (クラウド)データ基盤の開発運用で大変なこと
● アラート対応
● マネージドサービスが死んだり調子が悪くなると、待つしかない
● マネージドサービスの利用MWのバージョンがニーズにマッチしな
いと辛い
開発運用する日々
開発メンバーの意見
目次
28
● 会社紹介
● データ基盤全般の紹介
● AWSベースのデータ基盤
● GCPベースのデータ基盤
● 開発運用する日々の話
● まとめ
Copyright © GREE, Inc. All Rights Reserved.
● 開発運用対象が周縁化してる
● 分散ファイルシステムやクエリエンジンなどデータパイプラインの中
心部分はマネージドサービス化が進んでいる
● パイプラインの周縁は開発が必要
● 周縁部は事業依存になりがちなので
● 必要な機能が増え、使えるコンポーネントも多いので、システム構成が
複雑になりがち
● DXを考慮した日々の開発が重要
まとめ
開発運用する日々に対する所感
1 of 29

Recommended

アナザーエデンにおける非同期オートセーブを用いた通信待ちストレスのないゲーム体験の実現 by
アナザーエデンにおける非同期オートセーブを用いた通信待ちストレスのないゲーム体験の実現アナザーエデンにおける非同期オートセーブを用いた通信待ちストレスのないゲーム体験の実現
アナザーエデンにおける非同期オートセーブを用いた通信待ちストレスのないゲーム体験の実現gree_tech
18.8K views62 slides
GREE 流!AWS をお得に使う方法 by
GREE 流!AWS をお得に使う方法GREE 流!AWS をお得に使う方法
GREE 流!AWS をお得に使う方法gree_tech
5.7K views73 slides
AWS re:invent振り返りServerlessでサーバコスト以外もいろいろ削減 by
AWS re:invent振り返りServerlessでサーバコスト以外もいろいろ削減AWS re:invent振り返りServerlessでサーバコスト以外もいろいろ削減
AWS re:invent振り返りServerlessでサーバコスト以外もいろいろ削減gree_tech
742 views18 slides
社内サービスのUI改善 by
社内サービスのUI改善社内サービスのUI改善
社内サービスのUI改善gree_tech
1.8K views40 slides
DynamoDBを利用したKPI保存システム by
DynamoDBを利用したKPI保存システムDynamoDBを利用したKPI保存システム
DynamoDBを利用したKPI保存システムgree_tech
4.1K views40 slides
OSS強化学習向けゲーム環境の動向 by
OSS強化学習向けゲーム環境の動向OSS強化学習向けゲーム環境の動向
OSS強化学習向けゲーム環境の動向gree_tech
2.7K views54 slides

More Related Content

What's hot

グリー株式会社『私たちが GCP を使い始めた本当の理由』第 9 回 Google Cloud INSIDE Game & Apps by
グリー株式会社『私たちが GCP を使い始めた本当の理由』第 9 回 Google Cloud INSIDE Game & Appsグリー株式会社『私たちが GCP を使い始めた本当の理由』第 9 回 Google Cloud INSIDE Game & Apps
グリー株式会社『私たちが GCP を使い始めた本当の理由』第 9 回 Google Cloud INSIDE Game & AppsGoogle Cloud Platform - Japan
13.7K views28 slides
NuxtJS + REST APIで運用中サービスをNuxtJS + GraphQLに変更したことによる光と影 by
NuxtJS + REST APIで運用中サービスをNuxtJS + GraphQLに変更したことによる光と影NuxtJS + REST APIで運用中サービスをNuxtJS + GraphQLに変更したことによる光と影
NuxtJS + REST APIで運用中サービスをNuxtJS + GraphQLに変更したことによる光と影gree_tech
2.2K views45 slides
AIやマイクロサービスを活用したDynamoDB節約術 by
AIやマイクロサービスを活用したDynamoDB節約術AIやマイクロサービスを活用したDynamoDB節約術
AIやマイクロサービスを活用したDynamoDB節約術gree_tech
2.4K views15 slides
REALITY低遅延モード配信を支えるリアルタイムサーバとデータパイプライン by
REALITY低遅延モード配信を支えるリアルタイムサーバとデータパイプラインREALITY低遅延モード配信を支えるリアルタイムサーバとデータパイプライン
REALITY低遅延モード配信を支えるリアルタイムサーバとデータパイプラインgree_tech
2.7K views36 slides
これからのインフラエンジニアについて考えていること by
これからのインフラエンジニアについて考えていることこれからのインフラエンジニアについて考えていること
これからのインフラエンジニアについて考えていることgree_tech
9.7K views24 slides
Keynote by
KeynoteKeynote
Keynotegree_tech
1.1K views26 slides

What's hot(20)

グリー株式会社『私たちが GCP を使い始めた本当の理由』第 9 回 Google Cloud INSIDE Game & Apps by Google Cloud Platform - Japan
グリー株式会社『私たちが GCP を使い始めた本当の理由』第 9 回 Google Cloud INSIDE Game & Appsグリー株式会社『私たちが GCP を使い始めた本当の理由』第 9 回 Google Cloud INSIDE Game & Apps
グリー株式会社『私たちが GCP を使い始めた本当の理由』第 9 回 Google Cloud INSIDE Game & Apps
NuxtJS + REST APIで運用中サービスをNuxtJS + GraphQLに変更したことによる光と影 by gree_tech
NuxtJS + REST APIで運用中サービスをNuxtJS + GraphQLに変更したことによる光と影NuxtJS + REST APIで運用中サービスをNuxtJS + GraphQLに変更したことによる光と影
NuxtJS + REST APIで運用中サービスをNuxtJS + GraphQLに変更したことによる光と影
gree_tech2.2K views
AIやマイクロサービスを活用したDynamoDB節約術 by gree_tech
AIやマイクロサービスを活用したDynamoDB節約術AIやマイクロサービスを活用したDynamoDB節約術
AIやマイクロサービスを活用したDynamoDB節約術
gree_tech2.4K views
REALITY低遅延モード配信を支えるリアルタイムサーバとデータパイプライン by gree_tech
REALITY低遅延モード配信を支えるリアルタイムサーバとデータパイプラインREALITY低遅延モード配信を支えるリアルタイムサーバとデータパイプライン
REALITY低遅延モード配信を支えるリアルタイムサーバとデータパイプライン
gree_tech2.7K views
これからのインフラエンジニアについて考えていること by gree_tech
これからのインフラエンジニアについて考えていることこれからのインフラエンジニアについて考えていること
これからのインフラエンジニアについて考えていること
gree_tech9.7K views
Keynote by gree_tech
KeynoteKeynote
Keynote
gree_tech1.1K views
大規模ライブ配信の苦労ポイント by gree_tech
大規模ライブ配信の苦労ポイント大規模ライブ配信の苦労ポイント
大規模ライブ配信の苦労ポイント
gree_tech1.5K views
Datadog monitoring with HashiCorp by Masatomo Ito
Datadog monitoring with HashiCorpDatadog monitoring with HashiCorp
Datadog monitoring with HashiCorp
Masatomo Ito430 views
実践 自動復旧 by gree_tech
実践 自動復旧実践 自動復旧
実践 自動復旧
gree_tech959 views
[GREE Tech Talk #07] Unityカジュアルゲーム・ケーススタディ by gree_tech
[GREE Tech Talk #07] Unityカジュアルゲーム・ケーススタディ[GREE Tech Talk #07] Unityカジュアルゲーム・ケーススタディ
[GREE Tech Talk #07] Unityカジュアルゲーム・ケーススタディ
gree_tech13.4K views
ネットワークエンジニアがWeb開発をやってみて思ったこと by gree_tech
ネットワークエンジニアがWeb開発をやってみて思ったことネットワークエンジニアがWeb開発をやってみて思ったこと
ネットワークエンジニアがWeb開発をやってみて思ったこと
gree_tech1.4K views
AWSで動画共有サイトを作成して全社に公開 by ToruKubota4
AWSで動画共有サイトを作成して全社に公開AWSで動画共有サイトを作成して全社に公開
AWSで動画共有サイトを作成して全社に公開
ToruKubota4469 views
Game Architecture Trends in Tokyo Kansai Social Game Study#5 by Yasuhiro Matsuo
Game Architecture Trends in Tokyo  Kansai Social Game Study#5Game Architecture Trends in Tokyo  Kansai Social Game Study#5
Game Architecture Trends in Tokyo Kansai Social Game Study#5
Yasuhiro Matsuo3.1K views
クラウドを活用した システム開発は適材適所 by Kimihiko Kitase
クラウドを活用したシステム開発は適材適所クラウドを活用したシステム開発は適材適所
クラウドを活用した システム開発は適材適所
Kimihiko Kitase3.4K views
ターン制コマンドバトルにおける強化学習効率化 by gree_tech
ターン制コマンドバトルにおける強化学習効率化ターン制コマンドバトルにおける強化学習効率化
ターン制コマンドバトルにおける強化学習効率化
gree_tech5.3K views
Cocos2d-x 3.0を使ったゲーム “消滅都市” の開発事例 by gree_tech
Cocos2d-x 3.0を使ったゲーム “消滅都市” の開発事例Cocos2d-x 3.0を使ったゲーム “消滅都市” の開発事例
Cocos2d-x 3.0を使ったゲーム “消滅都市” の開発事例
gree_tech39.6K views
Multi Cloud Design Pattern(Beta) by Terui Masashi
Multi Cloud Design Pattern(Beta)Multi Cloud Design Pattern(Beta)
Multi Cloud Design Pattern(Beta)
Terui Masashi6.3K views

Similar to TB / Day規模のゲーム向けデータパイプラインを開発運用する日々

Data analysis platform ver1.1 by
Data analysis platform ver1.1Data analysis platform ver1.1
Data analysis platform ver1.1TomohiroDoi
389 views24 slides
Gaming on aws 〜ゲームにおけるAWS最新活用術〜 by
Gaming on aws 〜ゲームにおけるAWS最新活用術〜Gaming on aws 〜ゲームにおけるAWS最新活用術〜
Gaming on aws 〜ゲームにおけるAWS最新活用術〜Amazon Web Services Japan
5.9K views55 slides
Cloud native strategy ver1.1 by
Cloud native strategy ver1.1Cloud native strategy ver1.1
Cloud native strategy ver1.1TomohiroDoi
265 views27 slides
Amazon Elastic MapReduceやSparkを中心とした社内の分析環境事例とTips by
Amazon Elastic MapReduceやSparkを中心とした社内の分析環境事例とTipsAmazon Elastic MapReduceやSparkを中心とした社内の分析環境事例とTips
Amazon Elastic MapReduceやSparkを中心とした社内の分析環境事例とTipsyuichi_komatsu
6.3K views82 slides
乗り遅れるな!IBMが本気で取り組む新世代クラウドサービスを徹底解説 by
乗り遅れるな!IBMが本気で取り組む新世代クラウドサービスを徹底解説乗り遅れるな!IBMが本気で取り組む新世代クラウドサービスを徹底解説
乗り遅れるな!IBMが本気で取り組む新世代クラウドサービスを徹底解説Kimihiko Kitase
1.9K views72 slides
私たちがGCPを使い始めた本当の理由 by
私たちがGCPを使い始めた本当の理由私たちがGCPを使い始めた本当の理由
私たちがGCPを使い始めた本当の理由gree_tech
2.2K views28 slides

Similar to TB / Day規模のゲーム向けデータパイプラインを開発運用する日々(20)

Data analysis platform ver1.1 by TomohiroDoi
Data analysis platform ver1.1Data analysis platform ver1.1
Data analysis platform ver1.1
TomohiroDoi389 views
Cloud native strategy ver1.1 by TomohiroDoi
Cloud native strategy ver1.1Cloud native strategy ver1.1
Cloud native strategy ver1.1
TomohiroDoi265 views
Amazon Elastic MapReduceやSparkを中心とした社内の分析環境事例とTips by yuichi_komatsu
Amazon Elastic MapReduceやSparkを中心とした社内の分析環境事例とTipsAmazon Elastic MapReduceやSparkを中心とした社内の分析環境事例とTips
Amazon Elastic MapReduceやSparkを中心とした社内の分析環境事例とTips
yuichi_komatsu6.3K views
乗り遅れるな!IBMが本気で取り組む新世代クラウドサービスを徹底解説 by Kimihiko Kitase
乗り遅れるな!IBMが本気で取り組む新世代クラウドサービスを徹底解説乗り遅れるな!IBMが本気で取り組む新世代クラウドサービスを徹底解説
乗り遅れるな!IBMが本気で取り組む新世代クラウドサービスを徹底解説
Kimihiko Kitase1.9K views
私たちがGCPを使い始めた本当の理由 by gree_tech
私たちがGCPを使い始めた本当の理由私たちがGCPを使い始めた本当の理由
私たちがGCPを使い始めた本当の理由
gree_tech2.2K views
グリーにおけるAWS移行の必然性 by gree_tech
グリーにおけるAWS移行の必然性グリーにおけるAWS移行の必然性
グリーにおけるAWS移行の必然性
gree_tech829 views
Amazon Game Tech アマゾンゲームテクノロジー - Amazon Game Tech - GTMF 2018 TOKYO by Game Tools & Middleware Forum
Amazon Game Tech アマゾンゲームテクノロジー - Amazon Game Tech - GTMF 2018 TOKYOAmazon Game Tech アマゾンゲームテクノロジー - Amazon Game Tech - GTMF 2018 TOKYO
Amazon Game Tech アマゾンゲームテクノロジー - Amazon Game Tech - GTMF 2018 TOKYO
とあるメーカーのRedmine活用事例 by agileware_jp
とあるメーカーのRedmine活用事例とあるメーカーのRedmine活用事例
とあるメーカーのRedmine活用事例
agileware_jp2.8K views
20130313 OSCA Hadoopセミナー by Ichiro Fukuda
20130313 OSCA Hadoopセミナー20130313 OSCA Hadoopセミナー
20130313 OSCA Hadoopセミナー
Ichiro Fukuda3.8K views
Amazon Game Tech アマゾンゲームテクノロジー - Amazon Game Tech - GTMF 2018 OSAKA by Game Tools & Middleware Forum
Amazon Game Tech アマゾンゲームテクノロジー - Amazon Game Tech - GTMF 2018 OSAKAAmazon Game Tech アマゾンゲームテクノロジー - Amazon Game Tech - GTMF 2018 OSAKA
Amazon Game Tech アマゾンゲームテクノロジー - Amazon Game Tech - GTMF 2018 OSAKA
AI/MLシステムにおけるビッグデータとの付き合い方 by Shota Suzuki
AI/MLシステムにおけるビッグデータとの付き合い方AI/MLシステムにおけるビッグデータとの付き合い方
AI/MLシステムにおけるビッグデータとの付き合い方
Shota Suzuki2.4K views
20180619 AWS Black Belt Online Seminar データレイク入門: AWSで様々な規模のデータレイクを分析する効率的な方法 by Amazon Web Services Japan
20180619 AWS Black Belt Online Seminar データレイク入門: AWSで様々な規模のデータレイクを分析する効率的な方法20180619 AWS Black Belt Online Seminar データレイク入門: AWSで様々な規模のデータレイクを分析する効率的な方法
20180619 AWS Black Belt Online Seminar データレイク入門: AWSで様々な規模のデータレイクを分析する効率的な方法
Amazon Kinesis Familyを活用したストリームデータ処理 by Amazon Web Services Japan
Amazon Kinesis Familyを活用したストリームデータ処理Amazon Kinesis Familyを活用したストリームデータ処理
Amazon Kinesis Familyを活用したストリームデータ処理
Beginner must-see! A future that can be opened by learning Hadoop by DataWorks Summit
Beginner must-see! A future that can be opened by learning HadoopBeginner must-see! A future that can be opened by learning Hadoop
Beginner must-see! A future that can be opened by learning Hadoop
DataWorks Summit488 views
基幹システムにおけるオープンソース活用 by UNIRITA Incorporated
基幹システムにおけるオープンソース活用基幹システムにおけるオープンソース活用
基幹システムにおけるオープンソース活用

More from gree_tech

アナザーエデンPC版リリースへの道のり 〜WFSにおけるマルチプラットフォーム対応の取り組み〜 by
アナザーエデンPC版リリースへの道のり 〜WFSにおけるマルチプラットフォーム対応の取り組み〜アナザーエデンPC版リリースへの道のり 〜WFSにおけるマルチプラットフォーム対応の取り組み〜
アナザーエデンPC版リリースへの道のり 〜WFSにおけるマルチプラットフォーム対応の取り組み〜gree_tech
725 views36 slides
GREE VR Studio Laboratory「XR-UX Devプロジェクト」の成果紹介 by
GREE VR Studio Laboratory「XR-UX Devプロジェクト」の成果紹介GREE VR Studio Laboratory「XR-UX Devプロジェクト」の成果紹介
GREE VR Studio Laboratory「XR-UX Devプロジェクト」の成果紹介gree_tech
229 views13 slides
REALITYアバターを様々なメタバースで活躍させてみた - GREE VR Studio Laboratory インターン研究成果発表 by
REALITYアバターを様々なメタバースで活躍させてみた - GREE VR Studio Laboratory インターン研究成果発表REALITYアバターを様々なメタバースで活躍させてみた - GREE VR Studio Laboratory インターン研究成果発表
REALITYアバターを様々なメタバースで活躍させてみた - GREE VR Studio Laboratory インターン研究成果発表gree_tech
1K views18 slides
アプリ起動時間高速化 ~推測するな、計測せよ~ by
アプリ起動時間高速化 ~推測するな、計測せよ~アプリ起動時間高速化 ~推測するな、計測せよ~
アプリ起動時間高速化 ~推測するな、計測せよ~gree_tech
1.9K views84 slides
長寿なゲーム事業におけるアプリビルドの効率化 by
長寿なゲーム事業におけるアプリビルドの効率化長寿なゲーム事業におけるアプリビルドの効率化
長寿なゲーム事業におけるアプリビルドの効率化gree_tech
347 views116 slides
Cloud Spanner をより便利にする運用支援ツールの紹介 by
Cloud Spanner をより便利にする運用支援ツールの紹介Cloud Spanner をより便利にする運用支援ツールの紹介
Cloud Spanner をより便利にする運用支援ツールの紹介gree_tech
684 views31 slides

More from gree_tech(20)

アナザーエデンPC版リリースへの道のり 〜WFSにおけるマルチプラットフォーム対応の取り組み〜 by gree_tech
アナザーエデンPC版リリースへの道のり 〜WFSにおけるマルチプラットフォーム対応の取り組み〜アナザーエデンPC版リリースへの道のり 〜WFSにおけるマルチプラットフォーム対応の取り組み〜
アナザーエデンPC版リリースへの道のり 〜WFSにおけるマルチプラットフォーム対応の取り組み〜
gree_tech725 views
GREE VR Studio Laboratory「XR-UX Devプロジェクト」の成果紹介 by gree_tech
GREE VR Studio Laboratory「XR-UX Devプロジェクト」の成果紹介GREE VR Studio Laboratory「XR-UX Devプロジェクト」の成果紹介
GREE VR Studio Laboratory「XR-UX Devプロジェクト」の成果紹介
gree_tech229 views
REALITYアバターを様々なメタバースで活躍させてみた - GREE VR Studio Laboratory インターン研究成果発表 by gree_tech
REALITYアバターを様々なメタバースで活躍させてみた - GREE VR Studio Laboratory インターン研究成果発表REALITYアバターを様々なメタバースで活躍させてみた - GREE VR Studio Laboratory インターン研究成果発表
REALITYアバターを様々なメタバースで活躍させてみた - GREE VR Studio Laboratory インターン研究成果発表
gree_tech1K views
アプリ起動時間高速化 ~推測するな、計測せよ~ by gree_tech
アプリ起動時間高速化 ~推測するな、計測せよ~アプリ起動時間高速化 ~推測するな、計測せよ~
アプリ起動時間高速化 ~推測するな、計測せよ~
gree_tech1.9K views
長寿なゲーム事業におけるアプリビルドの効率化 by gree_tech
長寿なゲーム事業におけるアプリビルドの効率化長寿なゲーム事業におけるアプリビルドの効率化
長寿なゲーム事業におけるアプリビルドの効率化
gree_tech347 views
Cloud Spanner をより便利にする運用支援ツールの紹介 by gree_tech
Cloud Spanner をより便利にする運用支援ツールの紹介Cloud Spanner をより便利にする運用支援ツールの紹介
Cloud Spanner をより便利にする運用支援ツールの紹介
gree_tech684 views
WFSにおけるCloud SpannerとGKEを中心としたGCP導入事例の紹介 by gree_tech
WFSにおけるCloud SpannerとGKEを中心としたGCP導入事例の紹介WFSにおけるCloud SpannerとGKEを中心としたGCP導入事例の紹介
WFSにおけるCloud SpannerとGKEを中心としたGCP導入事例の紹介
gree_tech599 views
SINoALICE -シノアリス- Google Cloud Firestoreを用いた観戦機能の実現について by gree_tech
SINoALICE -シノアリス- Google Cloud Firestoreを用いた観戦機能の実現についてSINoALICE -シノアリス- Google Cloud Firestoreを用いた観戦機能の実現について
SINoALICE -シノアリス- Google Cloud Firestoreを用いた観戦機能の実現について
gree_tech626 views
海外展開と負荷試験 by gree_tech
海外展開と負荷試験海外展開と負荷試験
海外展開と負荷試験
gree_tech593 views
翻訳QAでのテスト自動化の取り組み by gree_tech
翻訳QAでのテスト自動化の取り組み翻訳QAでのテスト自動化の取り組み
翻訳QAでのテスト自動化の取り組み
gree_tech305 views
組み込み開発のテストとゲーム開発のテストの違い by gree_tech
組み込み開発のテストとゲーム開発のテストの違い組み込み開発のテストとゲーム開発のテストの違い
組み込み開発のテストとゲーム開発のテストの違い
gree_tech573 views
サーバーフレームワークに潜んでる脆弱性検知ツール紹介 by gree_tech
サーバーフレームワークに潜んでる脆弱性検知ツール紹介サーバーフレームワークに潜んでる脆弱性検知ツール紹介
サーバーフレームワークに潜んでる脆弱性検知ツール紹介
gree_tech209 views
データエンジニアとアナリストチーム兼務になった件について by gree_tech
データエンジニアとアナリストチーム兼務になった件についてデータエンジニアとアナリストチーム兼務になった件について
データエンジニアとアナリストチーム兼務になった件について
gree_tech308 views
シェアドサービスとしてのデータテクノロジー by gree_tech
シェアドサービスとしてのデータテクノロジーシェアドサービスとしてのデータテクノロジー
シェアドサービスとしてのデータテクノロジー
gree_tech432 views
「ドキュメント見つからない問題」をなんとかしたい - 横断検索エンジン導入の取り組みについて- by gree_tech
「ドキュメント見つからない問題」をなんとかしたい - 横断検索エンジン導入の取り組みについて-「ドキュメント見つからない問題」をなんとかしたい - 横断検索エンジン導入の取り組みについて-
「ドキュメント見つからない問題」をなんとかしたい - 横断検索エンジン導入の取り組みについて-
gree_tech1K views
「Atomic Design × Nuxt.js」コンポーネント毎に責務の範囲を明確にしたら幸せになった話 by gree_tech
「Atomic Design × Nuxt.js」コンポーネント毎に責務の範囲を明確にしたら幸せになった話「Atomic Design × Nuxt.js」コンポーネント毎に責務の範囲を明確にしたら幸せになった話
「Atomic Design × Nuxt.js」コンポーネント毎に責務の範囲を明確にしたら幸せになった話
gree_tech1.1K views
比較サイトの検索改善(SPA から SSR に変換) by gree_tech
比較サイトの検索改善(SPA から SSR に変換)比較サイトの検索改善(SPA から SSR に変換)
比較サイトの検索改善(SPA から SSR に変換)
gree_tech694 views
コードの自動修正によって実現する、機能開発を止めないフレームワーク移行 by gree_tech
コードの自動修正によって実現する、機能開発を止めないフレームワーク移行コードの自動修正によって実現する、機能開発を止めないフレームワーク移行
コードの自動修正によって実現する、機能開発を止めないフレームワーク移行
gree_tech2.9K views
「やんちゃ、足りてる?」〜ヤンマガWebで挑戦を続ける新入りエンジニア〜 by gree_tech
「やんちゃ、足りてる?」〜ヤンマガWebで挑戦を続ける新入りエンジニア〜「やんちゃ、足りてる?」〜ヤンマガWebで挑戦を続ける新入りエンジニア〜
「やんちゃ、足りてる?」〜ヤンマガWebで挑戦を続ける新入りエンジニア〜
gree_tech397 views
法人向けメタバースプラットフォームの開発の裏側をのぞいてみた(仮) by gree_tech
法人向けメタバースプラットフォームの開発の裏側をのぞいてみた(仮)法人向けメタバースプラットフォームの開発の裏側をのぞいてみた(仮)
法人向けメタバースプラットフォームの開発の裏側をのぞいてみた(仮)
gree_tech751 views

Recently uploaded

JISTA月例会2023年12月 書籍『3カ月で改善!システム障害対応実践ガイド』ご紹介+失敗学と障害対応と私 by
JISTA月例会2023年12月 書籍『3カ月で改善!システム障害対応実践ガイド』ご紹介+失敗学と障害対応と私JISTA月例会2023年12月 書籍『3カ月で改善!システム障害対応実践ガイド』ご紹介+失敗学と障害対応と私
JISTA月例会2023年12月 書籍『3カ月で改善!システム障害対応実践ガイド』ご紹介+失敗学と障害対応と私修治 松浦
122 views36 slides
how query cost affects search behavior translated in JP by
how query cost affects search behavior translated in JPhow query cost affects search behavior translated in JP
how query cost affects search behavior translated in JPTobioka Ken
9 views16 slides
SSH超入門 by
SSH超入門SSH超入門
SSH超入門Toru Miyahara
363 views21 slides
システム概要.pdf by
システム概要.pdfシステム概要.pdf
システム概要.pdfTaira Shimizu
40 views1 slide
lt.pptx by
lt.pptxlt.pptx
lt.pptxtomochamarika
80 views13 slides
Najah Matsuo Self Introduction by
Najah Matsuo Self IntroductionNajah Matsuo Self Introduction
Najah Matsuo Self IntroductionNajahMatsuo
7 views29 slides

Recently uploaded(7)

JISTA月例会2023年12月 書籍『3カ月で改善!システム障害対応実践ガイド』ご紹介+失敗学と障害対応と私 by 修治 松浦
JISTA月例会2023年12月 書籍『3カ月で改善!システム障害対応実践ガイド』ご紹介+失敗学と障害対応と私JISTA月例会2023年12月 書籍『3カ月で改善!システム障害対応実践ガイド』ご紹介+失敗学と障害対応と私
JISTA月例会2023年12月 書籍『3カ月で改善!システム障害対応実践ガイド』ご紹介+失敗学と障害対応と私
修治 松浦122 views
how query cost affects search behavior translated in JP by Tobioka Ken
how query cost affects search behavior translated in JPhow query cost affects search behavior translated in JP
how query cost affects search behavior translated in JP
Tobioka Ken9 views
Najah Matsuo Self Introduction by NajahMatsuo
Najah Matsuo Self IntroductionNajah Matsuo Self Introduction
Najah Matsuo Self Introduction
NajahMatsuo7 views
onewedge_companyguide1 by ONEWEDGE1
onewedge_companyguide1onewedge_companyguide1
onewedge_companyguide1
ONEWEDGE127 views

TB / Day規模のゲーム向けデータパイプラインを開発運用する日々

  • 1. Copyright © GREE, Inc. All Rights Reserved. TB/Day規模のゲーム向け データパイプラインを 開発運用する日々 グリー株式会社 開発本部 森田想平
  • 2. 目次 2 ● 会社紹介 ● データ基盤全般の紹介 ● AWSベースのデータ基盤 ● GCPベースのデータ基盤 ● 開発運用する日々の話 ● まとめ
  • 3. 会社紹介 3 社名 グリー株式会社 事業内容 ● ゲーム・ライブエンタメ事業 ● 広告・メディア事業 ● 投資事業 設立 2004年12月7日 代表者 代表取締役会長兼社長 田中良和 本社所在地 東京都港区六本木 6-10-1 六本木ヒルズ森タワー 従業員数 1,531人(グループ全体・ 2018年6月末現在) 主なグループ企業 ● グリービジネスオペレーションズ株式会社 ● グリーベンチャーズ株式会社 ● ファンプレックス株式会社 ● 株式会社ポケラボ ● リミア株式会社 ● 株式会社ExPlay ● Glossom株式会社 ● GREE VR Capital, LLC. ● 株式会社Wright Flyer Studios ● 株式会社3ミニッツ
  • 5. 開発本部(の一部メンバー) 会社紹介 ゲームプラットフォーム事業 5 ゲーム事業 ライブエンタメ事業 メディア事業 ● 横断データ基盤、分析ツールの開発運用 ● 事業ごとのデータ基盤、分析ツールの開発運用
  • 6. 目次 6 ● 会社紹介 ● データ基盤全般の紹介 ● AWSベースのデータ基盤 ● GCPベースのデータ基盤 ● 開発運用する日々の話 ● まとめ
  • 7. Copyright © GREE, Inc. All Rights Reserved. ● ex. シノアリス ● AppStoreトップセールスランキング最高1位 ● 最大AWSインスタンス数1000前後(らしい) ● ex. ゲームプラットフォーム事業 ● オンプレミスサーバ数千台程度 データ基盤全般の紹介 事業の規模感 ref. https://gamebiz.jp/?p=218802
  • 8. Copyright © GREE, Inc. All Rights Reserved. ● データ基盤に送信蓄積されるデータ量 ● 増加量は数TB/Day 程度 ● 現在 1PB前後を管理運用 ● 送信されるデータを全て永遠に取っておくわけではない データ基盤全般の紹介 データの規模感
  • 9. Copyright © GREE, Inc. All Rights Reserved. ● オンプレミスMySQLサーバ群 ● MySQLサーバ : 100台程度(数十TB) ● オンプレミスHadoop ● Hadoopクラスタ : 50台程度(数百TB) データ基盤全般の紹介 幾つかの世代がある
  • 10. Copyright © GREE, Inc. All Rights Reserved. ● AWSベースのデータ基盤 ● メインのデータ基盤(数百TB) ● 後述します ● GCPベースのデータ基盤 ● 最近使い始めた(データ少ない) ● 少しだけ後で触れます データ基盤全般の紹介 幾つかの世代がある
  • 11. Copyright © GREE, Inc. All Rights Reserved. ● 旧Sun Microsystemsの専用アプライアンス(Solaris)から汎用IA サーバ(Ubuntu)へのMySQLマイグレーション ● ZFSの機能(zfs send)にpatchを当てて利用 ● オンプレミスHadoopからAWSデータ基盤へのマイグレーション ● データ送信はfluentdのダブルライト ● 過去ログはAWS Snowballデバイス ● バッチジョブは地道に書き換える データ基盤全般の紹介 レガシーシステムからのマイグレーション
  • 12. 目次 12 ● 会社紹介 ● データ基盤全般の紹介 ● AWSベースのデータ基盤 ● GCPベースのデータ基盤 ● 開発運用する日々の話 ● まとめ
  • 13. Copyright © GREE, Inc. All Rights Reserved. AWSベースのデータ基盤 システム構成 Amazon Kinesis Amazon EMR Amazon S3 Kinesis Consumer API Server BI Tool KPI Metric プロダクトA プロダクトB プロダクトC プロダクトD
  • 14. Copyright © GREE, Inc. All Rights Reserved. ● S3への重依存 ● (オンプレミスと比べた場合の)運用負荷減 ● クエリエンジンのステートレス化 ● 障害対応やバージョンアップが容易に AWSベースのデータ基盤 規模感に伴うかんどころ:その1
  • 15. Copyright © GREE, Inc. All Rights Reserved. ● S3のファイル数が多くなると、クエリ実行時にS3のRead(API呼び出 し)がボトルネックになる ● 定常的にファイルをマージしている ● 遅延ログがあるとマージが難しくなる ● よく使うテーブルに関しては、定常的にカラムナフォーマットで作り直し ている AWSベースのデータ基盤 規模感に伴うかんどころ:その2
  • 16. Copyright © GREE, Inc. All Rights Reserved. ● 会社組織が複雑になると、権限管理が複雑になる ● 書き込みに関しては、プロダクトごとにAWSアカウントがあるので、 IAM Assume Roleという機能を利用する AWSベースのデータ基盤 規模感に伴うかんどころ:その3 Amazon Kinesis Streams IAM Role (KinesisへのWrite権限) Amazon EC2 AWS Lambda 1. AssumeRoleで一時的権限を取得 2. Kinesis::PutRecordsでログを送信 データ分析基盤のAWSアカウント プロダクトのAWSアカウント
  • 17. 目次 17 ● 会社紹介 ● データ基盤全般の紹介 ● AWSベースのデータ基盤 ● GCPベースのデータ基盤 ● 開発運用する日々の話 ● まとめ
  • 18. Copyright © GREE, Inc. All Rights Reserved. GCPベースのデータ基盤 システム構成 analytics-systemproduction server Stackdriver BigQuery Data Studio Cloud Pub/Sub Cloud Storage Cloud Dataflow client Cloud SQL Firebase App Engine ios/android
  • 19. Copyright © GREE, Inc. All Rights Reserved. ● スケーラビリティに関しては、まだ検証フェーズ ● 心配はしていない GCPベースのデータ基盤 概要
  • 20. 目次 20 ● 会社紹介 ● データ基盤全般の紹介 ● AWSベースのデータ基盤 ● GCPベースのデータ基盤 ● 開発運用する日々の話 ● まとめ
  • 21. Copyright © GREE, Inc. All Rights Reserved. システムを 「気持ちよく開発・保守できるかどうか」を 示す言葉(として一部使われている) 開発運用する日々 デベロッパーエクスペリエンス(DX) ref. https://gfx.hatenablog.com/entry/2018/06/28/100103
  • 22. Copyright © GREE, Inc. All Rights Reserved. ● セットアップの自動化 ● 実行環境(OS)の移植性の最大化 ● サーバ・システム管理を不要に ● 継続的デプロイを可能に ● スケールアップを可能に 開発運用する日々 The Twelve-Factor App ref. https://12factor.net/ja/
  • 23. Copyright © GREE, Inc. All Rights Reserved. ● (本番と同様)、開発時も依存プロセスが多い ● dockerで各プロセスを管理するが、1つ1つ再起動等するのは手間に なる ● そこで、docker-compseという複数dockerを管理する仕組みを利用 する ● 一括で起動できる ● コンテナ間の通信や依存関係を設定できる 開発運用する日々 DX向上のための工夫の例
  • 24. Copyright © GREE, Inc. All Rights Reserved. ● システムコンポーネント(AWSベースデータ基盤の場合) ● Kinesis Consumerアプリケーション(データ配送ロジック) ● API Server(クエリの管理や権限制御) ● Analyticsツール(ワークフロー機能等含む) ● 構成管理・デプロイ・起動 ● その他、細かいコード ● バッチジョブ(ファイルマージなど) ● Presto等のUser-Defined Function 開発運用する日々 結局何を開発するのか?主なコーディング対象
  • 25. Copyright © GREE, Inc. All Rights Reserved. ● プロダクトマネジメント体制 ● 仕様策定や利用者問い合わせ対応は別チームのタスク ● 開発ツール ● MacBookとAWS開発専用アカウントを駆使する ● IntelliJ IDEA(IDE)のライセンスは付与 ● 日々の作業 ● 新規開発、bugfix、障害対応 ● お昼は割と社内勉強会やコーディング系の部活 ● ごく稀に、海外出張でカンファレンスに参加 開発運用する日々 開発運用体制
  • 26. Copyright © GREE, Inc. All Rights Reserved. ● (クラウド)データ基盤の開発運用のやりがい ● 様々なミドルウェアや技術にさわれる (Mさん、Yさん) ● 少さなコードで大規模なシステムが動く(Iさん) ● 社内ユーザからダイレクトにFBがもらえる(Mさん) 開発運用する日々 開発メンバーの意見
  • 27. Copyright © GREE, Inc. All Rights Reserved. ● (クラウド)データ基盤の開発運用で大変なこと ● アラート対応 ● マネージドサービスが死んだり調子が悪くなると、待つしかない ● マネージドサービスの利用MWのバージョンがニーズにマッチしな いと辛い 開発運用する日々 開発メンバーの意見
  • 28. 目次 28 ● 会社紹介 ● データ基盤全般の紹介 ● AWSベースのデータ基盤 ● GCPベースのデータ基盤 ● 開発運用する日々の話 ● まとめ
  • 29. Copyright © GREE, Inc. All Rights Reserved. ● 開発運用対象が周縁化してる ● 分散ファイルシステムやクエリエンジンなどデータパイプラインの中 心部分はマネージドサービス化が進んでいる ● パイプラインの周縁は開発が必要 ● 周縁部は事業依存になりがちなので ● 必要な機能が増え、使えるコンポーネントも多いので、システム構成が 複雑になりがち ● DXを考慮した日々の開発が重要 まとめ 開発運用する日々に対する所感