Post on 12-Jul-2015
M E S O S @
Feedback/questions @samsalisbury
W H O A M I ?
• Engineer at OpenTable for 1 year
• New to Mesos
• Mostly working in Go
• @samsalisbury on twitter/github
Diners Restaurants
Many Few
! "
# $
+Canada +Mexico
A H U G E A S P. N E T A P P
Prior to 2012
A H U G E A S P. N E T A P P
V M
Prior to 2012
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
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
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
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.
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
SOA all the things!
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
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
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!
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.
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
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
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
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)
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.
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.
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?
Puppetise all the things! everything.
Mid 2013
Puppetise everything.
Mid 2013
This helped a lot.
Mid 2013
Puppetise everything.
This helped a lot.
Mid 2013
However…
Puppetise everything.
Infrastructure still very complex.
And expensive.
Puppetise everything.
Dn dn dnnnnnn.
Early 2014
AW S
US Prod EU Prod QA
Now
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
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
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
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
Mesos seems really cool so far.
Of course, now we have a new set of problems.
Where is my app running?!
Where is my app running?!
There are 2 basic approaches to this problem.
Service discovery.
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
Fixed addresses?
Enter Mesoshub…
https://github.com/opentable/mesoshub
A web UI over HAProxy.
Integrated with Marathon.
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
Enter Mesoshub…
https://github.com/opentable/mesoshub
Mesoshub is open source.
We would love contributions!
Use both together for maximum flexibility!
The future…
Configuring Mesos clusters with Puppet?
+ = ?
Deployment?
Orchestration?
Stateful apps?
That’s all, folks!