Innovation dank DevOps (DevOpsCon Berlin 2015)

2.009 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
5 Gefällt mir
Statistik
Notizen
  • Als Erste(r) kommentieren

Keine Downloads
Aufrufe
Aufrufe insgesamt
2.009
Auf SlideShare
0
Aus Einbettungen
0
Anzahl an Einbettungen
123
Aktionen
Geteilt
0
Downloads
18
Kommentare
0
Gefällt mir
5
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)

×