22. Big and staFc data in MySQL, rest goes to Redis
MySQL
23. Big and staFc data in MySQL, rest goes to Redis
MySQL Redis
24. Big and staFc data in MySQL, rest goes to Redis
MySQL Redis
256 GB data
10% writes
25. Big and staFc data in MySQL, rest goes to Redis
MySQL Redis
256 GB data 60 GB data
10% writes 50% writes
26. Redis saved the day
&$!!!$!!!"
%$#!!$!!!"
%$!!!$!!!"
#!!$!!!"
!"
'()*%!" +,-*%!" ./0*%!" +12*%%" '()*%%" +,-*%%" ./0*%%"
27. Redis saved the day
&$!!!$!!!"
%$#!!$!!!"
%$!!!$!!!"
#!!$!!!"
!"
'()*%!" +,-*%!" ./0*%!" +12*%%" '()*%%" +,-*%%" ./0*%%"
28. We now have more than 2 million users / day
&$!!!$!!!"
%$#!!$!!!"
%$!!!$!!!"
#!!$!!!"
!"
'()*%!" +,-*%!" ./0*%!" +12*%%" '()*%%" +,-*%%" ./0*%%"
29. We now have more than 2 million users / day
&$!!!$!!!"
%$#!!$!!!"
%$!!!$!!!"
AWS service
#!!$!!!" disrupFon
in Ireland
!"
'()*%!" +,-*%!" ./0*%!" +12*%%" '()*%%" +,-*%%" ./0*%%"
53. Stateful servers are not as hard as you think
Server
session
session
session
session
54. Stateful servers are not as hard as you think
Server
session
session
session
session
S3
55. Stateful servers are not as hard as you think
Server
session
session
session
session
S3
56. Stateful servers are not as hard as you think
Server
session
session
session
session
S3
57. Stateful servers are not as hard as you think
Server
session
session
session
session
S3
58. Stateful servers are not as hard as you think
Server
session
session
session
session
S3
59. Stateful servers are not as hard as you think
Server
session
session
session
session
S3
60. Stateful servers are not as hard as you think
Server Server Server
session
session session
session session
session
session
session session
session session
session
S3
61. With stateful server the DB is less used
Ruby Stateless Erlang Stateful
30,000
22,500
15,000
7,500
0
database operations / sec
62. With stateful server the DB is less used
Ruby Stateless Erlang Stateful
30,000
22,500
15,000
700
7,500
0
database operations / sec
63. Deploying with a stateful server
In order to bring up a new version
64. Deploying with a stateful server
In order to bring up a new version
Just deploy it
Hot code replacement is great!
65. There are even more advantages
Faster than Ruby (5,000 rps / node)
-‐ CPU bound
66. There are even more advantages
Faster than Ruby (5,000 rps / node)
-‐ CPU bound
Very few SPOFs
-‐ ... and those are easy to recover
67. There are even more advantages
Faster than Ruby (5,000 rps / node)
-‐ CPU bound
Very few SPOFs
-‐ ... and those are easy to recover
TransacFonal logic
-‐ Invariants instead of explicit error handling
71. A good value system
We’ve learned to value
Small teams over Big teams
72. A good value system
We’ve learned to value
Small teams over Big teams
CollaboraFon over Compe??on
73. A good value system
We’ve learned to value
Small teams over Big teams
CollaboraFon over Compe??on
Generalists over Specialists
74. A good value system
We’ve learned to value
Small teams over Big teams
CollaboraFon over Compe??on
Generalists over Specialists
Effort reducFon over Cost reduc?on
75. A good value system
We’ve learned to value
Small teams over Big teams
CollaboraFon over Compe??on
Generalists over Specialists
Effort reducFon over Cost reduc?on
InnovaFon over Risk mi?ga?on