SlideShare uma empresa Scribd logo
1 de 53
Baixar para ler offline
AWS Gaming Solutions | GDC 2014
Game Analytics with AWS
Or, How to learn what your players love so they will love your game
Nate Wiger @nateware | Principal Gaming Solutions Architect
AWS Gaming Solutions | GDC 2014
Mobile Game Landscape
•  Free To Play
•  In-App Purchases
•  Long-Tail
•  Cross-Platform
•  Go Global
•  User Retention = Revenue
AWS Gaming Solutions | GDC 2014
Projected Mobile App Revenue
0
10000
20000
30000
40000
50000
60000
70000
80000
90000
2011 2012 2013 2014 2015 2016 2017
Ads
IAP
Paid
Source:
Gartner
AWS Gaming Solutions | GDC 2014
Winning at Free to Play
•  Phase 1: Collect Data
•  Phase 2: Analyze
•  Phase 3: Profit
AWS Gaming Solutions | GDC 2014
Analyze What?
Emotions
•  Enjoying game
•  Engaged
•  Like/dislike new content
•  Stuck on a level
•  Bored
•  Abandonment
Behaviors
•  Hours played day/week
•  Number of sessions/day
•  Level progression
•  Friend invites/referrals
•  Response to mobile push
•  Money spent/week
AWS Gaming Solutions | GDC 2014
Example: Level Progression (One Metric)
0
2
4
6
8
10
L1 L2 L3 L4 L5 L6 L7 L8 L9 L10
Tries / Level
# of Tries
AWS Gaming Solutions | GDC 2014
Example: Level Progression (Two Metrics)
0
10
20
30
40
50
60
0
2
4
6
8
10
L1 L2 L3 L4 L5 L6 L7 L8 L9 L10
Tries / Level
% Highest Level # of Tries
AWS Gaming Solutions | GDC 2014
Key Takeaways
•  Multiple data sources
•  Correlate variables
•  Deltas vs absolutes
•  Settle on terminology (game vs level)
•  Time matters
AWS Gaming Solutions | GDC 2014
AWS Gaming Solutions | GDC 2014
Events & Metrics
•  Event = Moment in Time
–  Login/quit
–  Game start/end
–  Level up
–  In-app purchase
•  Metrics = What to Measure
–  KISS
–  Numbers
–  Booleans
–  Strings (Enums)
•  Always Include (ALWAYS)
–  User
–  Action
–  Session (context-dependent)
–  Timestamp in ISO8601
2014-­‐03-­‐16T16:28:26
AWS Gaming Solutions | GDC 2014
Off The Shelf Analytics
•  Easy To Integrate
•  Pre-Baked Reports
•  Rate Limits
•  Retention Windows
•  Data Lock-In
AWS Gaming Solutions | GDC 2014
Ok, A Real Business Plan
Ingest Store Process Analyze
AWS Gaming Solutions | GDC 2014
Ok, A Real Business Plan
Ingest
•  HTTP PUT
•  Kafka
•  Kinesis
•  Scribe
Store
•  S3
•  DynamoDB
•  HDFS
•  Redshift
Process
•  EMR (Hadoop)
•  Spark
•  Storm
Analyze
•  Tableau
•  Pentaho
•  Jaspersoft
AWS Gaming Solutions | GDC 2014
•  Write Events File on Device
•  Periodically Upload to S3
•  Process into Redshift
•  Point GUI Tool to Redshift
Start Simple
2014-­‐01-­‐24,nateware,e4df,login	
  
2014-­‐01-­‐24,nateware,e4df,gamestart	
  
2014-­‐01-­‐24,nateware,e4df,gameend	
  
2014-­‐01-­‐25,nateware,a88c,login	
  
2014-­‐01-­‐25,nateware,a88c,friendlist	
  
2014-­‐01-­‐25,nateware,a88c,gamestart	
  
Profit!
AWS Gaming Solutions | GDC 2014
Redshift at a Glance
10 GigE
(HPC)
Ingestion
Backup
Restore
SQL Clients/BI Tools
128GB RAM
16TB disk
16 cores
Amazon S3/DynamoDB
JDBC/ODBC
128GB RAM
16TB disk
16 coresCompute
Node
128GB RAM
16TB disk
16 coresCompute
Node
128GB RAM
16TB disk
16 coresCompute
Node
Leader
Node
•  Leader Node
–  SQL endpoint
–  Stores metadata
–  Coordinates query execution
•  Compute Nodes
–  Columnar table storage
–  Load, backup, restore via Amazon S3
–  Parallel load from Amazon DynamoDB
•  Single node version available
AWS Gaming Solutions | GDC 2014
Tableau + Redshift
AWS Gaming Solutions | GDC 2014
Plumbing
①  Create S3 bucket ("mygame-analytics-events")
②  Request a security token for your mobile app:
http://docs.aws.amazon.com/STS/latest/UsingSTS/Welcome.html
③  Upload data from your users' devices
④  Run a scheduled copy to Redshift
⑤  Setup Tableau to access Redshift
⑥  Go to the Beach
AWS Gaming Solutions | GDC 2014
Loading Redshift from S3
copy	
  events	
  
from	
  's3://mygame-­‐analytics-­‐events'	
  
credentials	
  'aws_access_key_id=<access-­‐key-­‐id>;	
  
aws_secret_access_key=<secret-­‐access-­‐key>'	
  
delimiter=',';	
  
Scheduled Redshift Load using Data Pipeline:
http://aws.amazon.com/articles/1143507459230804
AWS Gaming Solutions | GDC 2014
•  Also Collect Server Logs
•  Periodically Upload to S3
•  Stuff into Redshift
•  External Analytics Data Too
More Data Sources
EC2
External
Analytics
AWS Gaming Solutions | GDC 2014
Logrotate to S3
/var/log/apache2/*.log	
  {	
  
	
  	
  sharedscripts	
  
	
  	
  postrotate	
  
	
  	
  	
  	
  sudo	
  /usr/sbin/apache2ctl	
  graceful	
  
	
  	
  	
  	
  s3cmd	
  sync	
  /var/log/*.gz	
  s3://mygame-­‐logs/	
  
	
  	
  endscript	
  
}	
  
Blog Entry on Log Rotation:
http://www.dowdandassociates.com/blog/content/howto-rotate-logs-to-s3/
And/or, Use ELB Access Logs:
http://docs.aws.amazon.com/ElasticLoadBalancing/latest/DeveloperGuide/
access-log-collection.html
AWS Gaming Solutions | GDC 2014
•  Different File Formats
•  Device vs Apache vs CDN
•  Cleanup with EMR Job
•  Output to Clean Bucket
•  Load into Redshift
Dealing With Messy Data
EC2
AWS Gaming Solutions | GDC 2014
Redshift vs Elastic MapReduce
Redshift
•  Columnar DB
•  Familiar SQL
•  Structured Data
•  Batch Load
•  Faster to Query
•  Long-term Storage
Elastic MapReduce
•  Hadoop
•  Hive/Pig are SQL-like
•  Unstructured Data
•  Streaming Loop
•  Scales > PB's
•  Transient
AWS Gaming Solutions | GDC 2014
•  Integrate Game DB
•  Load Directly into Redshift
•  Redshift does Intelligent Merge
•  Tracks Hash Keys, Columns
Direct From DynamoDB
EC2
AWS Gaming Solutions | GDC 2014
•  Integrate Game DB
•  Load Directly into Redshift
•  Redshift does Intelligent Merge
•  Tracks Hash Keys, Columns
•  Or Stream into EMR
Direct From DynamoDB
EC2
AWS Gaming Solutions | GDC 2014
Loading Redshift from DynamoDB
copy	
  games	
  
from	
  'dynamodb://games'	
  
credentials	
  'aws_access_key_id=<access-­‐key-­‐id>;	
  
aws_secret_access_key=<secret-­‐access-­‐key>';	
  
copy	
  events	
  
from	
  's3://mygame-­‐analytics-­‐events'	
  
credentials	
  'aws_access_key_id=<access-­‐key-­‐id>;	
  
aws_secret_access_key=<secret-­‐access-­‐key>'	
  
delimiter=',';	
  
AWS Gaming Solutions | GDC 2014
AWS Gaming Solutions | GDC 2014
Funnel Cake
AWS Gaming Solutions | GDC 2014
Back To Basics
2014-­‐01-­‐24,nateware,e4df,login	
  
2014-­‐01-­‐24,nateware,e4df,gamestart	
  
2014-­‐01-­‐24,nateware,e4df,gameend	
  
2014-­‐01-­‐25,nateware,a88c,login	
  
2014-­‐01-­‐25,nateware,a88c,friendlist	
  
2014-­‐01-­‐25,nateware,a88c,gamestart	
  
AWS Gaming Solutions | GDC 2014
Measure Retention: Repeated Plays
create	
  view	
  events_by_user_by_month	
  as	
  
select	
  user_id,	
  
date_trunc('month',	
  event_date)	
  
as	
  month_active,	
  
count(*)	
  as	
  total_events	
  
from	
  events	
  
group	
  by	
  user_id,	
  month_active;	
  	
  
AWS Gaming Solutions | GDC 2014
First-Pass Retention – Too Noisy
0
5
10
15
20
25
30
35
40
# Play Sessions / Month
nateware
Lazyd0g
AK187
3strikes
AWS Gaming Solutions | GDC 2014
Cohorts & Cambria
•  Enables calculating relative metrics
•  Group users by a common attribute
–  Month game installed
–  Demographics
•  Run analysis by cohort
–  Join with metrics
•  Use Redshift as it's SQL
–  Example of where SQL is a good fit
AWS Gaming Solutions | GDC 2014
Creating Cohorts with Redshift
create	
  view	
  cohort_by_first_event_date	
  as	
  
select	
  user_id,	
  
date_trunc('month',	
  min(event_date))	
  
as	
  first_month	
  
from	
  events	
  
group	
  by	
  user_id;	
  	
  
http://snowplowanalytics.com/analytics/customer-
analytics/cohort-analysis.html
AWS Gaming Solutions | GDC 2014
Retention by Cohort – Join Events with Cohort
0
5
10
15
20
25
Week 1 Week 2 Week 3 Week 5 Week 6 Week 7
# Sessions / Week
2013-11
2013-12
2014-01
2014-02
2014-03
2014-04
AWS Gaming Solutions | GDC 2014
Moar Cohorts
•  Define multiple cohorts
–  By activity, time, demographics
–  As many as you like
•  Change cohort depending on analysis
•  Join same metrics with different cohorts
–  Retention by date
–  Retention by demographic
–  Retention by average plays/month quartile
AWS Gaming Solutions | GDC 2014
Example Event Stream
2014-­‐03-­‐17T09:52:08-­‐07:00,nateware,e4b5,login	
  
2014-­‐03-­‐17T09:52:54-­‐07:00,nateware,e4b5,gamestart	
  
2014-­‐03-­‐17T09:53:15-­‐07:00,nateware,e4b5,levelup	
  
2014-­‐03-­‐17T09:54:06-­‐07:00,nateware,e4b5,gameend	
  
2014-­‐03-­‐17T09:54:23-­‐07:00,nateware,30a4,gamestart	
  
2014-­‐03-­‐17T09:55:14-­‐07:00,nateware,30a4,gameend	
  
2014-­‐03-­‐17T09:55:41-­‐07:00,nateware,30a4,gamestart	
  
2014-­‐03-­‐17T09:57:12-­‐07:00,nateware,6ebd,levelup	
  
2014-­‐03-­‐17T09:58:50-­‐07:00,nateware,6ebd,levelup	
  
2014-­‐03-­‐17T09:59:52-­‐07:00,nateware,6ebd,gameend	
  
	
  
AWS Gaming Solutions | GDC 2014
Example Event Stream
2014-­‐03-­‐17T09:52:08-­‐07:00,nateware,e4b5,login	
  
2014-­‐03-­‐17T09:52:54-­‐07:00,nateware,e4b5,gamestart	
  
2014-­‐03-­‐17T09:53:15-­‐07:00,nateware,e4b5,levelup	
  
2014-­‐03-­‐17T09:54:06-­‐07:00,nateware,e4b5,gameend	
  
2014-­‐03-­‐17T09:54:23-­‐07:00,nateware,30a4,gamestart	
  
2014-­‐03-­‐17T09:55:14-­‐07:00,nateware,30a4,gameend	
  
2014-­‐03-­‐17T09:55:41-­‐07:00,nateware,30a4,gamestart	
  
2014-­‐03-­‐17T09:57:12-­‐07:00,nateware,6ebd,levelup	
  
2014-­‐03-­‐17T09:58:50-­‐07:00,nateware,6ebd,levelup	
  
2014-­‐03-­‐17T09:59:52-­‐07:00,nateware,6ebd,gameend	
  
	
  
AWS Gaming Solutions | GDC 2014
Cohorts by Type of Activity
create	
  view	
  cohort_by_first_play_date	
  as	
  
select	
  user_id,	
  
date_trunc('month',	
  min(event_date))	
  
as	
  first_month	
  
from	
  events	
  
where	
  action	
  =	
  'gamestart'	
  
group	
  by	
  user_id;	
  	
  
AWS Gaming Solutions | GDC 2014
AWS Gaming Solutions | GDC 2014
Post-Match Heatmaps
AWS Gaming Solutions | GDC 2014
Real-Time Analytics
Batch
•  What game modes do
people like best?
•  How many people have
downloaded DLC pack 2?
•  Where do most people
die on map 4?
•  How many daily players
are there on average?
Real-Time
•  What game modes are
people playing now?
•  Are more or less people
downloading DLC today?
•  Are people dying in the
same places? Different?
•  How many people are
playing today? Variance?
AWS Gaming Solutions | GDC 2014
Why Real-Time Analytics?
30x in 24 hours
What if you ran a promo?
AWS Gaming Solutions | GDC 2014
Real-Time Tools
Spark
•  High-Performance
Hadoop Alternative
•  Berkeley.edu
•  Compatible with HiveQL
•  100x faster than Hadoop
•  Runs on EMR
Kinesis
•  Amazon fully-managed
streaming data layer
•  Similar to Kafka
•  Streams contain Shards
•  Each Shard ingests data
up to 1MB/sec, 1000 TPS
•  Data stored for 24 hours
AWS Gaming Solutions | GDC 2014
•  Always Batch Due to S3
Back To Basics [Dubstep Remix]
EC2
AWS Gaming Solutions | GDC 2014
•  Stream Data With Kinesis
•  Multiple Writers and Readers
•  Still Output to Redshift
Need Data Faster!
EC2
AWS Gaming Solutions | GDC 2014
•  Stream Data With Kinesis
•  Multiple Writers and Readers
•  Still Output to Redshift
•  Stream to Spark on EMR
•  Storm via Kinesis Spout
•  Custom EC2 Workers
Lots of Ins and Outs
EC2
EC2
AWS Gaming Solutions | GDC 2014
	
  Data	
  
Sources	
  
App.4	
  
	
  
[Machine	
  
Learning]	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  
	
  
	
  
	
  
AWS	
  Endpoint	
  
App.1	
  
	
  
[Aggregate	
  &	
  
De-­‐Duplicate]	
  
	
  Data	
  
Sources	
  
Data	
  
Sources	
  
	
  Data	
  
Sources	
  
App.2	
  
	
  
[Metric	
  
Extrac=on]	
  
S3
DynamoDB
Redshift
App.3	
  
[Sliding	
  
Window	
  
Analysis]	
  
	
  Data	
  
Sources	
  
Availability
Zone
Shard 1
Shard 2
Shard N
Availability
Zone
Availability
Zone
Introducing Amazon Kinesis
Service for Real-Time Big Data Ingestion
AWS Gaming Solutions | GDC 2014
Putting Data into Kinesis
•  Producers use PUT to send data to a Stream
•  PutRecord {Data, PartitionKey, StreamName}
•  Partition Key distributes PUTs across Shards
•  Unique Sequence # returned on PUT call
•  Documentation:
http://docs.aws.amazon.com/kinesis/latest/dev/
introduction.html
Producer
Shard 1
Shard 2
Shard 3
Shard n
Shard 4
Producer
Producer
Producer
Producer
Producer
Producer
Producer
Producer
Kinesis
AWS Gaming Solutions | GDC 2014
Writing to a Kinesis Stream
POST	
  /	
  HTTP/1.1	
  
Host:	
  kinesis.<region>.<domain>	
  
x-­‐amz-­‐Date:	
  <Date>	
  
Authorization:	
  AWS4-­‐HMAC-­‐SHA256	
  Credential=<Credential>,	
  SignedHeaders=content-­‐
type;date;host;user-­‐agent;x-­‐amz-­‐date;x-­‐amz-­‐target;x-­‐amzn-­‐requestid,	
  
Signature=<Signature>	
  
User-­‐Agent:	
  <UserAgentString>	
  
Content-­‐Type:	
  application/x-­‐amz-­‐json-­‐1.1	
  
Content-­‐Length:	
  <PayloadSizeBytes>	
  
Connection:	
  Keep-­‐Alive	
  
X-­‐Amz-­‐Target:	
  Kinesis_20131202.PutRecord	
  
	
  
{	
  
	
  	
  "StreamName":	
  "exampleStreamName",	
  
	
  	
  "Data":	
  "XzxkYXRhPl8x",	
  
	
  	
  "PartitionKey":	
  "partitionKey"	
  
}	
  
AWS Gaming Solutions | GDC 2014
Kinesis + Spark
http://aws.amazon.com/articles/4926593393724923
AWS Gaming Solutions | GDC 2014
Death in Real-Time
PUT	
  "kills"	
  {"game_id":"e4b5","map":"Boston","killer":38,"victim":39,"coord":"274,591,48"}	
  
PUT	
  "kills"	
  {"game_id":"e4b5","map":"Boston","killer":13,"victim":27,"coord":"101,206,35"}	
  
PUT	
  "kills"	
  {"game_id":"e4b5","map":"Boston","killer":38,"victim":39,"coord":"165,609,17"}	
  
PUT	
  "kills"	
  {"game_id":"e4b5","map":"Boston","killer":6,"victim":29,"coord":"120,422,26"}	
  
PUT	
  "kills"	
  {"game_id":"30a4","map":"Los	
  Angeles","killer":34,"victim":18,"coord":"163,677,18"}	
  
PUT	
  "kills"	
  {"game_id":"30a4","map":"Los	
  Angeles","killer":20,"victim":37,"coord":"71,473,20"}	
  
PUT	
  "kills"	
  {"game_id":"30a4","map":"Los	
  Angeles","killer":21,"victim":19,"coord":"332,381,17"}	
  
PUT	
  "kills"	
  {"game_id":"30a4","map":"Los	
  Angeles","killer":0,"victim":10,"coord":"14,108,25"}	
  
PUT	
  "kills"	
  {"game_id":"6ebd","map":"Seattle","killer":32,"victim":18,"coord":"13,685,32"}	
  
PUT	
  "kills"	
  {"game_id":"6ebd","map":"Seattle","killer":7,"victim":14,"coord":"16,233,16"}	
  
PUT	
  "kills"	
  {"game_id":"6ebd","map":"Seattle","killer":27,"victim":19,"coord":"16,498,29"}	
  
PUT	
  "kills"	
  {"game_id":"6ebd","map":"Seattle","killer":1,"victim":38,"coord":"138,732,21"}	
  
AWS Gaming Solutions | GDC 2014
Real-Time Heatmaps
AWS Gaming Solutions | GDC 2014
But A Bow On It
•  Collect data from the start
•  Store it even if you can't process it (yet)
•  Start simple – S3 + Redshift
•  Add data sources – process with EMR
•  Real-time – Kinesis + Spark
•  Tons of untapped potential for gaming
AWS Gaming Solutions | GDC 2014
Fallback Plan
Cheers – Nate Wiger @nateware

Mais conteúdo relacionado

Mais procurados

AWS re:Invent 2016: AWS Database State of the Union (DAT320)
AWS re:Invent 2016: AWS Database State of the Union (DAT320)AWS re:Invent 2016: AWS Database State of the Union (DAT320)
AWS re:Invent 2016: AWS Database State of the Union (DAT320)Amazon Web Services
 
AWS re:Invent 2016: [REPEAT] How EA Leveraged Amazon Redshift and AWS Partner...
AWS re:Invent 2016: [REPEAT] How EA Leveraged Amazon Redshift and AWS Partner...AWS re:Invent 2016: [REPEAT] How EA Leveraged Amazon Redshift and AWS Partner...
AWS re:Invent 2016: [REPEAT] How EA Leveraged Amazon Redshift and AWS Partner...Amazon Web Services
 
AWS re:Invent 2016| GAM302 | Sony PlayStation: Breaking the Bandwidth Barrier...
AWS re:Invent 2016| GAM302 | Sony PlayStation: Breaking the Bandwidth Barrier...AWS re:Invent 2016| GAM302 | Sony PlayStation: Breaking the Bandwidth Barrier...
AWS re:Invent 2016| GAM302 | Sony PlayStation: Breaking the Bandwidth Barrier...Amazon Web Services
 
BDA307 Real-time Streaming Applications on AWS, Patterns and Use Cases
BDA307 Real-time Streaming Applications on AWS, Patterns and Use CasesBDA307 Real-time Streaming Applications on AWS, Patterns and Use Cases
BDA307 Real-time Streaming Applications on AWS, Patterns and Use CasesAmazon Web Services
 
SRV421 Deep Dive with AWS Mobile Services
SRV421 Deep Dive with AWS Mobile ServicesSRV421 Deep Dive with AWS Mobile Services
SRV421 Deep Dive with AWS Mobile ServicesAmazon Web Services
 
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 AnalyticsAmazon Web Services
 
A Data Culture with Embedded Analytics in Action
A Data Culture with Embedded Analytics in ActionA Data Culture with Embedded Analytics in Action
A Data Culture with Embedded Analytics in ActionAmazon Web Services
 
AWS re:Invent 2016: How Gree Launched New Games Faster and More Securely with...
AWS re:Invent 2016: How Gree Launched New Games Faster and More Securely with...AWS re:Invent 2016: How Gree Launched New Games Faster and More Securely with...
AWS re:Invent 2016: How Gree Launched New Games Faster and More Securely with...Amazon Web Services
 
Running Business Critical Workloads on AWS – Nam Je Cho
Running Business Critical Workloads on AWS – Nam Je ChoRunning Business Critical Workloads on AWS – Nam Je Cho
Running Business Critical Workloads on AWS – Nam Je ChoAmazon Web Services
 
Modern Data Architectures for Real Time Analytics & Engagement
Modern Data Architectures for Real Time Analytics & EngagementModern Data Architectures for Real Time Analytics & Engagement
Modern Data Architectures for Real Time Analytics & EngagementAmazon Web Services
 
Build an App on AWS for Your First 10 Million Users
Build an App on AWS for Your First 10 Million UsersBuild an App on AWS for Your First 10 Million Users
Build an App on AWS for Your First 10 Million UsersAmazon Web Services
 
AWS re:Invent 2016: 1-Click Enterprise Innovation with the AWS IoT Button (IO...
AWS re:Invent 2016: 1-Click Enterprise Innovation with the AWS IoT Button (IO...AWS re:Invent 2016: 1-Click Enterprise Innovation with the AWS IoT Button (IO...
AWS re:Invent 2016: 1-Click Enterprise Innovation with the AWS IoT Button (IO...Amazon Web Services
 
Getting Started with AWS Lambda and the Serverless Cloud
Getting Started with AWS Lambda and the Serverless CloudGetting Started with AWS Lambda and the Serverless Cloud
Getting Started with AWS Lambda and the Serverless CloudAmazon Web Services
 
Build a Real-time Streaming Data Visualization System with Amazon Kinesis Ana...
Build a Real-time Streaming Data Visualization System with Amazon Kinesis Ana...Build a Real-time Streaming Data Visualization System with Amazon Kinesis Ana...
Build a Real-time Streaming Data Visualization System with Amazon Kinesis Ana...Amazon Web Services
 
AWS re:Invent 2016: Turner's cloud native media supply chain for TNT, TBS, Ad...
AWS re:Invent 2016: Turner's cloud native media supply chain for TNT, TBS, Ad...AWS re:Invent 2016: Turner's cloud native media supply chain for TNT, TBS, Ad...
AWS re:Invent 2016: Turner's cloud native media supply chain for TNT, TBS, Ad...Amazon Web Services
 
Workshop: Building a Streaming Data Platform on AWS
Workshop: Building a Streaming Data Platform on AWSWorkshop: Building a Streaming Data Platform on AWS
Workshop: Building a Streaming Data Platform on AWSAmazon Web Services
 

Mais procurados (20)

Real-Time Streaming Data on AWS
Real-Time Streaming Data on AWSReal-Time Streaming Data on AWS
Real-Time Streaming Data on AWS
 
AWS re:Invent 2016: AWS Database State of the Union (DAT320)
AWS re:Invent 2016: AWS Database State of the Union (DAT320)AWS re:Invent 2016: AWS Database State of the Union (DAT320)
AWS re:Invent 2016: AWS Database State of the Union (DAT320)
 
AWS re:Invent 2016: [REPEAT] How EA Leveraged Amazon Redshift and AWS Partner...
AWS re:Invent 2016: [REPEAT] How EA Leveraged Amazon Redshift and AWS Partner...AWS re:Invent 2016: [REPEAT] How EA Leveraged Amazon Redshift and AWS Partner...
AWS re:Invent 2016: [REPEAT] How EA Leveraged Amazon Redshift and AWS Partner...
 
AWS re:Invent 2016| GAM302 | Sony PlayStation: Breaking the Bandwidth Barrier...
AWS re:Invent 2016| GAM302 | Sony PlayStation: Breaking the Bandwidth Barrier...AWS re:Invent 2016| GAM302 | Sony PlayStation: Breaking the Bandwidth Barrier...
AWS re:Invent 2016| GAM302 | Sony PlayStation: Breaking the Bandwidth Barrier...
 
Introduction to AWS X-Ray
Introduction to AWS X-RayIntroduction to AWS X-Ray
Introduction to AWS X-Ray
 
BDA307 Real-time Streaming Applications on AWS, Patterns and Use Cases
BDA307 Real-time Streaming Applications on AWS, Patterns and Use CasesBDA307 Real-time Streaming Applications on AWS, Patterns and Use Cases
BDA307 Real-time Streaming Applications on AWS, Patterns and Use Cases
 
SRV421 Deep Dive with AWS Mobile Services
SRV421 Deep Dive with AWS Mobile ServicesSRV421 Deep Dive with AWS Mobile Services
SRV421 Deep Dive with AWS Mobile Services
 
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
 
A Data Culture with Embedded Analytics in Action
A Data Culture with Embedded Analytics in ActionA Data Culture with Embedded Analytics in Action
A Data Culture with Embedded Analytics in Action
 
AWS re:Invent 2016: How Gree Launched New Games Faster and More Securely with...
AWS re:Invent 2016: How Gree Launched New Games Faster and More Securely with...AWS re:Invent 2016: How Gree Launched New Games Faster and More Securely with...
AWS re:Invent 2016: How Gree Launched New Games Faster and More Securely with...
 
What's New with AWS Lambda
What's New with AWS LambdaWhat's New with AWS Lambda
What's New with AWS Lambda
 
Running Business Critical Workloads on AWS – Nam Je Cho
Running Business Critical Workloads on AWS – Nam Je ChoRunning Business Critical Workloads on AWS – Nam Je Cho
Running Business Critical Workloads on AWS – Nam Je Cho
 
Modern Data Architectures for Real Time Analytics & Engagement
Modern Data Architectures for Real Time Analytics & EngagementModern Data Architectures for Real Time Analytics & Engagement
Modern Data Architectures for Real Time Analytics & Engagement
 
Build an App on AWS for Your First 10 Million Users
Build an App on AWS for Your First 10 Million UsersBuild an App on AWS for Your First 10 Million Users
Build an App on AWS for Your First 10 Million Users
 
AWS re:Invent 2016: 1-Click Enterprise Innovation with the AWS IoT Button (IO...
AWS re:Invent 2016: 1-Click Enterprise Innovation with the AWS IoT Button (IO...AWS re:Invent 2016: 1-Click Enterprise Innovation with the AWS IoT Button (IO...
AWS re:Invent 2016: 1-Click Enterprise Innovation with the AWS IoT Button (IO...
 
Getting Started with AWS Lambda and the Serverless Cloud
Getting Started with AWS Lambda and the Serverless CloudGetting Started with AWS Lambda and the Serverless Cloud
Getting Started with AWS Lambda and the Serverless Cloud
 
The Best of re:invent 2016
The Best of re:invent 2016The Best of re:invent 2016
The Best of re:invent 2016
 
Build a Real-time Streaming Data Visualization System with Amazon Kinesis Ana...
Build a Real-time Streaming Data Visualization System with Amazon Kinesis Ana...Build a Real-time Streaming Data Visualization System with Amazon Kinesis Ana...
Build a Real-time Streaming Data Visualization System with Amazon Kinesis Ana...
 
AWS re:Invent 2016: Turner's cloud native media supply chain for TNT, TBS, Ad...
AWS re:Invent 2016: Turner's cloud native media supply chain for TNT, TBS, Ad...AWS re:Invent 2016: Turner's cloud native media supply chain for TNT, TBS, Ad...
AWS re:Invent 2016: Turner's cloud native media supply chain for TNT, TBS, Ad...
 
Workshop: Building a Streaming Data Platform on AWS
Workshop: Building a Streaming Data Platform on AWSWorkshop: Building a Streaming Data Platform on AWS
Workshop: Building a Streaming Data Platform on AWS
 

Destaque

GDC 2015 - Game Analytics with AWS Redshift, Kinesis, and the Mobile SDK
GDC 2015 - Game Analytics with AWS Redshift, Kinesis, and the Mobile SDKGDC 2015 - Game Analytics with AWS Redshift, Kinesis, and the Mobile SDK
GDC 2015 - Game Analytics with AWS Redshift, Kinesis, and the Mobile SDKNate Wiger
 
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 Nate Wiger
 
Gaming AWS with Docker - Gluecon 2014
Gaming AWS with Docker - Gluecon 2014Gaming AWS with Docker - Gluecon 2014
Gaming AWS with Docker - Gluecon 2014Avi Cavale
 
Refael Bitton @ All Things DATA 2016 - Firebase Analytics
Refael Bitton @ All Things DATA 2016 - Firebase AnalyticsRefael Bitton @ All Things DATA 2016 - Firebase Analytics
Refael Bitton @ All Things DATA 2016 - Firebase AnalyticsShuki Mann
 
Implementing Analytics in High-Traffic Social Games
Implementing Analytics in High-Traffic Social GamesImplementing Analytics in High-Traffic Social Games
Implementing Analytics in High-Traffic Social GamesSocial Point
 
Modeling of players activity by Michel pierfitte, Director of Game Analytics ...
Modeling of players activity by Michel pierfitte, Director of Game Analytics ...Modeling of players activity by Michel pierfitte, Director of Game Analytics ...
Modeling of players activity by Michel pierfitte, Director of Game Analytics ...Sylvain Gauthier
 
Game analytics - The challenges of mobile free-to-play games
Game analytics - The challenges of mobile free-to-play gamesGame analytics - The challenges of mobile free-to-play games
Game analytics - The challenges of mobile free-to-play gamesChristian Beckers
 
Jelly Splash: Puzzling your way to the top of the App Stores - GDC 2014
Jelly Splash: Puzzling your way to the top of the App Stores - GDC 2014Jelly Splash: Puzzling your way to the top of the App Stores - GDC 2014
Jelly Splash: Puzzling your way to the top of the App Stores - GDC 2014Wooga
 
How to make people love your game in 90 seconds or less
How to make people love your game in 90 seconds or lessHow to make people love your game in 90 seconds or less
How to make people love your game in 90 seconds or lessDori Adar
 
AWS re:Invent 2016: Scaling Up to Your First 10 Million Users (ARC201)
AWS re:Invent 2016: Scaling Up to Your First 10 Million Users (ARC201)AWS re:Invent 2016: Scaling Up to Your First 10 Million Users (ARC201)
AWS re:Invent 2016: Scaling Up to Your First 10 Million Users (ARC201)Amazon Web Services
 
Intro To Mobile Analytics
Intro To Mobile AnalyticsIntro To Mobile Analytics
Intro To Mobile AnalyticsTapmint
 
7 Psychological Tactics Used in Games
7 Psychological Tactics Used in Games7 Psychological Tactics Used in Games
7 Psychological Tactics Used in GamesDori Adar
 
GDC 2016: Modular Level Design of Fallout 4
GDC 2016: Modular Level Design of Fallout 4 GDC 2016: Modular Level Design of Fallout 4
GDC 2016: Modular Level Design of Fallout 4 Joel Burgess
 

Destaque (13)

GDC 2015 - Game Analytics with AWS Redshift, Kinesis, and the Mobile SDK
GDC 2015 - Game Analytics with AWS Redshift, Kinesis, and the Mobile SDKGDC 2015 - Game Analytics with AWS Redshift, Kinesis, and the Mobile SDK
GDC 2015 - Game Analytics with AWS Redshift, Kinesis, and the Mobile SDK
 
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
 
Gaming AWS with Docker - Gluecon 2014
Gaming AWS with Docker - Gluecon 2014Gaming AWS with Docker - Gluecon 2014
Gaming AWS with Docker - Gluecon 2014
 
Refael Bitton @ All Things DATA 2016 - Firebase Analytics
Refael Bitton @ All Things DATA 2016 - Firebase AnalyticsRefael Bitton @ All Things DATA 2016 - Firebase Analytics
Refael Bitton @ All Things DATA 2016 - Firebase Analytics
 
Implementing Analytics in High-Traffic Social Games
Implementing Analytics in High-Traffic Social GamesImplementing Analytics in High-Traffic Social Games
Implementing Analytics in High-Traffic Social Games
 
Modeling of players activity by Michel pierfitte, Director of Game Analytics ...
Modeling of players activity by Michel pierfitte, Director of Game Analytics ...Modeling of players activity by Michel pierfitte, Director of Game Analytics ...
Modeling of players activity by Michel pierfitte, Director of Game Analytics ...
 
Game analytics - The challenges of mobile free-to-play games
Game analytics - The challenges of mobile free-to-play gamesGame analytics - The challenges of mobile free-to-play games
Game analytics - The challenges of mobile free-to-play games
 
Jelly Splash: Puzzling your way to the top of the App Stores - GDC 2014
Jelly Splash: Puzzling your way to the top of the App Stores - GDC 2014Jelly Splash: Puzzling your way to the top of the App Stores - GDC 2014
Jelly Splash: Puzzling your way to the top of the App Stores - GDC 2014
 
How to make people love your game in 90 seconds or less
How to make people love your game in 90 seconds or lessHow to make people love your game in 90 seconds or less
How to make people love your game in 90 seconds or less
 
AWS re:Invent 2016: Scaling Up to Your First 10 Million Users (ARC201)
AWS re:Invent 2016: Scaling Up to Your First 10 Million Users (ARC201)AWS re:Invent 2016: Scaling Up to Your First 10 Million Users (ARC201)
AWS re:Invent 2016: Scaling Up to Your First 10 Million Users (ARC201)
 
Intro To Mobile Analytics
Intro To Mobile AnalyticsIntro To Mobile Analytics
Intro To Mobile Analytics
 
7 Psychological Tactics Used in Games
7 Psychological Tactics Used in Games7 Psychological Tactics Used in Games
7 Psychological Tactics Used in Games
 
GDC 2016: Modular Level Design of Fallout 4
GDC 2016: Modular Level Design of Fallout 4 GDC 2016: Modular Level Design of Fallout 4
GDC 2016: Modular Level Design of Fallout 4
 

Semelhante a AWS Game Analytics - GDC 2014

Cloud Big Data Architectures
Cloud Big Data ArchitecturesCloud Big Data Architectures
Cloud Big Data ArchitecturesLynn Langit
 
Openbar Kontich // Google Cloud: past, present and the (oh so sweet) future b...
Openbar Kontich // Google Cloud: past, present and the (oh so sweet) future b...Openbar Kontich // Google Cloud: past, present and the (oh so sweet) future b...
Openbar Kontich // Google Cloud: past, present and the (oh so sweet) future b...Openbar
 
Getting to 1.5M Ads/sec: How DataXu manages Big Data
Getting to 1.5M Ads/sec: How DataXu manages Big DataGetting to 1.5M Ads/sec: How DataXu manages Big Data
Getting to 1.5M Ads/sec: How DataXu manages Big DataQubole
 
Google Cloud Dataflow Two Worlds Become a Much Better One
Google Cloud Dataflow Two Worlds Become a Much Better OneGoogle Cloud Dataflow Two Worlds Become a Much Better One
Google Cloud Dataflow Two Worlds Become a Much Better OneDataWorks Summit
 
2018 07 aws windsor user group - fall project planning v1
2018 07 aws windsor user group - fall project planning v12018 07 aws windsor user group - fall project planning v1
2018 07 aws windsor user group - fall project planning v1Paul Camilleri, PMP
 
Data & Analytics - Session 1 - Big Data Analytics
Data & Analytics - Session 1 -  Big Data AnalyticsData & Analytics - Session 1 -  Big Data Analytics
Data & Analytics - Session 1 - Big Data AnalyticsAmazon Web Services
 
Serverless without Code (Lambda)
Serverless without Code (Lambda)Serverless without Code (Lambda)
Serverless without Code (Lambda)CloudHesive
 
Real-time Streaming and Querying with Amazon Kinesis and Amazon Elastic MapRe...
Real-time Streaming and Querying with Amazon Kinesis and Amazon Elastic MapRe...Real-time Streaming and Querying with Amazon Kinesis and Amazon Elastic MapRe...
Real-time Streaming and Querying with Amazon Kinesis and Amazon Elastic MapRe...Amazon Web Services
 
AWS for the SQL Server Pro
AWS for the SQL Server ProAWS for the SQL Server Pro
AWS for the SQL Server ProLynn Langit
 
AWS vs Azure vs Google (GCP) - Slides
AWS vs Azure vs Google (GCP) - SlidesAWS vs Azure vs Google (GCP) - Slides
AWS vs Azure vs Google (GCP) - SlidesTobyWilman
 
Leapfrog into Serverless - a Deloitte-Amtrak Case Study | Serverless Confere...
Leapfrog into Serverless - a Deloitte-Amtrak Case Study | Serverless Confere...Leapfrog into Serverless - a Deloitte-Amtrak Case Study | Serverless Confere...
Leapfrog into Serverless - a Deloitte-Amtrak Case Study | Serverless Confere...Gary Arora
 
Beyond Relational
Beyond RelationalBeyond Relational
Beyond RelationalLynn Langit
 
Dsdt meetup 2017 11-21
Dsdt meetup 2017 11-21Dsdt meetup 2017 11-21
Dsdt meetup 2017 11-21JDA Labs MTL
 
DSDT Meetup Nov 2017
DSDT Meetup Nov 2017DSDT Meetup Nov 2017
DSDT Meetup Nov 2017DSDT_MTL
 
AWS for Java Developers workshop
AWS for Java Developers workshopAWS for Java Developers workshop
AWS for Java Developers workshopRory Preddy
 
Code first in the cloud: going serverless with Azure
Code first in the cloud: going serverless with AzureCode first in the cloud: going serverless with Azure
Code first in the cloud: going serverless with AzureJeremy Likness
 
Azure IPaaS: Integration Evolved! (Glenn Colpaert @TechdaysNL 2017)
Azure IPaaS: Integration Evolved! (Glenn Colpaert @TechdaysNL 2017)Azure IPaaS: Integration Evolved! (Glenn Colpaert @TechdaysNL 2017)
Azure IPaaS: Integration Evolved! (Glenn Colpaert @TechdaysNL 2017)Codit
 
Accelerate your Cloud Success with Platform Services
Accelerate your Cloud Success with Platform ServicesAccelerate your Cloud Success with Platform Services
Accelerate your Cloud Success with Platform ServicesAmazon Web Services
 

Semelhante a AWS Game Analytics - GDC 2014 (20)

AWS Architecture - GDC 2014
AWS Architecture - GDC 2014AWS Architecture - GDC 2014
AWS Architecture - GDC 2014
 
Cloud Big Data Architectures
Cloud Big Data ArchitecturesCloud Big Data Architectures
Cloud Big Data Architectures
 
Openbar Kontich // Google Cloud: past, present and the (oh so sweet) future b...
Openbar Kontich // Google Cloud: past, present and the (oh so sweet) future b...Openbar Kontich // Google Cloud: past, present and the (oh so sweet) future b...
Openbar Kontich // Google Cloud: past, present and the (oh so sweet) future b...
 
Getting to 1.5M Ads/sec: How DataXu manages Big Data
Getting to 1.5M Ads/sec: How DataXu manages Big DataGetting to 1.5M Ads/sec: How DataXu manages Big Data
Getting to 1.5M Ads/sec: How DataXu manages Big Data
 
Google Cloud Dataflow Two Worlds Become a Much Better One
Google Cloud Dataflow Two Worlds Become a Much Better OneGoogle Cloud Dataflow Two Worlds Become a Much Better One
Google Cloud Dataflow Two Worlds Become a Much Better One
 
2018 07 aws windsor user group - fall project planning v1
2018 07 aws windsor user group - fall project planning v12018 07 aws windsor user group - fall project planning v1
2018 07 aws windsor user group - fall project planning v1
 
Data & Analytics - Session 1 - Big Data Analytics
Data & Analytics - Session 1 -  Big Data AnalyticsData & Analytics - Session 1 -  Big Data Analytics
Data & Analytics - Session 1 - Big Data Analytics
 
What's new in AWS?
What's new in AWS?What's new in AWS?
What's new in AWS?
 
Serverless without Code (Lambda)
Serverless without Code (Lambda)Serverless without Code (Lambda)
Serverless without Code (Lambda)
 
Real-time Streaming and Querying with Amazon Kinesis and Amazon Elastic MapRe...
Real-time Streaming and Querying with Amazon Kinesis and Amazon Elastic MapRe...Real-time Streaming and Querying with Amazon Kinesis and Amazon Elastic MapRe...
Real-time Streaming and Querying with Amazon Kinesis and Amazon Elastic MapRe...
 
AWS for the SQL Server Pro
AWS for the SQL Server ProAWS for the SQL Server Pro
AWS for the SQL Server Pro
 
AWS vs Azure vs Google (GCP) - Slides
AWS vs Azure vs Google (GCP) - SlidesAWS vs Azure vs Google (GCP) - Slides
AWS vs Azure vs Google (GCP) - Slides
 
Leapfrog into Serverless - a Deloitte-Amtrak Case Study | Serverless Confere...
Leapfrog into Serverless - a Deloitte-Amtrak Case Study | Serverless Confere...Leapfrog into Serverless - a Deloitte-Amtrak Case Study | Serverless Confere...
Leapfrog into Serverless - a Deloitte-Amtrak Case Study | Serverless Confere...
 
Beyond Relational
Beyond RelationalBeyond Relational
Beyond Relational
 
Dsdt meetup 2017 11-21
Dsdt meetup 2017 11-21Dsdt meetup 2017 11-21
Dsdt meetup 2017 11-21
 
DSDT Meetup Nov 2017
DSDT Meetup Nov 2017DSDT Meetup Nov 2017
DSDT Meetup Nov 2017
 
AWS for Java Developers workshop
AWS for Java Developers workshopAWS for Java Developers workshop
AWS for Java Developers workshop
 
Code first in the cloud: going serverless with Azure
Code first in the cloud: going serverless with AzureCode first in the cloud: going serverless with Azure
Code first in the cloud: going serverless with Azure
 
Azure IPaaS: Integration Evolved! (Glenn Colpaert @TechdaysNL 2017)
Azure IPaaS: Integration Evolved! (Glenn Colpaert @TechdaysNL 2017)Azure IPaaS: Integration Evolved! (Glenn Colpaert @TechdaysNL 2017)
Azure IPaaS: Integration Evolved! (Glenn Colpaert @TechdaysNL 2017)
 
Accelerate your Cloud Success with Platform Services
Accelerate your Cloud Success with Platform ServicesAccelerate your Cloud Success with Platform Services
Accelerate your Cloud Success with Platform Services
 

Último

Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostZilliz
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfSeasiaInfotech2
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embeddingZilliz
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesZilliz
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 

Último (20)

Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdf
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embedding
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector Databases
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 

AWS Game Analytics - GDC 2014

  • 1. AWS Gaming Solutions | GDC 2014 Game Analytics with AWS Or, How to learn what your players love so they will love your game Nate Wiger @nateware | Principal Gaming Solutions Architect
  • 2. AWS Gaming Solutions | GDC 2014 Mobile Game Landscape •  Free To Play •  In-App Purchases •  Long-Tail •  Cross-Platform •  Go Global •  User Retention = Revenue
  • 3. AWS Gaming Solutions | GDC 2014 Projected Mobile App Revenue 0 10000 20000 30000 40000 50000 60000 70000 80000 90000 2011 2012 2013 2014 2015 2016 2017 Ads IAP Paid Source: Gartner
  • 4. AWS Gaming Solutions | GDC 2014 Winning at Free to Play •  Phase 1: Collect Data •  Phase 2: Analyze •  Phase 3: Profit
  • 5. AWS Gaming Solutions | GDC 2014 Analyze What? Emotions •  Enjoying game •  Engaged •  Like/dislike new content •  Stuck on a level •  Bored •  Abandonment Behaviors •  Hours played day/week •  Number of sessions/day •  Level progression •  Friend invites/referrals •  Response to mobile push •  Money spent/week
  • 6. AWS Gaming Solutions | GDC 2014 Example: Level Progression (One Metric) 0 2 4 6 8 10 L1 L2 L3 L4 L5 L6 L7 L8 L9 L10 Tries / Level # of Tries
  • 7. AWS Gaming Solutions | GDC 2014 Example: Level Progression (Two Metrics) 0 10 20 30 40 50 60 0 2 4 6 8 10 L1 L2 L3 L4 L5 L6 L7 L8 L9 L10 Tries / Level % Highest Level # of Tries
  • 8. AWS Gaming Solutions | GDC 2014 Key Takeaways •  Multiple data sources •  Correlate variables •  Deltas vs absolutes •  Settle on terminology (game vs level) •  Time matters
  • 9. AWS Gaming Solutions | GDC 2014
  • 10. AWS Gaming Solutions | GDC 2014 Events & Metrics •  Event = Moment in Time –  Login/quit –  Game start/end –  Level up –  In-app purchase •  Metrics = What to Measure –  KISS –  Numbers –  Booleans –  Strings (Enums) •  Always Include (ALWAYS) –  User –  Action –  Session (context-dependent) –  Timestamp in ISO8601 2014-­‐03-­‐16T16:28:26
  • 11. AWS Gaming Solutions | GDC 2014 Off The Shelf Analytics •  Easy To Integrate •  Pre-Baked Reports •  Rate Limits •  Retention Windows •  Data Lock-In
  • 12. AWS Gaming Solutions | GDC 2014 Ok, A Real Business Plan Ingest Store Process Analyze
  • 13. AWS Gaming Solutions | GDC 2014 Ok, A Real Business Plan Ingest •  HTTP PUT •  Kafka •  Kinesis •  Scribe Store •  S3 •  DynamoDB •  HDFS •  Redshift Process •  EMR (Hadoop) •  Spark •  Storm Analyze •  Tableau •  Pentaho •  Jaspersoft
  • 14. AWS Gaming Solutions | GDC 2014 •  Write Events File on Device •  Periodically Upload to S3 •  Process into Redshift •  Point GUI Tool to Redshift Start Simple 2014-­‐01-­‐24,nateware,e4df,login   2014-­‐01-­‐24,nateware,e4df,gamestart   2014-­‐01-­‐24,nateware,e4df,gameend   2014-­‐01-­‐25,nateware,a88c,login   2014-­‐01-­‐25,nateware,a88c,friendlist   2014-­‐01-­‐25,nateware,a88c,gamestart   Profit!
  • 15. AWS Gaming Solutions | GDC 2014 Redshift at a Glance 10 GigE (HPC) Ingestion Backup Restore SQL Clients/BI Tools 128GB RAM 16TB disk 16 cores Amazon S3/DynamoDB JDBC/ODBC 128GB RAM 16TB disk 16 coresCompute Node 128GB RAM 16TB disk 16 coresCompute Node 128GB RAM 16TB disk 16 coresCompute Node Leader Node •  Leader Node –  SQL endpoint –  Stores metadata –  Coordinates query execution •  Compute Nodes –  Columnar table storage –  Load, backup, restore via Amazon S3 –  Parallel load from Amazon DynamoDB •  Single node version available
  • 16. AWS Gaming Solutions | GDC 2014 Tableau + Redshift
  • 17. AWS Gaming Solutions | GDC 2014 Plumbing ①  Create S3 bucket ("mygame-analytics-events") ②  Request a security token for your mobile app: http://docs.aws.amazon.com/STS/latest/UsingSTS/Welcome.html ③  Upload data from your users' devices ④  Run a scheduled copy to Redshift ⑤  Setup Tableau to access Redshift ⑥  Go to the Beach
  • 18. AWS Gaming Solutions | GDC 2014 Loading Redshift from S3 copy  events   from  's3://mygame-­‐analytics-­‐events'   credentials  'aws_access_key_id=<access-­‐key-­‐id>;   aws_secret_access_key=<secret-­‐access-­‐key>'   delimiter=',';   Scheduled Redshift Load using Data Pipeline: http://aws.amazon.com/articles/1143507459230804
  • 19. AWS Gaming Solutions | GDC 2014 •  Also Collect Server Logs •  Periodically Upload to S3 •  Stuff into Redshift •  External Analytics Data Too More Data Sources EC2 External Analytics
  • 20. AWS Gaming Solutions | GDC 2014 Logrotate to S3 /var/log/apache2/*.log  {      sharedscripts      postrotate          sudo  /usr/sbin/apache2ctl  graceful          s3cmd  sync  /var/log/*.gz  s3://mygame-­‐logs/      endscript   }   Blog Entry on Log Rotation: http://www.dowdandassociates.com/blog/content/howto-rotate-logs-to-s3/ And/or, Use ELB Access Logs: http://docs.aws.amazon.com/ElasticLoadBalancing/latest/DeveloperGuide/ access-log-collection.html
  • 21. AWS Gaming Solutions | GDC 2014 •  Different File Formats •  Device vs Apache vs CDN •  Cleanup with EMR Job •  Output to Clean Bucket •  Load into Redshift Dealing With Messy Data EC2
  • 22. AWS Gaming Solutions | GDC 2014 Redshift vs Elastic MapReduce Redshift •  Columnar DB •  Familiar SQL •  Structured Data •  Batch Load •  Faster to Query •  Long-term Storage Elastic MapReduce •  Hadoop •  Hive/Pig are SQL-like •  Unstructured Data •  Streaming Loop •  Scales > PB's •  Transient
  • 23. AWS Gaming Solutions | GDC 2014 •  Integrate Game DB •  Load Directly into Redshift •  Redshift does Intelligent Merge •  Tracks Hash Keys, Columns Direct From DynamoDB EC2
  • 24. AWS Gaming Solutions | GDC 2014 •  Integrate Game DB •  Load Directly into Redshift •  Redshift does Intelligent Merge •  Tracks Hash Keys, Columns •  Or Stream into EMR Direct From DynamoDB EC2
  • 25. AWS Gaming Solutions | GDC 2014 Loading Redshift from DynamoDB copy  games   from  'dynamodb://games'   credentials  'aws_access_key_id=<access-­‐key-­‐id>;   aws_secret_access_key=<secret-­‐access-­‐key>';   copy  events   from  's3://mygame-­‐analytics-­‐events'   credentials  'aws_access_key_id=<access-­‐key-­‐id>;   aws_secret_access_key=<secret-­‐access-­‐key>'   delimiter=',';  
  • 26. AWS Gaming Solutions | GDC 2014
  • 27. AWS Gaming Solutions | GDC 2014 Funnel Cake
  • 28. AWS Gaming Solutions | GDC 2014 Back To Basics 2014-­‐01-­‐24,nateware,e4df,login   2014-­‐01-­‐24,nateware,e4df,gamestart   2014-­‐01-­‐24,nateware,e4df,gameend   2014-­‐01-­‐25,nateware,a88c,login   2014-­‐01-­‐25,nateware,a88c,friendlist   2014-­‐01-­‐25,nateware,a88c,gamestart  
  • 29. AWS Gaming Solutions | GDC 2014 Measure Retention: Repeated Plays create  view  events_by_user_by_month  as   select  user_id,   date_trunc('month',  event_date)   as  month_active,   count(*)  as  total_events   from  events   group  by  user_id,  month_active;    
  • 30. AWS Gaming Solutions | GDC 2014 First-Pass Retention – Too Noisy 0 5 10 15 20 25 30 35 40 # Play Sessions / Month nateware Lazyd0g AK187 3strikes
  • 31. AWS Gaming Solutions | GDC 2014 Cohorts & Cambria •  Enables calculating relative metrics •  Group users by a common attribute –  Month game installed –  Demographics •  Run analysis by cohort –  Join with metrics •  Use Redshift as it's SQL –  Example of where SQL is a good fit
  • 32. AWS Gaming Solutions | GDC 2014 Creating Cohorts with Redshift create  view  cohort_by_first_event_date  as   select  user_id,   date_trunc('month',  min(event_date))   as  first_month   from  events   group  by  user_id;     http://snowplowanalytics.com/analytics/customer- analytics/cohort-analysis.html
  • 33. AWS Gaming Solutions | GDC 2014 Retention by Cohort – Join Events with Cohort 0 5 10 15 20 25 Week 1 Week 2 Week 3 Week 5 Week 6 Week 7 # Sessions / Week 2013-11 2013-12 2014-01 2014-02 2014-03 2014-04
  • 34. AWS Gaming Solutions | GDC 2014 Moar Cohorts •  Define multiple cohorts –  By activity, time, demographics –  As many as you like •  Change cohort depending on analysis •  Join same metrics with different cohorts –  Retention by date –  Retention by demographic –  Retention by average plays/month quartile
  • 35. AWS Gaming Solutions | GDC 2014 Example Event Stream 2014-­‐03-­‐17T09:52:08-­‐07:00,nateware,e4b5,login   2014-­‐03-­‐17T09:52:54-­‐07:00,nateware,e4b5,gamestart   2014-­‐03-­‐17T09:53:15-­‐07:00,nateware,e4b5,levelup   2014-­‐03-­‐17T09:54:06-­‐07:00,nateware,e4b5,gameend   2014-­‐03-­‐17T09:54:23-­‐07:00,nateware,30a4,gamestart   2014-­‐03-­‐17T09:55:14-­‐07:00,nateware,30a4,gameend   2014-­‐03-­‐17T09:55:41-­‐07:00,nateware,30a4,gamestart   2014-­‐03-­‐17T09:57:12-­‐07:00,nateware,6ebd,levelup   2014-­‐03-­‐17T09:58:50-­‐07:00,nateware,6ebd,levelup   2014-­‐03-­‐17T09:59:52-­‐07:00,nateware,6ebd,gameend    
  • 36. AWS Gaming Solutions | GDC 2014 Example Event Stream 2014-­‐03-­‐17T09:52:08-­‐07:00,nateware,e4b5,login   2014-­‐03-­‐17T09:52:54-­‐07:00,nateware,e4b5,gamestart   2014-­‐03-­‐17T09:53:15-­‐07:00,nateware,e4b5,levelup   2014-­‐03-­‐17T09:54:06-­‐07:00,nateware,e4b5,gameend   2014-­‐03-­‐17T09:54:23-­‐07:00,nateware,30a4,gamestart   2014-­‐03-­‐17T09:55:14-­‐07:00,nateware,30a4,gameend   2014-­‐03-­‐17T09:55:41-­‐07:00,nateware,30a4,gamestart   2014-­‐03-­‐17T09:57:12-­‐07:00,nateware,6ebd,levelup   2014-­‐03-­‐17T09:58:50-­‐07:00,nateware,6ebd,levelup   2014-­‐03-­‐17T09:59:52-­‐07:00,nateware,6ebd,gameend    
  • 37. AWS Gaming Solutions | GDC 2014 Cohorts by Type of Activity create  view  cohort_by_first_play_date  as   select  user_id,   date_trunc('month',  min(event_date))   as  first_month   from  events   where  action  =  'gamestart'   group  by  user_id;    
  • 38. AWS Gaming Solutions | GDC 2014
  • 39. AWS Gaming Solutions | GDC 2014 Post-Match Heatmaps
  • 40. AWS Gaming Solutions | GDC 2014 Real-Time Analytics Batch •  What game modes do people like best? •  How many people have downloaded DLC pack 2? •  Where do most people die on map 4? •  How many daily players are there on average? Real-Time •  What game modes are people playing now? •  Are more or less people downloading DLC today? •  Are people dying in the same places? Different? •  How many people are playing today? Variance?
  • 41. AWS Gaming Solutions | GDC 2014 Why Real-Time Analytics? 30x in 24 hours What if you ran a promo?
  • 42. AWS Gaming Solutions | GDC 2014 Real-Time Tools Spark •  High-Performance Hadoop Alternative •  Berkeley.edu •  Compatible with HiveQL •  100x faster than Hadoop •  Runs on EMR Kinesis •  Amazon fully-managed streaming data layer •  Similar to Kafka •  Streams contain Shards •  Each Shard ingests data up to 1MB/sec, 1000 TPS •  Data stored for 24 hours
  • 43. AWS Gaming Solutions | GDC 2014 •  Always Batch Due to S3 Back To Basics [Dubstep Remix] EC2
  • 44. AWS Gaming Solutions | GDC 2014 •  Stream Data With Kinesis •  Multiple Writers and Readers •  Still Output to Redshift Need Data Faster! EC2
  • 45. AWS Gaming Solutions | GDC 2014 •  Stream Data With Kinesis •  Multiple Writers and Readers •  Still Output to Redshift •  Stream to Spark on EMR •  Storm via Kinesis Spout •  Custom EC2 Workers Lots of Ins and Outs EC2 EC2
  • 46. AWS Gaming Solutions | GDC 2014  Data   Sources   App.4     [Machine   Learning]                                       AWS  Endpoint   App.1     [Aggregate  &   De-­‐Duplicate]    Data   Sources   Data   Sources    Data   Sources   App.2     [Metric   Extrac=on]   S3 DynamoDB Redshift App.3   [Sliding   Window   Analysis]    Data   Sources   Availability Zone Shard 1 Shard 2 Shard N Availability Zone Availability Zone Introducing Amazon Kinesis Service for Real-Time Big Data Ingestion
  • 47. AWS Gaming Solutions | GDC 2014 Putting Data into Kinesis •  Producers use PUT to send data to a Stream •  PutRecord {Data, PartitionKey, StreamName} •  Partition Key distributes PUTs across Shards •  Unique Sequence # returned on PUT call •  Documentation: http://docs.aws.amazon.com/kinesis/latest/dev/ introduction.html Producer Shard 1 Shard 2 Shard 3 Shard n Shard 4 Producer Producer Producer Producer Producer Producer Producer Producer Kinesis
  • 48. AWS Gaming Solutions | GDC 2014 Writing to a Kinesis Stream POST  /  HTTP/1.1   Host:  kinesis.<region>.<domain>   x-­‐amz-­‐Date:  <Date>   Authorization:  AWS4-­‐HMAC-­‐SHA256  Credential=<Credential>,  SignedHeaders=content-­‐ type;date;host;user-­‐agent;x-­‐amz-­‐date;x-­‐amz-­‐target;x-­‐amzn-­‐requestid,   Signature=<Signature>   User-­‐Agent:  <UserAgentString>   Content-­‐Type:  application/x-­‐amz-­‐json-­‐1.1   Content-­‐Length:  <PayloadSizeBytes>   Connection:  Keep-­‐Alive   X-­‐Amz-­‐Target:  Kinesis_20131202.PutRecord     {      "StreamName":  "exampleStreamName",      "Data":  "XzxkYXRhPl8x",      "PartitionKey":  "partitionKey"   }  
  • 49. AWS Gaming Solutions | GDC 2014 Kinesis + Spark http://aws.amazon.com/articles/4926593393724923
  • 50. AWS Gaming Solutions | GDC 2014 Death in Real-Time PUT  "kills"  {"game_id":"e4b5","map":"Boston","killer":38,"victim":39,"coord":"274,591,48"}   PUT  "kills"  {"game_id":"e4b5","map":"Boston","killer":13,"victim":27,"coord":"101,206,35"}   PUT  "kills"  {"game_id":"e4b5","map":"Boston","killer":38,"victim":39,"coord":"165,609,17"}   PUT  "kills"  {"game_id":"e4b5","map":"Boston","killer":6,"victim":29,"coord":"120,422,26"}   PUT  "kills"  {"game_id":"30a4","map":"Los  Angeles","killer":34,"victim":18,"coord":"163,677,18"}   PUT  "kills"  {"game_id":"30a4","map":"Los  Angeles","killer":20,"victim":37,"coord":"71,473,20"}   PUT  "kills"  {"game_id":"30a4","map":"Los  Angeles","killer":21,"victim":19,"coord":"332,381,17"}   PUT  "kills"  {"game_id":"30a4","map":"Los  Angeles","killer":0,"victim":10,"coord":"14,108,25"}   PUT  "kills"  {"game_id":"6ebd","map":"Seattle","killer":32,"victim":18,"coord":"13,685,32"}   PUT  "kills"  {"game_id":"6ebd","map":"Seattle","killer":7,"victim":14,"coord":"16,233,16"}   PUT  "kills"  {"game_id":"6ebd","map":"Seattle","killer":27,"victim":19,"coord":"16,498,29"}   PUT  "kills"  {"game_id":"6ebd","map":"Seattle","killer":1,"victim":38,"coord":"138,732,21"}  
  • 51. AWS Gaming Solutions | GDC 2014 Real-Time Heatmaps
  • 52. AWS Gaming Solutions | GDC 2014 But A Bow On It •  Collect data from the start •  Store it even if you can't process it (yet) •  Start simple – S3 + Redshift •  Add data sources – process with EMR •  Real-time – Kinesis + Spark •  Tons of untapped potential for gaming
  • 53. AWS Gaming Solutions | GDC 2014 Fallback Plan Cheers – Nate Wiger @nateware