Slide 1

Slide 1 text

Distributed storage for games you don’t have to worry about Press Start (c) 2013 Basho Technologies All rights reserved. Riak

Slide 2

Slide 2 text

Player Select Tom Santero tsantero on github on twitter @basho.com {

Slide 3

Slide 3 text

Basho Technologies we make riak...

Slide 4

Slide 4 text

I <3 video games

Slide 5

Slide 5 text

video games have changed

Slide 6

Slide 6 text

When I was a kid...

Slide 7

Slide 7 text

Kids Today...

Slide 8

Slide 8 text

Evolution of games largely characterized by rapid development of processing technology

Slide 9

Slide 9 text

What happened?

Slide 10

Slide 10 text

Online / multiplayer gaming experiences

Slide 11

Slide 11 text

meanwhile...

Slide 12

Slide 12 text

Amazon.com

Slide 13

Slide 13 text

No content

Slide 14

Slide 14 text

Riak

Slide 15

Slide 15 text

masterless, distributed key/value datastore

Slide 16

Slide 16 text

deployed as a cluster of nodes

Slide 17

Slide 17 text

key / value

Slide 18

Slide 18 text

map/reduce engine Full-text search secondary indexes

Slide 19

Slide 19 text

scale

Slide 20

Slide 20 text

Global Availability

Slide 21

Slide 21 text

Used by... and more...

Slide 22

Slide 22 text

Why?

Slide 23

Slide 23 text

Users vote for your games with: their time their money Downloads recommendations

Slide 24

Slide 24 text

No content

Slide 25

Slide 25 text

Fault Tolerance

Slide 26

Slide 26 text

High Write Throughput

Slide 27

Slide 27 text

Cost of operations predictable latency easy to scale small teams

Slide 28

Slide 28 text

SHIP IT! Did you test the code?

Slide 29

Slide 29 text

Did you test the Infrastructure?

Slide 30

Slide 30 text

Thousands  of  players  across  the  world  are  playing  and   having  a  good  experience  –  in  fact,  more  than  700,000   cities  have  been  built  by  our  players  in  just  24  hours.   But  many  are  experiencing  server  instability  and   consequently,  the  rollout  in  North  America  has  been   challenging.  It's  also  now  evident  that  players  across   Europe  and  Asia  are  experiencing  the  same  frustration.   Our  priority  now  is  to  quickly  and  dramatically  increase   the  number  and  stability  of  our  servers  and,  with  that,   the  number  of  players  who  can  simultaneously  access  the   game.  We  added  servers  today,  and  there  will  be  several   more  added  over  the  weekend.  We're  working  as  hard  as   possible  to  make  sure  everyone  gets  to  experience  the   amazing  game  we  built  in  SimCity.

Slide 31

Slide 31 text

NOT Acceptable

Slide 32

Slide 32 text

Build a cross-platform gaming experience with Riak

Slide 33

Slide 33 text

Authentication and profiles key value oauth JSON/XML/enc uuid JSON/XML/enc email JSON/XML/enc } device_id last_session other_pointers

Slide 34

Slide 34 text

Authentication and profiles key value oauth JSON/XML/enc uuid JSON/XML/enc email JSON/XML/enc } device_id last_session other_pointers Cross Platform!

Slide 35

Slide 35 text

Session and game state key value user riak sessionid JSON/XML/enc uuid JSON/XML/enc PUT sessions/sessionID GET sessions/sessionID

Slide 36

Slide 36 text

Session and game state key value user riak connection sessionid JSON/XML/enc uuid JSON/XML/enc session created PUT sessions/sessionID GET sessions/sessionID

Slide 37

Slide 37 text

Session and game state key value user riak connection save progress sessionid JSON/XML/enc uuid JSON/XML/enc session created PUT sessions/sessionID GET sessions/sessionID

Slide 38

Slide 38 text

Session and game state key value user riak connection save progress sessionid JSON/XML/enc uuid JSON/XML/enc X terminate conn session created PUT sessions/sessionID GET sessions/sessionID

Slide 39

Slide 39 text

Session and game state key value user riak connection save progress sessionid JSON/XML/enc uuid JSON/XML/enc X terminate conn reconnect session created session created ... PUT sessions/sessionID GET sessions/sessionID

Slide 40

Slide 40 text

user created content avatars images etc...

Slide 41

Slide 41 text

In-Game purchases game inventory P a y m e n t transaction log player’s inventory game

Slide 42

Slide 42 text

Social Graphs Player 1 is friends with Player 2 Player 3 Player 2 is friends with Player 3 player 4 player 6 via secondary index CRDT

Slide 43

Slide 43 text

Notification Systems event based messages grab via 2i or m/r asynchronous delivery via: urbanairship kafka / Rabbitmq apple/android servers

Slide 44

Slide 44 text

Support rapid growth

Slide 45

Slide 45 text

in-game statistics A/B testing in-game messaging

Slide 46

Slide 46 text

Level 1 complete

Slide 47

Slide 47 text

To proceed to Level 2 come visit our booth

Slide 48

Slide 48 text

Questions? tsantero on github on twitter @basho.com {