INNOVATION DANK DEVOPS
Jesper Richter-Reichhelm (@jrirei)
BackendClient
BackendClient
BackendClient
BackendClient
DevOps
Some say DevOps is about
• Agile admins
• Faster releases
• Virtualization
• Automation tools
I say it’s about
• Big Picture Mindset
• Reality Feedback
• Learning together
Classic way
Dev
Ops
Wooga way
Dev
Ops
Dev
Ops
DevOps is about
Monster World
SQL
app
lb
SQL
Browser
sql sql
appapp
Things we did
Many small optimisations
Bigger databases…
… many, many more of them
app
slave
master master
slave
1. create new DBs
2. setup replication
3. start using masters
4. cut replication
5. truncate...
app
slave
master master
slave slave
master master
slave
AC
AC
BD
BD
AC
AC
BD
BD
Stateless approach
1+ million users / day
10+ billion requests / month
~10 DB writes / request
> 100,000 DB writes / second
http://www.flickr.com/photos/biblicone/3425903181/sizes/l/in/photostream/
Things we did
Many small optimisations
Bigger databases…
… many, many more of them
… and finally the right thing!
SQL SQL
sql sql
SQL SQL
sql sql
SQL SQL
sql
Rd Rd
rd rd
Rd Rd
rd rd
Rd Rd
rd rd
Rd Rd
rd rd
app appapp app app app app app...
EBSSQLBrowser
lb
lb
lb
lb
app
app
app
app
app
app
app app
EBSSQLBrowser
lb
lb
lb
lb
app
app
app
app
app
app
app app
EBSSQLBrowser
lb
lb
lb
lb
app
app
app
app
app
app
app app
SQL SQL
sql sql
SQL SQL
sql sql
SQL SQL
sql
Rd Rd
rd rd
Rd Rd
rd rd
Rd Rd
rd rd
Rd Rd
rd rd
app appapp app app app app app...
flickr.com/photos/qubodup/9244593352
Innovation
Wooga way
FE Dev
BE Dev
Art
Product
“You build it, you run it.
- Werner Vogels
Freedom
Monster World
Monster World
Magic LandMonster World
Magic Landter World
Magic Land
Server Database
Server Database
One Game Session
Stateful approach
1+ million users / day
4 sessions / user / day
1 DB write / session
~50 DB writes / second
Server
sessionsessionsessionsession
Server
sessionsessionsessionsession
Server
sessionsessionsessionsession
S3
http://www.flickr.com/photos/aigle_dore/
Knowledge
Exchange
DevOpsDevOps ???
Wooga way
FE Dev
BE Dev
Art
Product
Exchanging knowledge
flickr.com/photos/wili/233621595
Being transparent
flickr.com/photos/marcomagrini/698692268
flickr.com/groups/bestfavoriterelayrace/
Rotating jobs
2009
Ruby
LAMP
stateless
BB BI
MW
Redis HH
LAMP
stateless
BB BI
Ruby MW
MW
2
Ruby MW
MW
2
2010
LAMP
stateless
BB BI
Redis HH
Ruby MW
MW
2
2010
Erlang
stateful
ML
2011
Redis
Ruby
LAMP
stateless
BB BI
MW
HH
MW
2
Erlang
stateful
ML
offline
DD
Erlang
stateful
ML
2011
Redis
Ruby
Riak
Javascript
ev. Ruby
1 doc
LAMP
stateless
BB BI
MW
HH
MW
2
PI
PP
MWM
2012
Erlang
Redis
Ruby
stateful
Riak
Javascript
offline
ev. Ruby
1 doc
JRuby
shared
LAMP
multiplay
stateless
BB BI
MW
HH
MW
...
2013
Erlang
Redis
Ruby
stateful
Riak
Javascript
realtime
offline
ev. Ruby
1 doc
JRuby Scala
shared
LAMP
generic
multiplay
st...
2014
Erlang
Redis
Ruby
stateful
Riak
Javascript
realtime
offline
ev. Ruby
1 doc
JRuby Scala
shared
LAMP
generic
multiplay
st...
Erlang
Redis
Ruby
stateful
Riak
Javascript
realtime
offline
ev. Ruby
1 doc
JRuby Scala
shared
Go
Elixir
hybrid
LAMP
generic
...
Erlang
Redis
Ruby
stateful
Riak
Javascript
realtime
offline
ev. Ruby
1 doc
JRuby Scala
shared
Go
Elixir
hybrid
LAMP
generic
...
Python MySQL
Erlang
RedisRuby stateful
Riak
Javascript
realtime
offline
ev. Ruby
1 doc
JRuby
Scala
shared
Go
Elixir
hybrid
g...
Python MySQL
Erlang
RedisRuby stateful
Riak
Javascript
realtime
offline
ev. Ruby
1 doc
JRuby
Scala
shared
Go
Elixir
hybrid
g...
Having trust
“Build projects around
motivated individuals.
Give them the
environment and
support they need,
and trust them to get
the j...
Innovation
Thank you
Questions?
Jesper Richter-Reichhelm (@jrirei)
Questions?
Jesper Richter-Reichhelm (@jrirei)
Innovation dank DevOps (DevOpsCon Berlin 2015)
Innovation dank DevOps (DevOpsCon Berlin 2015)
Innovation dank DevOps (DevOpsCon Berlin 2015)
Innovation dank DevOps (DevOpsCon Berlin 2015)
Innovation dank DevOps (DevOpsCon Berlin 2015)
Innovation dank DevOps (DevOpsCon Berlin 2015)
Innovation dank DevOps (DevOpsCon Berlin 2015)
Innovation dank DevOps (DevOpsCon Berlin 2015)
Innovation dank DevOps (DevOpsCon Berlin 2015)
Innovation dank DevOps (DevOpsCon Berlin 2015)
Innovation dank DevOps (DevOpsCon Berlin 2015)
Innovation dank DevOps (DevOpsCon Berlin 2015)
Innovation dank DevOps (DevOpsCon Berlin 2015)
Nächste SlideShare
Wird geladen in …5
×

Innovation dank DevOps (DevOpsCon Berlin 2015)

1.927 Aufrufe

Veröffentlicht am

“You build it, you run it!” - Wenn Du als Entwickler weisst, dass Du Deine Software selbst betreiben musst, was bist bereit zu tun, um den späteren Betrieb zu vereinfach?
Bei Wooga haben Dutzende von Teams ihre eigene Antwort auf die Frage gesucht und dabei von den Erfahrungen der anderen Teams gelernt. Herausgekommen ist ein großes Experimentierfeld beim Betrieb von Web Services - und eine technologische Innovation, die uns innerhalb weniger Iterationen von einem simplen LAMP-Stack zu lastabhängig skalierenden stateful Servern auf Basis von Erlang oder Akka gebracht hat.

Veröffentlicht in: Technologie
0 Kommentare
4 Gefällt mir
Statistik
Notizen
  • Als Erste(r) kommentieren

Keine Downloads
Aufrufe
Aufrufe insgesamt
1.927
Auf SlideShare
0
Aus Einbettungen
0
Anzahl an Einbettungen
139
Aktionen
Geteilt
0
Downloads
16
Kommentare
0
Gefällt mir
4
Einbettungen 0
Keine Einbettungen

Keine Notizen für die Folie

Innovation dank DevOps (DevOpsCon Berlin 2015)

  1. 1. INNOVATION DANK DEVOPS Jesper Richter-Reichhelm (@jrirei)
  2. 2. BackendClient
  3. 3. BackendClient
  4. 4. BackendClient
  5. 5. BackendClient
  6. 6. DevOps
  7. 7. Some say DevOps is about • Agile admins • Faster releases • Virtualization • Automation tools
  8. 8. I say it’s about • Big Picture Mindset • Reality Feedback • Learning together
  9. 9. Classic way Dev Ops
  10. 10. Wooga way Dev Ops Dev Ops
  11. 11. DevOps is about
  12. 12. Monster World
  13. 13. SQL app lb SQL Browser sql sql appapp
  14. 14. Things we did Many small optimisations Bigger databases… … many, many more of them
  15. 15. app slave master master slave 1. create new DBs 2. setup replication 3. start using masters 4. cut replication 5. truncate data BA AB AB AB AB
  16. 16. app slave master master slave slave master master slave AC AC BD BD AC AC BD BD
  17. 17. Stateless approach 1+ million users / day 10+ billion requests / month ~10 DB writes / request > 100,000 DB writes / second
  18. 18. http://www.flickr.com/photos/biblicone/3425903181/sizes/l/in/photostream/
  19. 19. Things we did Many small optimisations Bigger databases… … many, many more of them … and finally the right thing!
  20. 20. SQL SQL sql sql SQL SQL sql sql SQL SQL sql Rd Rd rd rd Rd Rd rd rd Rd Rd rd rd Rd Rd rd rd app appapp app app app app app app app app appapp app app app appapp app app app app app app app app appapp app app app appapp app app app app app app app app appapp app app app appapp app app app app app app app app appapp app app app appapp app app app app app app app app appapp app app app appapp app app app app app app app app appapp app app app appapp app app app app app app app app appapp app app SQL EBS EBS EBS EBS lb lblblb
  21. 21. EBSSQLBrowser lb lb lb lb app app app app app app app app
  22. 22. EBSSQLBrowser lb lb lb lb app app app app app app app app
  23. 23. EBSSQLBrowser lb lb lb lb app app app app app app app app
  24. 24. SQL SQL sql sql SQL SQL sql sql SQL SQL sql Rd Rd rd rd Rd Rd rd rd Rd Rd rd rd Rd Rd rd rd app appapp app app app app app app app app appapp app app app appapp app app app app app app app app appapp app app app appapp app app app app app app app app appapp app app app appapp app app app app app app app app appapp app app app appapp app app app app app app app app appapp app app app appapp app app app app app app app app appapp app app app appapp app app app app app app app app appapp app app SQL EBS EBS EBS EBS lb lblblb 38 single points of failure
  25. 25. flickr.com/photos/qubodup/9244593352
  26. 26. Innovation
  27. 27. Wooga way FE Dev BE Dev Art Product
  28. 28. “You build it, you run it. - Werner Vogels
  29. 29. Freedom
  30. 30. Monster World
  31. 31. Monster World
  32. 32. Magic LandMonster World
  33. 33. Magic Landter World
  34. 34. Magic Land
  35. 35. Server Database
  36. 36. Server Database One Game Session
  37. 37. Stateful approach 1+ million users / day 4 sessions / user / day 1 DB write / session ~50 DB writes / second
  38. 38. Server sessionsessionsessionsession Server sessionsessionsessionsession Server sessionsessionsessionsession S3
  39. 39. http://www.flickr.com/photos/aigle_dore/
  40. 40. Knowledge Exchange
  41. 41. DevOpsDevOps ???
  42. 42. Wooga way FE Dev BE Dev Art Product
  43. 43. Exchanging knowledge flickr.com/photos/wili/233621595
  44. 44. Being transparent flickr.com/photos/marcomagrini/698692268
  45. 45. flickr.com/groups/bestfavoriterelayrace/ Rotating jobs
  46. 46. 2009 Ruby LAMP stateless BB BI MW
  47. 47. Redis HH LAMP stateless BB BI Ruby MW MW 2 Ruby MW MW 2 2010
  48. 48. LAMP stateless BB BI Redis HH Ruby MW MW 2 2010
  49. 49. Erlang stateful ML 2011 Redis Ruby LAMP stateless BB BI MW HH MW 2 Erlang stateful ML
  50. 50. offline DD Erlang stateful ML 2011 Redis Ruby Riak Javascript ev. Ruby 1 doc LAMP stateless BB BI MW HH MW 2 PI PP MWM
  51. 51. 2012 Erlang Redis Ruby stateful Riak Javascript offline ev. Ruby 1 doc JRuby shared LAMP multiplay stateless BB BI MW HH MW 2 ML DD PI PP MWM PV GX FT KB BI 2
  52. 52. 2013 Erlang Redis Ruby stateful Riak Javascript realtime offline ev. Ruby 1 doc JRuby Scala shared LAMP generic multiplay stateless services BB BI MW HH MW 2 ML DD PI PP MWM PV SBS DYN GX FT KB BI 2 DIV …
  53. 53. 2014 Erlang Redis Ruby stateful Riak Javascript realtime offline ev. Ruby 1 doc JRuby Scala shared LAMP generic multiplay stateless services BB BI MW HH MW 2 ML DD PI PP MWM PV SBS DYN GX FT KB BI 2 DIV … …
  54. 54. Erlang Redis Ruby stateful Riak Javascript realtime offline ev. Ruby 1 doc JRuby Scala shared Go Elixir hybrid LAMP generic multiplay stateless services BB BI MW HH MW 2 ML DD PI PP MWM PV SBS DYN GX FT KB BI 2 DIV … … … … … 2015
  55. 55. Erlang Redis Ruby stateful Riak Javascript realtime offline ev. Ruby 1 doc JRuby Scala shared Go Elixir hybrid LAMP generic multiplay stateless services2015 MySQLPython
  56. 56. Python MySQL Erlang RedisRuby stateful Riak Javascript realtime offline ev. Ruby 1 doc JRuby Scala shared Go Elixir hybrid generic multiplay stateless services Languages DBs State mngt. Misc.
  57. 57. Python MySQL Erlang RedisRuby stateful Riak Javascript realtime offline ev. Ruby 1 doc JRuby Scala shared Go Elixir hybrid generic multiplay stateless services Languages DBs State mngt. Misc. Wooga’s toolbox
  58. 58. Having trust
  59. 59. “Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done.” - Agile Manifesto
  60. 60. Innovation
  61. 61. Thank you
  62. 62. Questions? Jesper Richter-Reichhelm (@jrirei)
  63. 63. Questions? Jesper Richter-Reichhelm (@jrirei)

×