mesos at opentable

55
MESOS @ Feedback/questions @samsalisbury

Upload: samsalisbury

Post on 12-Jul-2015

1.519 views

Category:

Software


0 download

TRANSCRIPT

Page 1: Mesos at OpenTable

M E S O S @

Feedback/questions @samsalisbury

Page 2: Mesos at OpenTable

W H O A M I ?

• Engineer at OpenTable for 1 year

• New to Mesos

• Mostly working in Go

• @samsalisbury on twitter/github

Page 3: Mesos at OpenTable

Diners Restaurants

Page 4: Mesos at OpenTable

Many Few

Page 5: Mesos at OpenTable

! "

# $

+Canada +Mexico

Page 6: Mesos at OpenTable
Page 7: Mesos at OpenTable

A H U G E A S P. N E T A P P

Prior to 2012

Page 8: Mesos at OpenTable

A H U G E A S P. N E T A P P

V M

Prior to 2012

Page 9: Mesos at OpenTable

D ATA C E N T R EV M

A H U G E A S P. N E T

A P P

V M

A H U G E A S P. N E T

A P P

V M

A H U G E A S P. N E T

A P P

V M

A H U G E A S P. N E T

A P P

Prior to 2012

Page 10: Mesos at OpenTable

D ATA C E N T R EV M

A H U G E A S P. N E T

A P P

V M

A H U G E A S P. N E T

A P P

V M

A H U G E A S P. N E T

A P P

V M

A H U G E A S P. N E T

A P P

Prior to 2012

Page 11: Mesos at OpenTable

D ATA C E N T R EV M

A H U G E A S P. N E T

A P P

V M

A H U G E A S P. N E T

A P P

V M

A H U G E A S P. N E T

A P P

V M

A H U G E A S P. N E T

A P P

V M

A H U G E A S P. N E T

A P P

V M

A H U G E A S P. N E T

A P P

V M

A H U G E A S P. N E T

A P P

V M

A H U G E A S P. N E T

A P PPrior to 2012

Page 12: Mesos at OpenTable

D ATA C E N T R EV M

A H U G E A S P. N E T

A P P

V M

A H U G E A S P. N E T

A P P

V M

A H U G E A S P. N E T

A P P

V M

A H U G E A S P. N E T

A P P

V M

A H U G E A S P. N E T

A P P

V M

A H U G E A S P. N E T

A P P

V M

A H U G E A S P. N E T

A P P

V M

A H U G E A S P. N E T

A P P

“Fortnightly” big bang deployments.

Tech constrained to single platform.

One defect blocks all progress.

Difficult to experiment with features.

Not much fun.

Page 13: Mesos at OpenTable

D ATA C E N T R EV M

A H U G E A S P. N E T

A P P

V M

A H U G E A S P. N E T

A P P

V M

A H U G E A S P. N E T

A P P

V M

A H U G E A S P. N E T

A P P

V M

A H U G E A S P. N E T

A P P

V M

A H U G E A S P. N E T

A P P

V M

A H U G E A S P. N E T

A P P

V M

A H U G E A S P. N E T

A P P

“Fortnightly” release cycle.

Big bang deployments.

One defect blocks all progress.

Difficult to experiment with features.

Not much fun.

Early 2012

Page 14: Mesos at OpenTable

SOA all the things!

Page 15: Mesos at OpenTable

A H U G E A S P. N E T A P P

Prior to 2012

C O D E B A S E

Page 16: Mesos at OpenTable

C O D E B A S E

E X T E R N A L A P I S E A R C H R E V I E W S

E M A I L S W H I T E L A B E L

R E S T. P R O F I L E S

R E S E R V-AT I O N A P I

P H O T O S E R V I C E R E S T. A P I

P E R S O N A P I

H O M E PA G E W I D G E T S

C O N T E N T S E R V I C E M E N U A P IF R O N T

D O O R S V C

F E E D B A C K F O R M

AVA I L A B -I L I T Y A P I

L E G A C Y A P I

Now

Page 17: Mesos at OpenTable

C O D E B A S E

E X T E R N A L A P I S E A R C H R E V I E W S

E M A I L S W H I T E L A B E L

R E S T. P R O F I L E S

R E S E R V-AT I O N A P I

P H O T O S E R V I C E R E S T. A P I

P E R S O N A P I

H O M E PA G E W I D G E T S

C O N T E N T S E R V I C E M E N U A P IF R O N T

D O O R S V C

F E E D B A C K F O R M

AVA I L A B -I L I T Y A P I

L E G A C Y A P I

Now

Release whenever a feature is ready.

Use whatever tech is most appropriate.

No one defect blocks all progress.

Easy to experiment with features.

Much more fun!

Page 18: Mesos at OpenTable

C O D E B A S E

E X T E R N A L A P I S E A R C H R E V I E W S

E M A I L S W H I T E L A B E L

R E S T. P R O F I L E S

R E S E R V-AT I O N A P I

P H O T O S E R V I C E R E S T. A P I

P E R S O N A P I

H O M E PA G E W I D G E T S

C O N T E N T S E R V I C E M E N U A P IF R O N T

D O O R S V C

F E E D B A C K F O R M

AVA I L A B -I L I T Y A P I

L E G A C Y A P I

Now

However.

Page 19: Mesos at OpenTable

D ATA C E N T R EV M

E X T E R N A L A P I

V M

S E A R C H

V M

R E V I E W S

V M

E M A I L S

V MR E S E R VAT-

I O N A P I

V M

V MW H I T E L A B E L

V MR E S T.

P R O F I L E S

V MP H O T O

S E R V I C E

V M

R E S T. A P I

V M V M

Page 20: Mesos at OpenTable

D ATA C E N T R EV M

E X T E R N A L A P I

V M

S E A R C H

V M

R E V I E W S

V M

E M A I L S

V MR E S E R VAT-

I O N A P I

V M

V MW H I T E L A B E L

V MR E S T.

P R O F I L E S

V MP H O T O

S E R V I C E

V M

R E S T. A P I

V M V M

Page 21: Mesos at OpenTable

D ATA C E N T R EV M

S E A R C HV MV MV MV M

V MV MV M

R E V I E W S

V M

E M A I L S

V MV MV MV MR E S E R VAT-

I O N A P I

V MV MV MV MW H I T E L A B E L

V MV MV MV MR E S T.

P R O F I L E S

V MV MV MV MP H O T O

S E R V I C E

V M

R E S T. A P I

V ME X T E R N A L

A P I

Page 22: Mesos at OpenTable

D ATA C E N T R EV M

S E A R C HV MV MV MV M

V MV MV M

R E V I E W S

V M

E M A I L S

V MV MV MV MR E S E R VAT-

I O N A P I

V MV MV MV MW H I T E L A B E L

V MV MV MV MR E S T.

P R O F I L E S

V MV MV MV MP H O T O

S E R V I C E

V M

R E S T. A P I

V ME X T E R N A L

A P I

1,231 servers, and rising

(source: Puppetboard)

Page 23: Mesos at OpenTable

D ATA C E N T R EV M

S E A R C HV MV MV MV M

V MV MV M

R E V I E W S

V M

E M A I L S

V MV MV MV MR E S E R VAT-

I O N A P I

V MV MV MV MW H I T E L A B E L

V MV MV MV MR E S T.

P R O F I L E S

V MV MV MV MP H O T O

S E R V I C E

V M

R E S T. A P I

V ME X T E R N A L

A P I

1,231 servers, and rising

(source: Puppetboard)

This is expensive.

Page 24: Mesos at OpenTable

D ATA C E N T R EV M

S E A R C HV MV MV MV M

V MV MV M

R E V I E W S

V M

E M A I L S

V MV MV MV MR E S E R VAT-

I O N A P I

V MV MV MV MW H I T E L A B E L

V MV MV MV MR E S T.

P R O F I L E S

V MV MV MV MP H O T O

S E R V I C E

V M

R E S T. A P I

V ME X T E R N A L

A P I

1,231 servers, and rising

(source: Puppetboard)

This is expensive.And hard to manage.

Page 25: Mesos at OpenTable

D ATA C E N T R EV M

S E A R C HV MV MV MV M

V MV MV M

R E V I E W S

V M

E M A I L S

V MV MV MV MR E S E R VAT-

I O N A P I

V MV MV MV MW H I T E L A B E L

V MV MV MV MR E S T.

P R O F I L E S

V MV MV MV MP H O T O

S E R V I C E

V M

R E S T. A P I

V ME X T E R N A L

A P I

WDWDN?

Page 26: Mesos at OpenTable

Puppetise all the things! everything.

Mid 2013

Page 27: Mesos at OpenTable

Puppetise everything.

Mid 2013

Page 28: Mesos at OpenTable

This helped a lot.

Mid 2013

Puppetise everything.

Page 29: Mesos at OpenTable

This helped a lot.

Mid 2013

However…

Puppetise everything.

Page 30: Mesos at OpenTable

Infrastructure still very complex.

And expensive.

Puppetise everything.

Page 31: Mesos at OpenTable

Dn dn dnnnnnn.

Page 32: Mesos at OpenTable

Early 2014

Page 33: Mesos at OpenTable

AW S

US Prod EU Prod QA

Now

Page 34: Mesos at OpenTable

M A R AT H O N

C H R O N O S

S PA R K

S I N G U L A R I T Y

Page 35: Mesos at OpenTable

M A R AT H O N

D I S C O V E R Y O A U T H S E R V E R

R E S TA U R A N T R E P O R T I N G

AVA I L A B I L I T Y C O M P O N E N T S N E W B L O G M E N U A P I

https://github.com/mesosphere/marathon

Page 36: Mesos at OpenTable

C H R O N O S

U P D AT I N G P E R S I S T E N T C A C H E S

C O O R D I N AT I N G L A R G E

I N T E R D E P E N D E N T D ATA P R O C E S S I N G

J O B S

https://github.com/airbnb/chronos

Page 37: Mesos at OpenTable
Page 38: Mesos at OpenTable

S PA R K

D ATA S C I E N C E M A G I C

http://spark.apache.org

Page 39: Mesos at OpenTable

S I N G U L A R I T Y

E V E R Y T H I N G ?

https://github.com/HubSpot/Singularity

Page 40: Mesos at OpenTable

Mesos seems really cool so far.

Page 41: Mesos at OpenTable

Of course, now we have a new set of problems.

Page 42: Mesos at OpenTable

Where is my app running?!

Page 43: Mesos at OpenTable

Where is my app running?!

There are 2 basic approaches to this problem.

Page 44: Mesos at OpenTable

Service discovery.

Page 45: Mesos at OpenTable

D I S C O V E R Y S E R V E R

( U S E S E T C D )

A P P 1

A P P 2

A P P 3

Announce

Announce

Announce

State

State

State

Data

Data

Data

Page 46: Mesos at OpenTable

Fixed addresses?

Page 47: Mesos at OpenTable

Enter Mesoshub…

https://github.com/opentable/mesoshub

Page 48: Mesos at OpenTable

Enter Mesoshub…

https://github.com/opentable/mesoshub

A web UI over HAProxy.

Integrated with Marathon.

Page 49: Mesos at OpenTable

M E S O S H U B

( U S E S H A P R O X Y )

A P P 1

A P P 2

A P P 3

Data

Data

Data

http://app1.ot.com

http://app2.ot.com

http://app3.ot.com

Data

Data

Data

Page 50: Mesos at OpenTable

Enter Mesoshub…

https://github.com/opentable/mesoshub

Mesoshub is open source.

We would love contributions!

Page 51: Mesos at OpenTable

Use both together for maximum flexibility!

Page 52: Mesos at OpenTable

The future…

Page 53: Mesos at OpenTable

Configuring Mesos clusters with Puppet?

+ = ?

Page 54: Mesos at OpenTable

Deployment?

Orchestration?

Stateful apps?

Page 55: Mesos at OpenTable

That’s all, folks!