5. Mesos... what is it?
• Deployment system :
• Mesos : smart deployment system
• Ansible, Chef, Puppet… static configuration
• Mesos dynamically allocates resources depending on
cluster load (or other external factors)
5
6. Mesos... what is it?
• Execution platform
• Hosting high level applications
• More flexibility :
• If one slave crashes, app is deployed in new instance
(Marathon)
• HAProxy for load balancing
• Alternative to paying third party Paas solutions
(Heroku,Azure, Openshift…)
6
7. Mesos... what is it?
• Abstraction of cluster resources
• Share resources across multiple frameworks (versions of
the same framework)
• Resource fair sharing : alternative to static partitioning
• Data locality
7
13. • Marathon is a Mesos framework written in Scala
• Provides easy deployment of Docker containers
• Management of long running apps
• Rest API for developers
Marathon
13
25. lb-marathon
• Tool for managing HAProxy
• It subscribes to Marathon’s event bus
• Updates the HAProxy configuration in
real time
• Health checking
• SSL support
25
26. • Deploy 2 instances of cm-voting
• Add external proxy and load balancer : lb-marathon
Demo
26
27. MesosDNS : Service discovery
DOES NOT IDENTIFY SERVICE PORTS :
NEED SRV LOOKUP
QUERY MIGHT BE CACHED
AND NOT CORRECTLY LOADED
NO HEALTH CHECKING
DOES NOT HAVE FAST FAILOVER
27
28. Alternative :
lb-marathon for service discovery
cm-voting
cm-voting
lb-
marathon
lb-
marathon
Marathon
Mongolb-
marathon
28
32. Future<MESOS>
• Multitenant workloads : not enough
isolation -> app performance affected
(multiple apps running in the same
machine)
• Support for databases (Cassandra, HDFS,
Kafka…) Until now mesos -> computed
oriented tasks. Disk management.
32