Top Banner
INNOVATION DANK DEVOPS Jesper Richter-Reichhelm (@jrirei)
76
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Innovation dank DevOps (DevOpsCon Berlin 2015)

INNOVATION DANK DEVOPSJesper Richter-Reichhelm (@jrirei)

Page 2: Innovation dank DevOps (DevOpsCon Berlin 2015)
Page 3: Innovation dank DevOps (DevOpsCon Berlin 2015)

BackendClient

Page 4: Innovation dank DevOps (DevOpsCon Berlin 2015)

BackendClient

Page 5: Innovation dank DevOps (DevOpsCon Berlin 2015)

BackendClient

Page 6: Innovation dank DevOps (DevOpsCon Berlin 2015)

BackendClient

Page 7: Innovation dank DevOps (DevOpsCon Berlin 2015)

DevOps

Page 8: Innovation dank DevOps (DevOpsCon Berlin 2015)

Some say DevOps is about

• Agile admins • Faster releases • Virtualization • Automation tools

Page 9: Innovation dank DevOps (DevOpsCon Berlin 2015)

I say it’s about

• Big Picture Mindset • Reality Feedback • Learning together

Page 10: Innovation dank DevOps (DevOpsCon Berlin 2015)

Classic way

DevOps

Page 11: Innovation dank DevOps (DevOpsCon Berlin 2015)

Wooga way

Dev Ops

Dev Ops

Page 12: Innovation dank DevOps (DevOpsCon Berlin 2015)

DevOps is about

Page 13: Innovation dank DevOps (DevOpsCon Berlin 2015)

Monster World

Page 14: Innovation dank DevOps (DevOpsCon Berlin 2015)
Page 15: Innovation dank DevOps (DevOpsCon Berlin 2015)

SQL

app

lb

SQL

Browser

sql sql

appapp

Page 16: Innovation dank DevOps (DevOpsCon Berlin 2015)
Page 17: Innovation dank DevOps (DevOpsCon Berlin 2015)
Page 18: Innovation dank DevOps (DevOpsCon Berlin 2015)

Things we did

Many small optimisations

Bigger databases…

… many, many more of them

Page 19: Innovation dank DevOps (DevOpsCon Berlin 2015)

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

Page 20: Innovation dank DevOps (DevOpsCon Berlin 2015)

app

slave

master master

slave slave

master master

slave

AC

AC

BD

BD

AC

AC

BD

BD

Page 21: Innovation dank DevOps (DevOpsCon Berlin 2015)

Stateless approach

1+ million users / day

10+ billion requests / month

~10 DB writes / request

> 100,000 DB writes / second

Page 22: Innovation dank DevOps (DevOpsCon Berlin 2015)

http://www.flickr.com/photos/biblicone/3425903181/sizes/l/in/photostream/

Page 23: Innovation dank DevOps (DevOpsCon Berlin 2015)

Things we did

Many small optimisations

Bigger databases…

… many, many more of them

… and finally the right thing!

Page 24: Innovation dank DevOps (DevOpsCon Berlin 2015)
Page 25: Innovation dank DevOps (DevOpsCon Berlin 2015)
Page 26: Innovation dank DevOps (DevOpsCon Berlin 2015)
Page 27: Innovation dank DevOps (DevOpsCon Berlin 2015)
Page 28: Innovation dank DevOps (DevOpsCon Berlin 2015)

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

Page 29: Innovation dank DevOps (DevOpsCon Berlin 2015)

EBSSQLBrowserlb

lb

lb

lb

app

app

app

app

app

app

app app

Page 30: Innovation dank DevOps (DevOpsCon Berlin 2015)

EBSSQLBrowserlb

lb

lb

lb

app

app

app

app

app

app

app app

Page 31: Innovation dank DevOps (DevOpsCon Berlin 2015)

EBSSQLBrowserlb

lb

lb

lb

app

app

app

app

app

app

app app

Page 32: Innovation dank DevOps (DevOpsCon Berlin 2015)

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

Page 33: Innovation dank DevOps (DevOpsCon Berlin 2015)

flickr.com/photos/qubodup/9244593352

Page 34: Innovation dank DevOps (DevOpsCon Berlin 2015)

Innovation

Page 35: Innovation dank DevOps (DevOpsCon Berlin 2015)

Wooga way

FE Dev

BE Dev

Art

Product

Page 36: Innovation dank DevOps (DevOpsCon Berlin 2015)
Page 37: Innovation dank DevOps (DevOpsCon Berlin 2015)

“You build it, you run it. - Werner Vogels

Page 38: Innovation dank DevOps (DevOpsCon Berlin 2015)

Freedom

Page 39: Innovation dank DevOps (DevOpsCon Berlin 2015)
Page 40: Innovation dank DevOps (DevOpsCon Berlin 2015)

Monster World

Page 41: Innovation dank DevOps (DevOpsCon Berlin 2015)

Monster World

Page 42: Innovation dank DevOps (DevOpsCon Berlin 2015)

Magic LandMonster World

Page 43: Innovation dank DevOps (DevOpsCon Berlin 2015)

Magic LandMonster World

Page 44: Innovation dank DevOps (DevOpsCon Berlin 2015)

Magic Land

Page 45: Innovation dank DevOps (DevOpsCon Berlin 2015)

Server Database

Page 46: Innovation dank DevOps (DevOpsCon Berlin 2015)

Server Database

One Game Session

Page 47: Innovation dank DevOps (DevOpsCon Berlin 2015)

Stateful approach

1+ million users / day

4 sessions / user / day

1 DB write / session

~50 DB writes / second

Page 48: Innovation dank DevOps (DevOpsCon Berlin 2015)
Page 49: Innovation dank DevOps (DevOpsCon Berlin 2015)

Server

sessionsessionsessionsession

Server

sessionsessionsessionsession

Server

sessionsessionsessionsession

S3

Page 50: Innovation dank DevOps (DevOpsCon Berlin 2015)

http://www.flickr.com/photos/aigle_dore/

Page 51: Innovation dank DevOps (DevOpsCon Berlin 2015)

Knowledge Exchange

Page 52: Innovation dank DevOps (DevOpsCon Berlin 2015)

DevOpsDevOps ???

Page 53: Innovation dank DevOps (DevOpsCon Berlin 2015)

Wooga way

FE Dev

BE Dev

Art

Product

Page 54: Innovation dank DevOps (DevOpsCon Berlin 2015)

Exchanging knowledge

flickr.com/photos/wili/233621595

Page 55: Innovation dank DevOps (DevOpsCon Berlin 2015)

Being transparent

flickr.com/photos/marcomagrini/698692268

Page 56: Innovation dank DevOps (DevOpsCon Berlin 2015)

flickr.com/groups/bestfavoriterelayrace/

Rotating jobs

Page 57: Innovation dank DevOps (DevOpsCon Berlin 2015)

2009

Ruby

LAMP

statelessBB BI

MW

Page 58: Innovation dank DevOps (DevOpsCon Berlin 2015)

Redis HH

LAMP

statelessBB BI

Ruby MW MW 2

Ruby MW MW 2

2010

Page 59: Innovation dank DevOps (DevOpsCon Berlin 2015)

LAMP

statelessBB BI

Redis HH

Ruby MW MW 2

2010

Page 60: Innovation dank DevOps (DevOpsCon Berlin 2015)

Erlang

statefulML

2011

Redis

Ruby

LAMP

statelessBB BI

MW

HH

MW 2

Erlang

statefulML

Page 61: Innovation dank DevOps (DevOpsCon Berlin 2015)

offline

DD

Erlang

statefulML

2011

Redis

Ruby

Riak

Javascript

ev. Ruby

1 doc

LAMP

statelessBB BI

MW

HH

MW 2

PI

PP

MWM

Page 62: Innovation dank DevOps (DevOpsCon Berlin 2015)

2012

Erlang

Redis

Ruby

stateful

Riak

Javascript

offline

ev. Ruby

1 doc

JRuby

shared

LAMP

multiplay

statelessBB BI

MW

HH

MW 2

ML

DD

PI

PP

MWM PV

GX

FT

KB

BI 2

Page 63: Innovation dank DevOps (DevOpsCon Berlin 2015)

2013

Erlang

Redis

Ruby

stateful

Riak

Javascriptrealtime

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

Page 64: Innovation dank DevOps (DevOpsCon Berlin 2015)

2014

Erlang

Redis

Ruby

stateful

Riak

Javascriptrealtime

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

… …

Page 65: Innovation dank DevOps (DevOpsCon Berlin 2015)

Erlang

Redis

Ruby

stateful

Riak

Javascriptrealtime

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

Page 66: Innovation dank DevOps (DevOpsCon Berlin 2015)

Erlang

Redis

Ruby

stateful

Riak

Javascriptrealtime

offline

ev. Ruby

1 doc

JRuby Scala

shared

Go

Elixir

hybrid

LAMP

generic

multiplay

stateless

services2015

MySQLPython

Page 67: Innovation dank DevOps (DevOpsCon Berlin 2015)

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.

Page 68: Innovation dank DevOps (DevOpsCon Berlin 2015)

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’stoolbox

Page 69: Innovation dank DevOps (DevOpsCon Berlin 2015)

Having trust

Page 70: Innovation dank DevOps (DevOpsCon Berlin 2015)
Page 71: Innovation dank DevOps (DevOpsCon Berlin 2015)
Page 72: Innovation dank DevOps (DevOpsCon Berlin 2015)

“Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done.”

- Agile Manifesto

Page 73: Innovation dank DevOps (DevOpsCon Berlin 2015)

Innovation

Page 74: Innovation dank DevOps (DevOpsCon Berlin 2015)

Thank you

Page 75: Innovation dank DevOps (DevOpsCon Berlin 2015)

Questions?

Jesper Richter-Reichhelm (@jrirei)

Page 76: Innovation dank DevOps (DevOpsCon Berlin 2015)

Questions?

Jesper Richter-Reichhelm (@jrirei)