SlideShare a Scribd company logo
1 of 40
Download to read offline
© 2014 Amazon.com, Inc. and its affiliates. All rights reserved. May not be copied, modified, or distributed in whole or in partwithout the express consent of Amazon.com, Inc. 
November 12, 2014 | Las Vegas 
GAM301Real-Time Game Analytics with Amazon Kinesis, Amazon Redshift, and Amazon DynamoDB 
Suhas Kulkarni –VP Engineering, GREE International 
Kandarp Shah –Engineering Manager, GREE International
Talk Outline 
•Mobile Game Analytics –use case 
•Decisions, Mistakes & Challenges 
•Deep dive –Analytics Platform using AWS Tech 
•Lessons we learned
GREE Headquarters 
Tokyo, Japan 
GREE International, Inc. 
San Francisco, CA 
GREE Canada 
Vancouver, BC 
QUICK FACTS 
6 
Continents playing GREE games 
1,882 
Employees Worldwide 
13 
Games made in North America 
2004 
2011 
2013 
MILESTONES 
GAME STATS -4 titles in top 100 grossing* 
Crime City (Studios) 
Reached Top 10 Grossing in 140 countries 
Top 100 Grossing in 19 countries, over 3 years since launch 
*As of Sep. 2014 –Source: App Annie 
A Global Gaming Powerhouse 
Knights & Dragons (Publishing) 
Reached Top 10 Grossing in 41 countries 
Top 100 Grossing in 22 countries
Success Factors in Mobile Gaming 
•Great gameplay & mechanics 
•Great content 
•Effective engagement & retention 
•Generate in-app purchases 
….. keep adding new content, features 
? 
? 
? 
I know its a great game. 
Why is my game not successful anymore? 
It had good KPIs initially.
As a game developer ... 
Why? 
•Game not performing well 
•Players not spending? 
•Retention so poor? 
How? 
•Optimize game design 
•Improve ARPDAU, %Spenders 
•Improve Retention 
You need –Game Analytics & Insights
Analytics @ GREE 
Ad Clicks 
Downloads 
Perf Data 
Attribution 
Campaign Performance 
SC Balance 
HC Balance 
IAP 
Player Targeting
Data Collection 
•Mobile Devices 
•Game Servers 
•Ad Networks 
•Size of event ~ 1 KB 
•500M+ events/day 
•500G+/day & growing 
•JSON format 
Source of Data 
Data Size & Growth
Database Schema 
•Every game –database schema 
•Each game event = table (e.g., battle_fight, iap) 
•40-50 tables per DB schema 
•All game titles ~ 1000 tables in DW
Key Requirements 
•Data collection & streaming to database 
•Zero data loss 
•Zero data corruption 
•Guaranteed data delivery
History –Analytics Architecture
Gen 1 – Analytics Platform 
Analytics DB 
Game DB 
LAMP 
Built on a LAMP Stack 
Sharded DBs 
Not scalable 
Game 
Servers
Gen2 – Flume/MPP Data 
Warehouse 
Game DB 
Flume MPP Data Warehouse 
Collectors 
Flume 
Master 
Consumer 
Game 
Servers
In-house: Relay Engine 
Game DB 
Replicator 
Amazon S3 
DW 
Relay Pipeline 
Senders 
Copiers 
Game 
Servers 
Listeners 
Cost of maintenance - HIGH
Challenges 
•Hard to maintain and scale 
•Spike in Live Ops events can clog other events 
•Difficult to add new sink 
•Writes to DW impacted query performance for BI users 
•Poor data latency
Key Requirements –the list grew 
•Data collection & streaming to database 
•Zero data loss 
•Zero data corruption 
•Guaranteed data delivery 
•Near real-time data latency 
•Real-time ad-hoc analysis 
•Ease of adding consumers 
•Managed Service
New Analytics Architecture
Start Simple 
Ingest 
•Kafka 
•HTTP PUT 
•Amazon Kinesis 
Store 
•HDFS 
•Amazon S3 
•Amazon Redshift 
Analyze
Producer & Data 
Data 
{"player_id":"323726381807586881","player_level":169,"device":"iPhone 5","version":"iOS 7.1.2”,"platfrom":"ios","client_build":"440”, 
"db":”mw_dw_ios","table":"player_login", 
"uuid":"1414566719-rsl3hvhu7o","time_created":"2014-10-29 00:11:59”} 
{"fight_time":"2014-10-29 00:11:59","attacker_id":"413142642356365377”, "attacker_clan_size":500,"attacker_level":270, 
"db":"mw_dw_ios","table":"battle_fight", 
"uuid":"1414566719-p0oogk0bep","time_created":"2014-10-29 00:11:59"} 
•PHP/Python Web Services 
•Client side analytics SDK 
Produce 
Send 
Consume 
Load
Amazon Kinesis Sender 
Produce 
Send 
Consume 
Load
Sender 
Sender 
Worker 
Kinesis Stream 
Shard 1 
Shard 2 
Shard 3 
Shard n 
Describe Stream 
Sync Shards 
Analytics 
Files 
Send 
PutRecord 
Compress 
Read 
Buffer 
50KB
Design Choices for Sender 
•Single stream VS stream per game 
•Batch VS Single Event 
•Compressed VS Uncompressed 
•PartitionKeyVS ExplicitHashKey
Sender Deployment 
Elastic Load 
Balancing 
AMI 
Amazon 
EC2 
Auto Scaling Group 
Amazon 
EBS Data 
Volume 
Pending: Wait 
EC2 EBS Data 
Volume 
Amazon 
S3 
Sender 
Scale 
Out 
Pending: Proceed 
EC2 EBS Data 
Volume 
EC2 
Auto Scaling Group 
EBS Data 
Volume 
InService 
Update 
Terminating: Wait 
EC2 EBS Data 
Volume 
Scale 
Checks In 
Terminating: Proceed 
EC2 EBS Data 
Volume 
Terminated
Consumer –S3 Store 
Produce 
Send 
Consume 
Load
Consumer –Amazon S3 Store 
Kinesis Stream 
Shard 1 
Shard 2 
Shard n 
S3 
File Metadata DB 
Decompress 
De-Dupe 
Buffer 
Transformation 
Validation 
Target Table 
Compress 
Size/ 
Timeout 
Record 
Consumer 
Kinesis Client Library 
Record Processor 
Record Processor 
Consumer 
Kinesis Client Library 
Record Processor 
Auto Scaling Group
Loading data into Amazon Redshift 
Produce 
Send 
Consume 
Load
Loading data into Amazon Redshift 
Amazon S3 
File Metadata DB 
Amazon Redshift 
UpdateStatus 
Transaction 
Create Manifest 
Execute COPY 
Create Manifest 
Execute COPY 
Create Manifest 
Execute COPY 
Status
Architecture –Simple Store 
Produce 
Send 
Consume 
Load
Architecture – Simple Store 
S3 
Amazon S3 
Consumer 
Game DB 
Game 
Servers 
Kinesis 
Amazon 
Redshift 
Amazon 
Elastic 
MapReduce 
DSV 
JSON
Real-time Aggregates
DynamoDB – Real-time Aggregates 
Amazon 
DynamoDB 
Kinesis Consumer Dashboard
Spark
Spark –Real-time Analysis 
Spark SQL 
Spark Streaming 
SQL 
Kinesis
Final Architecture
Amazon S3 
Amazon 
S3 
Spark SQL 
JDBC Server 
SQL 
Dashboard 
Amazon 
Redshift 
Consumer 
Amazon 
EMR 
Consumer 
Game DB 
Game 
Servers 
Kinesis 
DynamoDB 
DSV 
JSON
Lessons Learned
Lessons Learned 
Sender 
•Decouple data generation from sending 
•Batch and compress 
•PutRecordHTTP:5XX can result in duplicates 
•Monitor ProvisionedThroughputExceededexception
Lessons Learned (Cont.) 
Consumer 
•Use KCL 
•Auto-scale and monitor load 
Overall 
•Provision enough shards 
•Handle shutdown gracefully 
•Follow AWS best practices for error retries and exponential back-off
Takeaway
Takeaway 
Kinesis 
•Data available for processing within seconds 
•Robust API, KCL, and Connector libraries 
AWS 
•Managed 
•Scalable 
•Cost effective 
•Quick to get up and running
Please give us your feedback on this session. 
Complete session evaluations and earn re:Invent swag. 
http://bit.ly/awsevals

More Related Content

What's hot

What's hot (20)

Kinesis and Spark Streaming - Advanced AWS Meetup - August 2014
Kinesis and Spark Streaming - Advanced AWS Meetup - August 2014Kinesis and Spark Streaming - Advanced AWS Meetup - August 2014
Kinesis and Spark Streaming - Advanced AWS Meetup - August 2014
 
Real-Time Event Processing
Real-Time Event ProcessingReal-Time Event Processing
Real-Time Event Processing
 
Streaming data analytics (Kinesis, EMR/Spark) - Pop-up Loft Tel Aviv
Streaming data analytics (Kinesis, EMR/Spark) - Pop-up Loft Tel Aviv Streaming data analytics (Kinesis, EMR/Spark) - Pop-up Loft Tel Aviv
Streaming data analytics (Kinesis, EMR/Spark) - Pop-up Loft Tel Aviv
 
Introduction to Amazon Kinesis Analytics
Introduction to Amazon Kinesis AnalyticsIntroduction to Amazon Kinesis Analytics
Introduction to Amazon Kinesis Analytics
 
AWS Webcast - Amazon Kinesis and Apache Storm
AWS Webcast - Amazon Kinesis and Apache StormAWS Webcast - Amazon Kinesis and Apache Storm
AWS Webcast - Amazon Kinesis and Apache Storm
 
Building A Modern Data Analytics Architecture on AWS
Building A Modern Data Analytics Architecture on AWSBuilding A Modern Data Analytics Architecture on AWS
Building A Modern Data Analytics Architecture on AWS
 
SRV420 Analyzing Streaming Data in Real-time with Amazon Kinesis
SRV420 Analyzing Streaming Data in Real-time with Amazon KinesisSRV420 Analyzing Streaming Data in Real-time with Amazon Kinesis
SRV420 Analyzing Streaming Data in Real-time with Amazon Kinesis
 
2017 AWS DB Day | Amazon Redshift 자세히 살펴보기
2017 AWS DB Day | Amazon Redshift 자세히 살펴보기2017 AWS DB Day | Amazon Redshift 자세히 살펴보기
2017 AWS DB Day | Amazon Redshift 자세히 살펴보기
 
AWS re:Invent 2016: How Telltale Games migrated its story analytics from Apac...
AWS re:Invent 2016: How Telltale Games migrated its story analytics from Apac...AWS re:Invent 2016: How Telltale Games migrated its story analytics from Apac...
AWS re:Invent 2016: How Telltale Games migrated its story analytics from Apac...
 
AWS re:Invent 2016: How Toyota Racing Development Makes Racing Decisions in R...
AWS re:Invent 2016: How Toyota Racing Development Makes Racing Decisions in R...AWS re:Invent 2016: How Toyota Racing Development Makes Racing Decisions in R...
AWS re:Invent 2016: How Toyota Racing Development Makes Racing Decisions in R...
 
BDA308 Serverless Analytics with Amazon Athena and Amazon QuickSight, featuri...
BDA308 Serverless Analytics with Amazon Athena and Amazon QuickSight, featuri...BDA308 Serverless Analytics with Amazon Athena and Amazon QuickSight, featuri...
BDA308 Serverless Analytics with Amazon Athena and Amazon QuickSight, featuri...
 
AWS Kinesis Streams
AWS Kinesis StreamsAWS Kinesis Streams
AWS Kinesis Streams
 
ENT306 Migrating large Scale Data Sets to the Cloud
ENT306 Migrating large Scale Data Sets to the CloudENT306 Migrating large Scale Data Sets to the Cloud
ENT306 Migrating large Scale Data Sets to the Cloud
 
Real Time Big Data Processing on AWS
Real Time Big Data Processing on AWSReal Time Big Data Processing on AWS
Real Time Big Data Processing on AWS
 
(BDT310) Big Data Architectural Patterns and Best Practices on AWS
(BDT310) Big Data Architectural Patterns and Best Practices on AWS(BDT310) Big Data Architectural Patterns and Best Practices on AWS
(BDT310) Big Data Architectural Patterns and Best Practices on AWS
 
ENT313 Deploying a Disaster Recovery Site on AWS: Minimal Cost with Maximum E...
ENT313 Deploying a Disaster Recovery Site on AWS: Minimal Cost with Maximum E...ENT313 Deploying a Disaster Recovery Site on AWS: Minimal Cost with Maximum E...
ENT313 Deploying a Disaster Recovery Site on AWS: Minimal Cost with Maximum E...
 
AWS re:Invent 2016: Bringing Deep Learning to the Cloud with Amazon EC2 (CMP314)
AWS re:Invent 2016: Bringing Deep Learning to the Cloud with Amazon EC2 (CMP314)AWS re:Invent 2016: Bringing Deep Learning to the Cloud with Amazon EC2 (CMP314)
AWS re:Invent 2016: Bringing Deep Learning to the Cloud with Amazon EC2 (CMP314)
 
Amazon Relational Database Service Deep Dive
Amazon Relational Database Service Deep DiveAmazon Relational Database Service Deep Dive
Amazon Relational Database Service Deep Dive
 
How Netflix Uses Amazon Kinesis Streams to Monitor and Optimize Large-scale N...
How Netflix Uses Amazon Kinesis Streams to Monitor and Optimize Large-scale N...How Netflix Uses Amazon Kinesis Streams to Monitor and Optimize Large-scale N...
How Netflix Uses Amazon Kinesis Streams to Monitor and Optimize Large-scale N...
 
AWS re:Invent 2016: How Mapbox Uses the AWS Edge to Deliver Fast Maps for Mob...
AWS re:Invent 2016: How Mapbox Uses the AWS Edge to Deliver Fast Maps for Mob...AWS re:Invent 2016: How Mapbox Uses the AWS Edge to Deliver Fast Maps for Mob...
AWS re:Invent 2016: How Mapbox Uses the AWS Edge to Deliver Fast Maps for Mob...
 

Viewers also liked

Web Metircs and KPI
Web Metircs and KPIWeb Metircs and KPI
Web Metircs and KPI
Shipra Malik
 

Viewers also liked (20)

Real-time Data Processing with Amazon DynamoDB Streams and AWS Lambda
Real-time Data Processing with Amazon DynamoDB Streams and AWS LambdaReal-time Data Processing with Amazon DynamoDB Streams and AWS Lambda
Real-time Data Processing with Amazon DynamoDB Streams and AWS Lambda
 
EC2 Avanzado
EC2 AvanzadoEC2 Avanzado
EC2 Avanzado
 
Real-Time Streaming Data on AWS
Real-Time Streaming Data on AWSReal-Time Streaming Data on AWS
Real-Time Streaming Data on AWS
 
AWS Real-Time Event Processing
AWS Real-Time Event ProcessingAWS Real-Time Event Processing
AWS Real-Time Event Processing
 
Web Metircs and KPI
Web Metircs and KPIWeb Metircs and KPI
Web Metircs and KPI
 
Web Analytics: Challenges in Data Modeling
Web Analytics: Challenges in Data ModelingWeb Analytics: Challenges in Data Modeling
Web Analytics: Challenges in Data Modeling
 
WEB Analytics - Data Mining - MIS - eBusiness website
WEB Analytics  - Data Mining - MIS - eBusiness website WEB Analytics  - Data Mining - MIS - eBusiness website
WEB Analytics - Data Mining - MIS - eBusiness website
 
Aws Lambda Cart Microservice Server Less
Aws Lambda Cart Microservice Server LessAws Lambda Cart Microservice Server Less
Aws Lambda Cart Microservice Server Less
 
20140806 AWS Meister BlackBelt - Amazon Redshift (Korean)
20140806 AWS Meister BlackBelt - Amazon Redshift (Korean)20140806 AWS Meister BlackBelt - Amazon Redshift (Korean)
20140806 AWS Meister BlackBelt - Amazon Redshift (Korean)
 
Automation of Deep learning training with AWS Step Functions
Automation of Deep learning training with AWS Step FunctionsAutomation of Deep learning training with AWS Step Functions
Automation of Deep learning training with AWS Step Functions
 
(ADV303) MediaMath’s Data Revolution with Amazon Kinesis and Amazon EMR | AWS...
(ADV303) MediaMath’s Data Revolution with Amazon Kinesis and Amazon EMR | AWS...(ADV303) MediaMath’s Data Revolution with Amazon Kinesis and Amazon EMR | AWS...
(ADV303) MediaMath’s Data Revolution with Amazon Kinesis and Amazon EMR | AWS...
 
Deploy, Scale and Manage your Microsoft Investments with AWS
Deploy, Scale and Manage your Microsoft Investments with AWSDeploy, Scale and Manage your Microsoft Investments with AWS
Deploy, Scale and Manage your Microsoft Investments with AWS
 
Scaling on AWS for the First 10 Million Users
Scaling on AWS for the First 10 Million UsersScaling on AWS for the First 10 Million Users
Scaling on AWS for the First 10 Million Users
 
(SEC312) Taking a DevOps Approach to Security | AWS re:Invent 2014
(SEC312) Taking a DevOps Approach to Security | AWS re:Invent 2014(SEC312) Taking a DevOps Approach to Security | AWS re:Invent 2014
(SEC312) Taking a DevOps Approach to Security | AWS re:Invent 2014
 
Running your First Application on AWS
Running your First Application on AWSRunning your First Application on AWS
Running your First Application on AWS
 
Storage and Archiving Options on AWS
Storage and Archiving Options on AWS Storage and Archiving Options on AWS
Storage and Archiving Options on AWS
 
(SEC306) Turn on CloudTrail: Log API Activity in Your AWS Account | AWS re:In...
(SEC306) Turn on CloudTrail: Log API Activity in Your AWS Account | AWS re:In...(SEC306) Turn on CloudTrail: Log API Activity in Your AWS Account | AWS re:In...
(SEC306) Turn on CloudTrail: Log API Activity in Your AWS Account | AWS re:In...
 
AWS Activate Webinar - Improving customer experience & growing addressable m...
AWS Activate Webinar  - Improving customer experience & growing addressable m...AWS Activate Webinar  - Improving customer experience & growing addressable m...
AWS Activate Webinar - Improving customer experience & growing addressable m...
 
(ENT203) Iterating Your Way To 95% Reserved Instance Usage | AWS re:Invent 2014
(ENT203) Iterating Your Way To 95% Reserved Instance Usage | AWS re:Invent 2014(ENT203) Iterating Your Way To 95% Reserved Instance Usage | AWS re:Invent 2014
(ENT203) Iterating Your Way To 95% Reserved Instance Usage | AWS re:Invent 2014
 
T4 – Understanding aws security
T4 – Understanding aws securityT4 – Understanding aws security
T4 – Understanding aws security
 

Similar to (GAM301) Real-Time Game Analytics with Amazon Kinesis, Amazon Redshift, and Amazon DynamoDB | AWS re:Invent 2014

Big data on_aws in korea by abhishek sinha (lunch and learn)
Big data on_aws in korea by abhishek sinha (lunch and learn)Big data on_aws in korea by abhishek sinha (lunch and learn)
Big data on_aws in korea by abhishek sinha (lunch and learn)
Amazon Web Services Korea
 

Similar to (GAM301) Real-Time Game Analytics with Amazon Kinesis, Amazon Redshift, and Amazon DynamoDB | AWS re:Invent 2014 (20)

Gam301 Real-Time Game Analytics with Amazon Redshift, Amazon Kinesis, and Ama...
Gam301 Real-Time Game Analytics with Amazon Redshift, Amazon Kinesis, and Ama...Gam301 Real-Time Game Analytics with Amazon Redshift, Amazon Kinesis, and Ama...
Gam301 Real-Time Game Analytics with Amazon Redshift, Amazon Kinesis, and Ama...
 
Getting Started with Real-time Analytics
Getting Started with Real-time AnalyticsGetting Started with Real-time Analytics
Getting Started with Real-time Analytics
 
AWS re:Invent 2016| GAM303 | Develop Games Using Lumberyard and Leverage AWS ...
AWS re:Invent 2016| GAM303 | Develop Games Using Lumberyard and Leverage AWS ...AWS re:Invent 2016| GAM303 | Develop Games Using Lumberyard and Leverage AWS ...
AWS re:Invent 2016| GAM303 | Develop Games Using Lumberyard and Leverage AWS ...
 
Game Analytics Nov 2019
Game Analytics Nov 2019Game Analytics Nov 2019
Game Analytics Nov 2019
 
KGC 2013 AWS Keynote
KGC 2013 AWS KeynoteKGC 2013 AWS Keynote
KGC 2013 AWS Keynote
 
Snowplow: open source game analytics powered by AWS
Snowplow: open source game analytics powered by AWSSnowplow: open source game analytics powered by AWS
Snowplow: open source game analytics powered by AWS
 
20141021 AWS Cloud Taekwon - Big Data on AWS
20141021 AWS Cloud Taekwon - Big Data on AWS20141021 AWS Cloud Taekwon - Big Data on AWS
20141021 AWS Cloud Taekwon - Big Data on AWS
 
Twitch-ready 3D-Games with Amazon Lumberyard and GameLift
Twitch-ready 3D-Games with Amazon Lumberyard and GameLiftTwitch-ready 3D-Games with Amazon Lumberyard and GameLift
Twitch-ready 3D-Games with Amazon Lumberyard and GameLift
 
AWS Webcast - Database in the Cloud Series - Scalable Games and Analytics wit...
AWS Webcast - Database in the Cloud Series - Scalable Games and Analytics wit...AWS Webcast - Database in the Cloud Series - Scalable Games and Analytics wit...
AWS Webcast - Database in the Cloud Series - Scalable Games and Analytics wit...
 
게임을 위한 아마존웹서비스(AWS) (김일호 솔루션즈 아키텍트, AWS) :: Gaming on AWS 2018
게임을 위한 아마존웹서비스(AWS) (김일호 솔루션즈 아키텍트, AWS) :: Gaming on AWS 2018게임을 위한 아마존웹서비스(AWS) (김일호 솔루션즈 아키텍트, AWS) :: Gaming on AWS 2018
게임을 위한 아마존웹서비스(AWS) (김일호 솔루션즈 아키텍트, AWS) :: Gaming on AWS 2018
 
Amazon Kinesis Platform – The Complete Overview - Pop-up Loft TLV 2017
Amazon Kinesis Platform – The Complete Overview - Pop-up Loft TLV 2017Amazon Kinesis Platform – The Complete Overview - Pop-up Loft TLV 2017
Amazon Kinesis Platform – The Complete Overview - Pop-up Loft TLV 2017
 
Intro to Game Development & Operations on AWS
Intro to Game Development & Operations on AWSIntro to Game Development & Operations on AWS
Intro to Game Development & Operations on AWS
 
Behind the Scenes: Deploying a Low-Latency Multiplayer Game Globally
Behind the Scenes: Deploying a Low-Latency Multiplayer Game GloballyBehind the Scenes: Deploying a Low-Latency Multiplayer Game Globally
Behind the Scenes: Deploying a Low-Latency Multiplayer Game Globally
 
Deploying a Low-Latency Multiplayer Game Globally: Loadout
Deploying a Low-Latency Multiplayer Game Globally: Loadout Deploying a Low-Latency Multiplayer Game Globally: Loadout
Deploying a Low-Latency Multiplayer Game Globally: Loadout
 
AWS re:Invent 2016: Introduction to Managed Database Services on AWS (DAT307)
AWS re:Invent 2016: Introduction to Managed Database Services on AWS (DAT307)AWS re:Invent 2016: Introduction to Managed Database Services on AWS (DAT307)
AWS re:Invent 2016: Introduction to Managed Database Services on AWS (DAT307)
 
GDC 2015 - Low-latency Multiplayer Gaming with AWS
GDC 2015 - Low-latency Multiplayer Gaming with AWS GDC 2015 - Low-latency Multiplayer Gaming with AWS
GDC 2015 - Low-latency Multiplayer Gaming with AWS
 
Path to the future #4 - Ingestão, processamento e análise de dados em tempo real
Path to the future #4 - Ingestão, processamento e análise de dados em tempo realPath to the future #4 - Ingestão, processamento e análise de dados em tempo real
Path to the future #4 - Ingestão, processamento e análise de dados em tempo real
 
Serverless Streaming Data Processing using Amazon Kinesis Analytics
Serverless Streaming Data Processing using Amazon Kinesis AnalyticsServerless Streaming Data Processing using Amazon Kinesis Analytics
Serverless Streaming Data Processing using Amazon Kinesis Analytics
 
Big data on_aws in korea by abhishek sinha (lunch and learn)
Big data on_aws in korea by abhishek sinha (lunch and learn)Big data on_aws in korea by abhishek sinha (lunch and learn)
Big data on_aws in korea by abhishek sinha (lunch and learn)
 
Serverless Streaming Data Processing using Amazon Kinesis Analytics
Serverless Streaming Data Processing using Amazon Kinesis AnalyticsServerless Streaming Data Processing using Amazon Kinesis Analytics
Serverless Streaming Data Processing using Amazon Kinesis Analytics
 

More from Amazon Web Services

Tools for building your MVP on AWS
Tools for building your MVP on AWSTools for building your MVP on AWS
Tools for building your MVP on AWS
Amazon Web Services
 
How to Build a Winning Pitch Deck
How to Build a Winning Pitch DeckHow to Build a Winning Pitch Deck
How to Build a Winning Pitch Deck
Amazon Web Services
 
Building a web application without servers
Building a web application without serversBuilding a web application without servers
Building a web application without servers
Amazon Web Services
 
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
Amazon Web Services
 

More from Amazon Web Services (20)

Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
 
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
 
Esegui pod serverless con Amazon EKS e AWS Fargate
Esegui pod serverless con Amazon EKS e AWS FargateEsegui pod serverless con Amazon EKS e AWS Fargate
Esegui pod serverless con Amazon EKS e AWS Fargate
 
Costruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWSCostruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWS
 
Come spendere fino al 90% in meno con i container e le istanze spot
Come spendere fino al 90% in meno con i container e le istanze spot Come spendere fino al 90% in meno con i container e le istanze spot
Come spendere fino al 90% in meno con i container e le istanze spot
 
Open banking as a service
Open banking as a serviceOpen banking as a service
Open banking as a service
 
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
 
OpsWorks Configuration Management: automatizza la gestione e i deployment del...
OpsWorks Configuration Management: automatizza la gestione e i deployment del...OpsWorks Configuration Management: automatizza la gestione e i deployment del...
OpsWorks Configuration Management: automatizza la gestione e i deployment del...
 
Microsoft Active Directory su AWS per supportare i tuoi Windows Workloads
Microsoft Active Directory su AWS per supportare i tuoi Windows WorkloadsMicrosoft Active Directory su AWS per supportare i tuoi Windows Workloads
Microsoft Active Directory su AWS per supportare i tuoi Windows Workloads
 
Computer Vision con AWS
Computer Vision con AWSComputer Vision con AWS
Computer Vision con AWS
 
Database Oracle e VMware Cloud on AWS i miti da sfatare
Database Oracle e VMware Cloud on AWS i miti da sfatareDatabase Oracle e VMware Cloud on AWS i miti da sfatare
Database Oracle e VMware Cloud on AWS i miti da sfatare
 
Crea la tua prima serverless ledger-based app con QLDB e NodeJS
Crea la tua prima serverless ledger-based app con QLDB e NodeJSCrea la tua prima serverless ledger-based app con QLDB e NodeJS
Crea la tua prima serverless ledger-based app con QLDB e NodeJS
 
API moderne real-time per applicazioni mobili e web
API moderne real-time per applicazioni mobili e webAPI moderne real-time per applicazioni mobili e web
API moderne real-time per applicazioni mobili e web
 
Database Oracle e VMware Cloud™ on AWS: i miti da sfatare
Database Oracle e VMware Cloud™ on AWS: i miti da sfatareDatabase Oracle e VMware Cloud™ on AWS: i miti da sfatare
Database Oracle e VMware Cloud™ on AWS: i miti da sfatare
 
Tools for building your MVP on AWS
Tools for building your MVP on AWSTools for building your MVP on AWS
Tools for building your MVP on AWS
 
How to Build a Winning Pitch Deck
How to Build a Winning Pitch DeckHow to Build a Winning Pitch Deck
How to Build a Winning Pitch Deck
 
Building a web application without servers
Building a web application without serversBuilding a web application without servers
Building a web application without servers
 
Fundraising Essentials
Fundraising EssentialsFundraising Essentials
Fundraising Essentials
 
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
 
Introduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container ServiceIntroduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container Service
 

Recently uploaded

+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
vu2urc
 

Recently uploaded (20)

Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 

(GAM301) Real-Time Game Analytics with Amazon Kinesis, Amazon Redshift, and Amazon DynamoDB | AWS re:Invent 2014

  • 1. © 2014 Amazon.com, Inc. and its affiliates. All rights reserved. May not be copied, modified, or distributed in whole or in partwithout the express consent of Amazon.com, Inc. November 12, 2014 | Las Vegas GAM301Real-Time Game Analytics with Amazon Kinesis, Amazon Redshift, and Amazon DynamoDB Suhas Kulkarni –VP Engineering, GREE International Kandarp Shah –Engineering Manager, GREE International
  • 2. Talk Outline •Mobile Game Analytics –use case •Decisions, Mistakes & Challenges •Deep dive –Analytics Platform using AWS Tech •Lessons we learned
  • 3. GREE Headquarters Tokyo, Japan GREE International, Inc. San Francisco, CA GREE Canada Vancouver, BC QUICK FACTS 6 Continents playing GREE games 1,882 Employees Worldwide 13 Games made in North America 2004 2011 2013 MILESTONES GAME STATS -4 titles in top 100 grossing* Crime City (Studios) Reached Top 10 Grossing in 140 countries Top 100 Grossing in 19 countries, over 3 years since launch *As of Sep. 2014 –Source: App Annie A Global Gaming Powerhouse Knights & Dragons (Publishing) Reached Top 10 Grossing in 41 countries Top 100 Grossing in 22 countries
  • 4. Success Factors in Mobile Gaming •Great gameplay & mechanics •Great content •Effective engagement & retention •Generate in-app purchases ….. keep adding new content, features ? ? ? I know its a great game. Why is my game not successful anymore? It had good KPIs initially.
  • 5. As a game developer ... Why? •Game not performing well •Players not spending? •Retention so poor? How? •Optimize game design •Improve ARPDAU, %Spenders •Improve Retention You need –Game Analytics & Insights
  • 6. Analytics @ GREE Ad Clicks Downloads Perf Data Attribution Campaign Performance SC Balance HC Balance IAP Player Targeting
  • 7. Data Collection •Mobile Devices •Game Servers •Ad Networks •Size of event ~ 1 KB •500M+ events/day •500G+/day & growing •JSON format Source of Data Data Size & Growth
  • 8. Database Schema •Every game –database schema •Each game event = table (e.g., battle_fight, iap) •40-50 tables per DB schema •All game titles ~ 1000 tables in DW
  • 9. Key Requirements •Data collection & streaming to database •Zero data loss •Zero data corruption •Guaranteed data delivery
  • 11. Gen 1 – Analytics Platform Analytics DB Game DB LAMP Built on a LAMP Stack Sharded DBs Not scalable Game Servers
  • 12. Gen2 – Flume/MPP Data Warehouse Game DB Flume MPP Data Warehouse Collectors Flume Master Consumer Game Servers
  • 13. In-house: Relay Engine Game DB Replicator Amazon S3 DW Relay Pipeline Senders Copiers Game Servers Listeners Cost of maintenance - HIGH
  • 14. Challenges •Hard to maintain and scale •Spike in Live Ops events can clog other events •Difficult to add new sink •Writes to DW impacted query performance for BI users •Poor data latency
  • 15. Key Requirements –the list grew •Data collection & streaming to database •Zero data loss •Zero data corruption •Guaranteed data delivery •Near real-time data latency •Real-time ad-hoc analysis •Ease of adding consumers •Managed Service
  • 17. Start Simple Ingest •Kafka •HTTP PUT •Amazon Kinesis Store •HDFS •Amazon S3 •Amazon Redshift Analyze
  • 18. Producer & Data Data {"player_id":"323726381807586881","player_level":169,"device":"iPhone 5","version":"iOS 7.1.2”,"platfrom":"ios","client_build":"440”, "db":”mw_dw_ios","table":"player_login", "uuid":"1414566719-rsl3hvhu7o","time_created":"2014-10-29 00:11:59”} {"fight_time":"2014-10-29 00:11:59","attacker_id":"413142642356365377”, "attacker_clan_size":500,"attacker_level":270, "db":"mw_dw_ios","table":"battle_fight", "uuid":"1414566719-p0oogk0bep","time_created":"2014-10-29 00:11:59"} •PHP/Python Web Services •Client side analytics SDK Produce Send Consume Load
  • 19. Amazon Kinesis Sender Produce Send Consume Load
  • 20. Sender Sender Worker Kinesis Stream Shard 1 Shard 2 Shard 3 Shard n Describe Stream Sync Shards Analytics Files Send PutRecord Compress Read Buffer 50KB
  • 21. Design Choices for Sender •Single stream VS stream per game •Batch VS Single Event •Compressed VS Uncompressed •PartitionKeyVS ExplicitHashKey
  • 22. Sender Deployment Elastic Load Balancing AMI Amazon EC2 Auto Scaling Group Amazon EBS Data Volume Pending: Wait EC2 EBS Data Volume Amazon S3 Sender Scale Out Pending: Proceed EC2 EBS Data Volume EC2 Auto Scaling Group EBS Data Volume InService Update Terminating: Wait EC2 EBS Data Volume Scale Checks In Terminating: Proceed EC2 EBS Data Volume Terminated
  • 23. Consumer –S3 Store Produce Send Consume Load
  • 24. Consumer –Amazon S3 Store Kinesis Stream Shard 1 Shard 2 Shard n S3 File Metadata DB Decompress De-Dupe Buffer Transformation Validation Target Table Compress Size/ Timeout Record Consumer Kinesis Client Library Record Processor Record Processor Consumer Kinesis Client Library Record Processor Auto Scaling Group
  • 25. Loading data into Amazon Redshift Produce Send Consume Load
  • 26. Loading data into Amazon Redshift Amazon S3 File Metadata DB Amazon Redshift UpdateStatus Transaction Create Manifest Execute COPY Create Manifest Execute COPY Create Manifest Execute COPY Status
  • 27. Architecture –Simple Store Produce Send Consume Load
  • 28. Architecture – Simple Store S3 Amazon S3 Consumer Game DB Game Servers Kinesis Amazon Redshift Amazon Elastic MapReduce DSV JSON
  • 30. DynamoDB – Real-time Aggregates Amazon DynamoDB Kinesis Consumer Dashboard
  • 31. Spark
  • 32. Spark –Real-time Analysis Spark SQL Spark Streaming SQL Kinesis
  • 34. Amazon S3 Amazon S3 Spark SQL JDBC Server SQL Dashboard Amazon Redshift Consumer Amazon EMR Consumer Game DB Game Servers Kinesis DynamoDB DSV JSON
  • 36. Lessons Learned Sender •Decouple data generation from sending •Batch and compress •PutRecordHTTP:5XX can result in duplicates •Monitor ProvisionedThroughputExceededexception
  • 37. Lessons Learned (Cont.) Consumer •Use KCL •Auto-scale and monitor load Overall •Provision enough shards •Handle shutdown gracefully •Follow AWS best practices for error retries and exponential back-off
  • 39. Takeaway Kinesis •Data available for processing within seconds •Robust API, KCL, and Connector libraries AWS •Managed •Scalable •Cost effective •Quick to get up and running
  • 40. Please give us your feedback on this session. Complete session evaluations and earn re:Invent swag. http://bit.ly/awsevals