Upload
xebia-france
View
681
Download
0
Embed Size (px)
Citation preview
Mesos
Apache Mesos, ou comment exploiter les ressources de
votre datacenter ?
#XebiConFrJérôme DoucetJean-Pascal Thiery
#XebiConFr
Bonjour Mesos
#XebiConFr
Histoire : l’avant Mesos
• Les grands du Web utilisent le cloud comme solution élastique
• Dés qu’un besoin de ressource se présente
=> Création de VM
• Twitter constate que seul 10% de leurs ressources facturées sont réellement utilisées
#XebiConFr
Histoire : La genèse
Florian Leibert
Benjamin Hindman Tobi Knaup
2010 : incubator 2013 : top-level
2009
#XebiConFr
Mesos, dans les grandes lignes
• Clustering générique
• Interface de partage de ressources
• Support d’applications distribuées
#XebiConFr
Cas d’usage
• Toutes applications distribuées
• Augmenter la densité applicative
Mesos Appli distribuée
#XebiConFr
REX MesosAvant Mesos :
• QA : 843 composants sur 400 serveurs
• Prod : 843 composants sur 700 serveurs
Après Mesos :
• QA : 1503 composants sur 39 serveurs
1,2 composants / serveurs
12,5 composants / serveurs
X 10
Sources : REX HubSpot sur Singularity
#XebiConFr
Probléme
La vie ce n’est pas ça :
#XebiConFr
Hum Hum…
La vie c’est ça :
#XebiConFr
Sous le capotMesos
#XebiConFr
Partage de ressources
Master
Slave
Slave
Slave
Slave
cpu: 2 mem: 2048 cpu: 4
mem: 16384cpu: 2 mem: 4096
cpu: 32 mem: 131072
#XebiConFr
Framework
Scheduler
Lance des tâches
( )Executor
Exécute les tâchesMaintient le journal de ressources Relaie les tâches aux slaves
Mesos Master
#XebiConFr
Place de marché
Executor
Master
Slave
Slave
Scheduler
Enregistrement Évènements / Offres
#XebiConFr
Executor
Master
Slave
Slave
Scheduler
Tâches Évènements / Offres
Place de marché
#XebiConFr
Mesos lave plus blanc
• Ressources arbitraires par slave
• Intégrées dans les offres
• Tags pour donner du contexte
#XebiConFr
Go production ?
Toile de tente ou
parachute ?
#XebiConFr
DevOps tu seras
#XebiConFr
Points d’attention
• Mesos master
• Scheduler
#XebiConFr
Single point of truth
#XebiConFr
Architecture pour de vrai
Master
Slave Slave Slave Slave Slave
MasterMasterStand By
Stand ByZookeeper
#XebiConFr
Architecture pour de vrai
Master
Slave Slave Slave Slave Slave
MasterMasterStand By
Stand By
Scheduler SchedulerStand By
Zookeeper
#XebiConFr
Une dernière chose
Mais où sont déployé(e)s :• mes applications ?
• mes logs ?
• mes données ?
Service discovery
Centralisation des logs
Système de fichier distribué
#XebiConFr
Mesos et son écosystème
#XebiConFr
Mesos, seul.
#XebiConFr
L’écosystème Mesos
#XebiConFr
Framework : SDK
#XebiConFr
Framework : Les acteursScheduler
• Est notifié par le master de la mise à disposition de ressources.
• Demande l’exécution de tâches au master.
Executor• Réalise les taches soumises par le master.
#XebiConFr
Cron
#XebiConFr
Chronos
#XebiConFr
Init, SystemD
#XebiConFr
Marathon
#XebiConFr
Marathon
#XebiConFr
Marathon
Déploiement élastique Haute disponibilité
Système d’évènementsAPI REST
Service Discovery
#XebiConFr
Un cas d’usage
#XebiConFr
Mesos : orchestrateur de Micro-services
#XebiConFr
Mesos : orchestrateur de Micro-services
Mesos • État des ressources disponibles sur le cluster
Docker• Isolation des services
Marathon• Monitoring technique et applicatif des services• Cartographie des services• Déploiement automatique des services
Auteur aujourd’hui, 11:56 peut être mettre les logos plutôt que d’écrire Messos, docker et marathon
#XebiConFr
Mesos, Jenkins et Docker
Mesos • État des ressources disponibles sur le cluster
Docker• Isolation des Jobs
Jenkins• Execution des Jobs
#XebiConFr
En conclusion ?
• Un must have pour :• Optimiser les ressources
d’un cluster• Les applications
distribuées
• Mais :• Ne fait pas tout
#XebiConFr
Des questions ?
Mesos
Apache Mesos, ou comment exploiter les ressources de
votre datacenter ?
#XebiConFrJérôme DoucetJean-Pascal Thiery