Apache Mesos apporte une abstraction des ressources CPU, mémoire et stockage, d'un ensemble de machines (physiques ou virtuelles). Un cluster Mesos forme un système distribué, tolérant à la panne et permettant de scaler les services déployés. Venez découvrir les fonctionnalités de Mesos, ses stratégies de déploiement, et l'écosystème Mesosphere qui apporte scalabilité et découverte de services. Nous visiterons un cluster hébergeant une application JS et un backend REST conteneurisés. Pour finir, nous jouerons au Chaos Monkey afin de prouver la résilience du système mis en place.
Speaker : Pablo Lopez, Aurélien Maury, Jean-Baptiste Claramonte et Jean-Pascal Thiery à Devoxx France 2015
66. @XebiaFr @YesWeScale#MesosUniversity
Les contraintes : tags
Identifier les ressources par des tags :
• type de hardware
• emplacement physique (datacenter , rack)
• …
Positionnées au démarrage du slave
$ mesos-slave … --attributes="rack_id:2"
80. @XebiaFr @YesWeScale#MesosUniversity
Service Discovery
Slave 1 Slave 2
UserMgt
Port 31100
UserMgt
Port 31200
UserMgt
Port 31100
CreditApp
Port 31200
UserMgt Port : 10000
CreditApp Port : 20000Marathon
HA Proxy
HA Proxy
Marathon
Bridge
HA Proxy
HA Proxy
Marathon
Bridge
81. @XebiaFr @YesWeScale#MesosUniversity
Service Discovery
Slave 1 Slave 2
UserMgt
Port 31100
UserMgt
Port 31200
UserMgt
Port 31100
CreditApp
Port 31200
UserMgt Port : 10000
CreditApp Port : 20000Marathon
HA Proxy
HA Proxy
Marathon
Bridge
HA Proxy
HA Proxy
Marathon
Bridge
82. @XebiaFr @YesWeScale#MesosUniversity
Service Discovery
Slave 1
Marathon
HA Proxy
HA Proxy
Marathon
Bridge
Slave 2
HA Proxy
HA Proxy
Marathon
Bridge
UserMgt
Port 31100
UserMgt
Port 31200
UserMgt
Port 31100
CreditApp
Port 31200
localhost:10000 {
slave1:31100
slave1:31200
slave2:31100
}
localhost:20000 {
slave2:31200
}
UserMgt Port : 10000
CreditApp Port : 20000
83. @XebiaFr @YesWeScale#MesosUniversity
Service Discovery
Slave 1
Marathon
HA Proxy
HA Proxy
Marathon
Bridge
Slave 2
HA Proxy
HA Proxy
Marathon
Bridge
UserMgt
Port 31100
UserMgt
Port 31200
UserMgt
Port 31100
CreditApp
Port 31200
localhost:10000 {
slave1:31100
slave1:31200
slave2:31100
}
localhost:20000 {
slave2:31200
}
UserMgt Port : 10000
CreditApp Port : 20000